今天的分布式老师给了道exercise,分布式计算与并行计算以及分布式系统与网络系统之间的区别,这个问题的答案貌似就是为什么后悔选这门课的原因:
分布式计算:研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,这些部分是相互独立的,最后把这些计算结果综合起来得到最终的结果。最近的分布式计算项目(伯克利)已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧生命等(老师上课讲的就是这个例子)。
并行计算:从字面意义上讲,是要区别与串行计算的,从实现方式上讲,可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术(借鉴的是工业生产过程中的流水线技术,在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。流水线是Intel首次在486芯片中开始使用的。流水线的工作方式就象工业生产上的装配流水线。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条X86指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。经典奔腾每条整数流水线都分为四级流水,即指令预取、译码、执行、写回结果,浮点流水又分为八级流水),而空间上的并行则是指用多个处理器并发的执行计算,目前计算机中使用的多核技术就是这样。
其实对于并行计算,我最关注的还是大数据处理的方面的计算,这也是当时误选这门课程的原因。目前大数据时代的发展,使得,为了能够有效的从海量数据中提取有价值的信息,人们开发了多种计算模式,有效的整合人类的现有的计算资源,从最开始