并行硬件

在并行计算中,Flynn分类法经常用来对计算机体系结构进行分类。按照它能够同时管理的指令数目和数据流数目来对系统分类。因此典型的冯诺依曼系统是单指令流单数据流系统(SISD,single instructionn single data)因为它一次执行一条指令,一次存取一个数据项。

(1)SISD

 

 

 一个控制单元和一个ALU。

(2)SIMD

 

 

 通过对多个数据执行相同的指令从而实现在多个数据流上的操作。一个抽象的SIMD系统可以认为有一个控制单元和多个ALU。一条指令从控制单元广播到多个ALU,每个ALU或者在当前的数据上执行指令或者处于空闲状态。

SIMD适合于对处理大型数组的简单循环实现并行化。通过将数据分配给多个处理器,然后让各个处理器使用相同的质量来操作数据子集实现并行化。通过记那个数据分配给多个处理器,然后让各个处理器使用相同的指令来操作数据子集实现并行化,这种并行称为数据并行。SIMD并行性在大型数据并行问题上非常有用,但是在处理其他并行问题时并不优秀。且每个ALU没有指令存储器。

(3)MIMD

MIMD系统支持同时多个指令流在多个数据流上操作。因此,MIMD系统通常包括一组完全独立的处理单元或者核,每个处理单元(或核)都有自己的控制单元和ALU。不同于SIMD,MIMD系统通常是异步的,即各个处理器能够按它们自己的节奏运行。在许多MIMD系统中,没有全局时钟,两个不同处理器上系统数据是没有联系的。

 

 

共享内存系统

 

 

 

其中又分为一致内存访问(Uniform Memory Access  UMA)和非一致内存访问(Nonuniform Memory Access  NUMA

 

 

 

 

 

 

 

 

 

 分布式内存系统

 

 

 

 

 

 优点:

1.随着处理器核数的增加,内存是可以动态增加的。内存的增加量随增加处理器的量成比例的增加。

2.每个处理器可以快速访问自己的内存,没有干扰,也没有试图保持全局一致性的通信开销。

缺点:

1.程序员负责与处理器之间数据通信的许多细节

2.非统一内存访问时间,驻留在远程节点上的数据访问时间比节点本地数据更长

 

posted @ 2020-05-14 09:24  caishunzhe  阅读(467)  评论(0编辑  收藏  举报