并行计算
| 此条目没有列出任何参考或来源。(2009年3月14日) 維基百科所有的內容都應該可供查證。 请协助添加来自可靠来源的引用以改善这篇条目。无法查证的内容可能被提出异议而移除。 |
| 编程范式 |
|---|
|
并行计算(Parallel computing,或稱並行處理、平行計算)一般是指许多指令得以同时进行的计算模式。
目录 |
[编辑] 基本体系结构
相对于串行计算,并行计算可以划分成时间并行和空间并行。时间并行即流水线技术,空间并行使用多个处理器执行并发计算,当前研究的主要是空间的并行问题。以程序和算法设计人员的角度看,并行计算又可分为数据并行和任务并行。数据并行把大的任务化解成若干个相同的子任务,处理起来比任务并行简单。
空间上的并行导致两类并行机的产生,按照麦克·弗莱因(Michael Flynn)的说法分为单指令流多数据流(SIMD)和多指令流多数据流(MIMD),而常用的串行机也称为单指令流单数据流(SISD)。MIMD类的机器又可分为常见的五类:并行向量处理机(PVP)、对称多处理机(SMP)、大规模并行处理机(MPP)、工作站机群(COW)、分布式共享存储处理机(DSM)。
[编辑] 访存模型
并行计算机有以下五种访存模型:均匀访存模型(UMA)、非均匀访存模型(NUMA)、全高速缓存访存模型(COMA)、一致性高速缓存非均匀存储访问模型(CC-NUMA)和非远程存储访问模型(NORMA)。
[编辑] 并行計算模型
不像串行计算机那样,全世界基本上都在使用冯·诺伊曼的计算模型;并行计算机没有一个统一的计算模型。不过,人们已经提出了几种有价值的参考模型:PRAM模型,BSP模型,LogP模型,C^3模型等。
[编辑] 并行计算机网络
并行计算机是靠网络将各个处理机或处理器连接起来的,一般来说有以下几种方式
网络的基本术语:
[编辑] 并行计算机性能度量
[编辑] 并行算法
并行算法是一门还没有发展成熟的学科,虽然人们已经总结出了相当多的经验,但是远远不及串行算法那样丰富。并行算法设计中最常用的的方法是PCAM方法,即划分,通信,组合,映射。首先划分,就是将一个问题平均划分成若干份,并让各个处理器去同时执行;通信阶段,就是要分析执行过程中所要交换的数据和任务的协调情况,而组合则是要求将较小的问题组合到一起以提高性能和减少任务开销,映射则是要将任务分配到每一个处理器上。总之,并行算法还需要相当多完善的地方。 并行算法与串行算法最大的不同之处在于,并行算法不仅要考虑问题本身,而且还要考虑所使用的并行模型,网络连接等等。
- 常见的非数值算法设计方法举例
- 常见的数值算法设计方法举例
[编辑] 参阅
- 訊息傳遞介面 (Message Passing Interface - MPI)
|
|||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||