
并行计算,一般是指许多指令得以同时进行的计算模式。
目录 |
并行计算或称平行计算是相对于串行计算来说的;所谓并行计算可分为时间上的并行和空间上的并行。 时间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。并行计算科学中主要研究的是空间上的并行问题。 空间上的并行导致了两类并行机的产生,按照Flynn的说法分为:单指令流多数据流(SIMD)和多指令流多数据流(MIMD)。我们常用的串行机也叫做单指令流单数据流(SISD)。MIMD类的机器又可分为以下常见的五类:并行向量处理机(PVP),对称多处理机(SMP),大规模并行处理机(MPP), 工作站机群(COW),分布式共享存储处理机(DSM)。
访存模型 并行计算机有以下四种访存模型:均匀访存模型(UMA),非均匀访存模型(NUMA),全高速缓存访存模型(COMA),一致性高速缓存非均匀存储访问模型(CC-NUMA)和非远程存储访问模型(NORMA)。
不像串行计算机那样,全世界基本上都在使用天才计算机科学家冯·诺依曼的计算模型;并行计算机没有一个统一的计算模型。不过,人们已经提出了几种有价值的参考模型:PRAM模型,BSP模型,LogP模型,C^3模型等。
并行计算机是靠网络将各个处理机或处理器连接起来的,一般来说有以下几种方式
网络的基本术语:
并行算法是一门还没有发展成熟的学科,虽然人们已经总结出了相当多的经验,但是远远不及串行算法那样丰富。并行算法设计中最常用的的方法是PCAM方法,即划分,通信,组合,映射。首先划分,就是将一个问题平均划分成若干份,并让各个处理器去同时执行;通信阶段,就是要分析执行过程中所要交换的数据和任务的协调情况,而组合则是要求将较小的问题组合到一起以提高性能和减少任务开销,映射则是要将任务分配到每一个处理器上。总之,并行算法还需要相当多完善的地方。 并行算法与串行算法最大的不同之处在于,并行算法不仅要考虑问题本身,而且还要考虑所使用的并行模型,网络连接等等。
|
查 • 论 • 编 • 历
|
|
|---|---|
| 概论 |
高性能计算 |
| 方式 |
Bit-level parallelism · Instruction level parallelism · Data parallelism · Task parallelism |
| 理论 |
Speedup · Amdahl定理 · Flynn's taxonomy (SISD • SIMD • MISD • MIMD) · Cost efficiency · Gustafson定理 · Karp-Flatt metric |
| 元素 | |
| 协调 | |
| 编程 |
Programming model · Implicit parallelism · Explicit parallelism |
| 硬件 | |
| 软件 |
Distributed shared memory · Application checkpointing · Warewulf |
| APIs |
POSIX Threads · OpenMP · Message Passing Interface (MPI) · Intel Threading Building Blocks |
| 问题 |
Embarrassingly parallel · Grand Challenge · Software lockout |
Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History