考虑下述问题:
图书馆将一些书上架,可以有多种方式。假定将书按类上架,而将书架依据在书库中的位置分成一些组。
若由一工人单独完成,不能按某一要求的速度完成任务。
若由多个工人完成, 假定每次一人仅往书架上放一本书。
(1)将所有的书籍平均分配给每个人去完成。这种划分方法不是太有效,原因是每个工人为了将书上架必须走遍所有的书架。(2)将所有书架分成一些组,且平均分配给各个工人负责,同时将所有图书平均分配给每个工人去上架。如果工人发现一本书属于自己所负责的书架上,则将其放入书架。否则,将这本书传给所在书架对应的工人。这种分法对应的效率比较高。
上述例子说明:将一个任务划分成一些子任务,并分配给多个工人去完成,工人们相互合作、并在需要时相互传递图书,这种和谐协调的工作方式可较快地完成任务。
并行计算就是严格地按照上述原理来完成的。
上述例子涉及到了与并行计算相关的两个概念:
任务划分(task partitioning): 将图书平均分配给所有工人为任务划分的一个例子。
通信(communication): 工人之间传递图书为子任务通信的例子。
并行计算的定义:
并行计算是指同时对多个任务或多条指令、或对多个数据项进行处理。完成此项处理的计算机系统称为并行计算机系统,它是将多个处理器(可以几个、几十个、几千个、几万个等)通过网络连接以一定的方式有序地组织起来(一定的连接方式涉及网络的互联拓扑、通信协议等,而有序的组织则涉及操作系统、中间件软件等)。并行计算的主要目的:一是为了提供比传统计算机快的计算速度;二是解决传统计算机无法解决的问题。
同义词:高性能计算、超级计算等
|