分布式系统中的辩证对立统一概念与方法

2016-12-21 00:33彭立志孙丽娟乔善平
计算机教育 2016年9期
关键词:对立统一网络工程

彭立志 孙丽娟 乔善平

摘要:从分布式系统课程中归纳、总结出一些对立统一的概念和方法,指出这些概念和方法是分布式系统课程的精髓所在,它们对于学生理解、掌握分布式系统至关重要。阐明学习分布式系统中辨证概念与方法的方法,通过有意识地学习这些知识点和方法,能有效地锻炼学生的辨证思维能力。

关键词:分布式系统;网络工程;对立统一

0.引言

分布式系统作为网络工程专业的一门专业课,有着深厚的历史背景。从计算机网络诞生以来,分布式系统作为计算机网络资源共享的软件手段,一直伴随着网络技术一起成长。从最初的文件共享,到现代的大规模分布式计算、高性能并行计算,以及近年的云计算,无一不架构在分布式系统理论基石之上。近年来,国内各高校网络工程专业纷纷开设这一原理性很强的课程。原理性强意味着枯燥、不好学,因此探索学习该课程的有效方法,已成为分布式系统课程教学研究的一个重要课题。不少学者就这一课程的教学方法和学习方法进行了深入的研究。

纵观分布式系统课程的知识体系,对立统一的概念贯穿始终,几乎每一项大的知识点均包含对立统一概念,这说明分布式系统本身就是客观综合事物。这些成对出现的对立统一概念构成了分布式系统课程的概念体系,有些概念对甚至在多个知识点中出现,并支撑这些知识点的逻辑推理方法。例如“分布式”与“集中式”这一对概念,贯穿整个课程知识体系,在时钟同步、互斥、进程组织、故障处理、安全等各个方面中都有所涉及。理解这一具有鲜明特点的概念体系是学习分布式系统的关键。本文就课程中重要的对立统一概念和方法进行详细讨论。

1.分布式与集中式

分布式与集中式是两种对立统一的思维方式,是分布式系统课程中最重要的对立统一概念。分布式方法是在组织分布式系统的对象时,以“民主”的方式进行决策管理;而集中式方法正好相反,以“集权”的方式对分布式系统进行决策管理。以下结合几个重要的示例阐述这一对立统一概念。

1.1集中式物理时钟同步算法与分布式物理时钟同步算法

集中式物理时钟同步算法主要有Cristian算法和Berkeley算法,这两种算法有个共同的特点,就是系统中都有一台时钟服务器与标准UTC时间对时,所有工作站的时钟都以该服务器为准。换言之,时钟服务器在系统中充当集中式的决策者。例如Cristian算法同步过程如下:

时间服务器接收UTC时间,其他机器必须与时间服务器同步;

每台机器以不大于δ(2ρ)秒的频率向时间服务器发送消息询问当前时间,其中p为时钟机器的时钟精度,δ是最小时钟误差;

时间服务器收到消息后返回当前时间CUTC;

发送者收到服务器消息后将时钟调整为CUTC。

相反,分布式物理时钟同步算法中没有决策者,所有机器对时以一种大家共同做决策的方式进行,典型算法是平均值算法,其同步过程如下:

将时间划分为固定长度的再同步间隔R;

第i次同步开始于TO+iR,结束于TO(i+l)R;

每次同步间隔开始,每台机器广播自己的时间;

对于某一具体的机器,当所有的同步广播都到达后,它根据所有的时间执行某一平均算法得到新值,再根据新值调整时钟。

1.2集中式互斥算法和分布式互斥算法

集中式互斥算法中,所有进程进入临界区前都要向决策进程申请,由决策进程决定其是否进入临界区。其过程如下:

选举一个协调者;

任何一个进程进入临界区前,向协调者发送申请消息;

协调者根据临界区的使用情况同意或拒绝申请者的请求;

协调者拒绝申请者的方式可以发送拒绝消息或者不应答,但都将请求放人队列中。

而分布式互斥算法中,没有决策进程,临界区的每次使用都要通过所有进程共同决策,其互斥过程如下:

一个进程进入临界区前,先构造一个含有目标临界区名字、本进程号和当前时间的消息,发给所有进程;

一个进程收到另一个进程的请求消息时,根据自己与目标临界区的状态关系反应:若接受者不在也不想进入临界区,发送OK消息;接受者已经在临界区则不应答,只是把请求放人队列;接受者亦欲进入临界区,则将收到的请求时间戳与它发送的请求时间戳比较,时间靠前的获胜进入;

发送者一直等待其他所有进程返回OK消息,之后进入临界区,使用完毕向队列中的进程发送OK消息,删除自己的任务。

从这两个例子中我们不难看到,集中式方法的共同特点是系统中有一个决策管理者,它决定所有系统的行为,而分布式方法的特点是系统中没有决策管理者,系统的所有决策由大家共同做出。实际上分布式与集中式概念不仅仅体现在这两个知识点中,在整个课程的知识点中,有很多知识点体现了这一对立统一概念,表1简单列出了这些知识点,以及它们包含的集中式与分布式方法。

2.平等结构与等级结构

平等结构与等级结构是分布式系统中对象组织的两种对立统一方式。平等结构中所有成员的地位是平等的,系统的决策由大家共同确定,方法上对应分布式方法。而等级结构中成员存在隶属关系或者上下级关系,形成某种层级结构,方法上对应集中式方法,或者分层方法,特别是分层方法,在复杂的、大规模的分布式系统中被广泛使用。下面以进程组为例说明这一对概念。

平等组对应分布式概念,平等组中所有成员地位是相同的,所有决定由所有成员共同作出,即当有进程需要加入或退出进程组时,由组中成员投票表决。而等级组对应集中式概念,组内有一个协调者进程,其他则是工作者,组内关系和动作由协调者决定。图1显示了平等组与等级组的区别。表2列出了课程中蕴含等级思想的知识点。

3.同步与异步

同步与异步是分布式系统中另一对重要的对立统一概念。同步概念是指调用者在执行调用之后,进人等待状态,一直等到被调用者返回结果。而异步概念是指调用者调用之后不进行等待,继续执行其他工作,当被调用者返回结果时,调用者产生中断,处理结果。同步和异步模式在计算机系统中广泛应用,分布式系统中也有大量应用。下面以同步RPC和异步RPC为例阐明这一对概念。

如图2所示,(a)为同步RPC,(b)为异步RPC。同步RPC调用者(客户端)给远程服务器进程发送远程过程调用请求后,进入阻塞状态,等待服务器返回的结果,直到服务器结果发送回来,客户端才解除阻塞。而异步RPC中,客户端不需要等到结果返回,只需要服务器返回接收请求消息的确认即可。

从上面例子可以看出,同步就是客户端需要“等待”,而异步则是客户端不需要“等待”或等待时间短。表3列出了分布式系统课程中涉及同步与异步概念的知识点。

4.时间与空间性能

分布式系统课程中,大量的知识点涉及算法的分析。往往一个问题有多种算法解决方案,而不同的算法有不同的特点和不同的性能表现,课程要求学生不仅掌握算法的基本原理,还需要对算法进行性能分析,通过这种算法的性能分析,锻炼学生分析问题、解决问题的能力。在分布式系统各个问题的算法解决方案中,充满了辩证的逻辑,往往一种算法具有某一方面性能的优势,却丧失另一方面的优势。这一辩证观点及基于该观点的分析方法,是课程的一个重要特点。

时间和空间是计算机科学中一对永恒的矛盾。分布式系统中同样充斥着效率(时间性能)与存储(空间性能)的矛盾。一般来说,一种算法如果有较好的时间性能,往往以牺牲部分空间性能为代价;相反,如果算法具有较好的空间性能,则要牺牲一定的时间性能。因此,在进行算法分析的时候,首先要对算法的时间与空间性能进行辩证分析,分析算法的时空优缺点,再针对具体问题进行合理的算法选择。

5.教学中的应用

分布式系统课程中上述辩证概念和方法贯彻课程始终,在教学中强调与利用这样的概念方法,将起到事半功倍的教学效果。在课堂教学中强调辩证概念和方法,学生容易理解和掌握课程的知识点,例如分布式和集中式概念,在多个知识点的教学中强调后,学生就有意识地利用这一对辩证概念去分析未知的分布式系统知识点,并在实践中应用这一对概念分析和解决问题。另外,在教学中引导学生进行辩证概念方法的分析,能有效训练他们的辩证思维,增强其分析问题的能力。

6.结语

分布式系统课程的基本算法和原理淋漓尽致地体现了辩证法的思维:首先,事物总是存在两面性;其次,一个问题的任何解决方案都不是完美的,对其分析时需要从正反两方面分析其优缺点。以这样一种辩证的思维方式学习、认识这门课程,才能真正做到举一反三。

猜你喜欢
对立统一网络工程
新工科背景下网络工程专业实践教学体系构建
网络工程专业课程中的“双创”教育与实践
论网络工程中安全防护技术发展的研究
地方本科院校网络工程专业实践教学体系构建
基于VR技术在网络工程虚拟仿真实训平台的应用研究
网络工程中的安全防护技术
极限思想的辩证思考与理解
《荒原》主题的辩证法解读
垄断与竞争的辩证分析及对我国社会主义市场经济建设的启示
跨越矛盾