并行计算体系结构课件.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并行计算或称平行计算是相对于串行计算来说的;所谓并行计算可分为时间上的并行和空间上的并行。
吋间上的并行就是指流水线技术,而空间上的并行则是指用多个处理器并发的执行计算。
并行计算科学中主要研究的是空间上的并行问题。
空间上的并行导致了两类并行机的产牛,按照Flynn的说法分为:单指令流多数据流(SIMD)和多指令流多数据流(MIMD)。
我们常用的串行机也叫做单指令流单数据流(SISD)。
MIMD类的机器又可分为以下常见的五类:并行向虽处理机(PVP),对称多处理机(SMP),大规模并行处理机(MPP),工作站机群(COW),分布式共享存储处理机(DSM)o
单指令流多数据流:英文SIMD就是指Single Instruction Multiple Data,它用一个控制器來控制多个处理器,同时对一组数据(乂称“数据向量”)屮的每一个分别执行相同的操作来实现空间上的并行性——在微处理器屮实现的SIMD则是一个控制器控制多个平行的处理微元,例如Intel 的MMX或SSE,以及AMD的3D Now!技术。
多指令流多数据流:多指令流多数据流的英文是"Multiple Instruction Stream Multiple Data Stream1*,它使用多个控制器来异步地控制多个处理器,从而实现空间上的并行性。
并行处理机pvp:并行向量处理机最大的特点是系统中的CPU是专门定制的向量处理器(VP)O系统述提供共享存储器以及与VP相连的高速交叉开关。
对称多处理机(SMP):对称多处理机(Symmetric Multiprocessor)最主要的特征是系统的对称性,即每个处理器可以以同等代价访问各个共亨存储器。
显然,SMP的访存模型一定是均匀访存模型(UMA)的。
kkkk优点是并行度很高,但是由于系统总线的带宽是有限的,故处理器的数冃是受限的。
大规模并行处理机(MPP):大规模并行处理机(Massively Parallel Processor)中,每一个节点由商品(微处理器),局部存储器(分布式存储器)及网络接口电路构成;节点间以定制的高速网络互联。
MPP是一种界步的MIMD,因为它的程序有多个进程,它们分布在各个微处理器上,每个进程冇自己独立的地址空间,进程Z间以消息传递进行相互通信。
工作站机群(COW):工作站机群每一个节点都是一个完整的工作站,特别地,大规模并行处理机(MPP)可以近似的看成为一个没有木地磁盘的COWo COW的网络接口是松耦合的,即它是接到I/O总线上而不是像MPP那样直接接到处理器存储总线上的。
分布式共享存储处理机(DSM):分布式共享内存(DSM),也被视为一种分散的全域地址空间(Distributed Global Address Space),属于计算机科学的一•种机制,可以透过硬件或软件來实作。
分布式共亨内存主要使用在从集电脑中,从集电脑中的每一个网络结点(node)都有非共享的内存空间与共享的内存空间。
该共享内存的位置空间(address space)在所有结点是一致的。
简单说,同一时间下在结点A读取0x00001234会和结点B读取0x00001234得到一样的值。
访存模型并行计算机冇以下四种访存模型:均匀访存模型(UMA),非均匀(NUMA), 全高速缓存访存模型(COMA), —致性高速缓存非均匀存储访问模型(CGNUMA)和非远程存储访问模
型(NORMA)。
均匀访存模型(UMA):均匀访存模型(UMA)中,所有的物理存储器被均匀共享,即处理器访问它们是时间是一样的。
这种系统因为高度的资源共享也被称为紧耦合系统(Tightly Coupled System) o 实例
1.对称多处理机(SMP);
2.非对称多处理机:和对称处理机不同的是,这种处理机中处理器有主从Z分,主处理器可以操纵I/O并执行操作系统代码,可以监控从处理器执行用八进程,但是从处理器则不行,只能受主处理器的监视。
非均匀访存模型(NUMA):非均匀访存模型(NUMA)的特点是:被共享的存储器物理上是
分布式的,所有这些存储器的集合就是全局地址空间。
所以处理器访问这些存储器的时间是不一样的,显然访问本地存储器的速度要比访问全局共亨存储器或远程访问外地存储器要快些。
另外,NUMA屮存储器可能是分层的:木地存储器,群内共享存储器,全局共享存储器。
全高速缓存访存模型(Cache-Only Memory Access, COMA):是NUMA的一种特例,其屮各处理器节点无存储层次之分,各个处理器所带的高速缓存就构成的全部地址空间。
一致性高速缓存非均匀存储访问模型(CC-NUMA):非均匀访存模型(NUMA)的特点是:被共享的存储器物理上是分布式的,所冇这些存储器的集合就是全局地址空间。
所以处理器访问这些存储器的吋间是不一样的,显然访问本地存储器的速度要比访问全局共享存储器或远程访问外地存储器要快些。
另外,NUMA中存储器可能是分层的:本地存储器,群内共亨存储器,全局共亨存储器。
一致性高速缓存非均匀存储访问模型
—•致性高速缓存非均匀存储访问模型(CC-NUMA):它最大的特点是,每一个节点是一个对称多处理机(SMP),实际上是一个分布式共享存储处理机(DSM)多处理机系统。
在商业屮,人多数访存都在本地存储器屮进行,而网络上传输的数据大多是用于高速缓存的无效性。
非远程存储访问模型:非均匀访存模型(NUMA)的特点是:被共亨的存储器物理上是分布式的,所有这些存储器的集合就是全局地址空间。
所以处理器访问这些存储器的时间是不一样的,显然访问本地存储辭的速度要比访问全局共享存储器或远程访问外地存储器要快些。
另外,NUMA中存储器可能是分层的:本地存储器,群内共享存储器,全局共享存储器。
一致性高速缓存非均匀存储访问模型
一致性高速缓存非均匀存储访问模型(CC-NUMA):它最大的特点是,每一个节点是一个对称多处理机(SMP),实际上是一个分布式共享存储处理机(DSM)多处理机系统。
在商业小,大多数访存都在本地存储器中进行,而网络上传输的数据人多是用于高速缓存的无效性。
平行计算模型
不像串行计算机那样,全世界基木上都在使用天才计算机科学家冯•诺依曼的计算模型; 并行计算机没有一个统一的计算模型。
不过,人们己经提出了儿种有价值的参考模型:PRAM 模型,BSP模型,LogP模型,CT模型等。
PRAM 模型:PRAM (Parallel Random Access Machine)模型是单指令流多数据流(SIMD)并行机中的一种具有共亨存储的模型。
它假设有一个无限人容量的共亨存储器,并且有多个功能相同的处理器,在任意时刻处理器可以访问共享存储单元。
根据是否可以同时读写,它又分为以下三类:PRAM-EREW, PRAM-CREW, PRAM-CRCW (贞中C 代表Cuncurrcnt, 意为允许并发操作,E-代表Exclusive,意味排斥并发操作)。
在PRAM屮有一个同步吋钟,所有的操作都是同步进行的。
缺点与优点
缺点是不现实,首先容量无限大的存储器是不存在的,ifljTL由于各方面的原因,全局访存通常要比预想的慢。
其次,他忽略了通信带宽的影响。
优点是结构简单,便于进行理论分析。
变体具冇局部存储器的PRAM模型称作LPRAM模型,具有异步时钟的PRAM模型称作APRAM 模型。
BSP模型:整体同步并行计算模型(Bulk Synchronous Parallel Computing Model),又名大同步模型或BSP模型,由哈佛人学Viliant和牛津人学Bill McColl提出。
BSP的创始人是英国著名的计算机科学家Viliant,他希望像冯•诺伊曼体系结构那样,架起计算机程序语言和体系结构间的桥梁,故乂称作桥模型(Bridge Model)o该模型使用了三个属性描述:模块(Componen⑸、选路器(Router)和同步路障器执行吋间L。
超级步(SuperStep)
在一个超级步屮,各处理器均执行局部操作,并且可以通过选路器接收和发送消息,如果一个处理器至多可以接收/发送消息的数目是h条,那么该模型就是h-Relation的。
若设g为信道的带宽之倒数,那么容易得出,传送h条消息所需要的时间是gh+So如果一个超级步中某个处理器的计算没有完成,那么下一个超级步就被分给该处理器继续进行。
注意,在实际计算中,g 常常可用每秒处理器所能完成局部计算数目和每秒选路器传送数据量的比來代替。
并行宽松度(Parallel Slackness)
所冇PRAM上的算法均可在BSP上模拟,每个BSP处理器所能模拟的PRAM数冃即成为并行宽松度。
其他特点
1.BSP放弃了程序局部性原理,从而简化的程序与实现的设计。
这一点在并行计算中往往是一个好的特点,注意到一个大规模的计算中对能需要很多处理器,但实际上我们却不可能提供那么多处理器,于是一个处理器可能会被映射到多个虚拟进程,此时,附带的程序局部性原理反而会束缚处理器对存储器的访问。
2.选路器使用P2P的方式进行通信,从而有效的避免了拥塞.
LogP模型:LogP是由人卫•卡勒等人提出的,它使用了L,O,G,P四个参数来描述这个模型。
L (Latency)
表示信息从源到n的地所需的吋间;
O (Overhead)
表示处理器接受或发送一条消息所需额外开销,并且在此期间处理器不能做作任何操作;
G (Gap)
表示处理器连续进行两次发送或接收消息之间必须有的时间间隔;
P (Processor)
表示处理器的数目。
由上可以看出,LogP模型一方面充分讨论了网络的通信特性,另一方面却放弃了对网络拓扑的讨论。
在LogP屮没有出现超级步的概念,这是因为LogP屮是消息同步的,也就是说, 一旦消息到达了处理器我们就可以使用,而不必要等到下一个超级步。
并行计算机网络
并行计算机是靠网络将各个处理机或处理器连接起来的,一般来说有以下几种方式
1.静态连接:一维线性连接,网孔连接,超立方体连接,树连接,立方环连接,洗牌交换连接,蝶形连接,金字塔连接等。
2.动态连接:总线连接(Bus),交叉开关(CS),多级互联网络(MIN)o
网络的基本术语:
1.节点度
2.网络直径
3.对剖宽度
4.嵌入
并行计算机性能度量
1.基本指标
1.执行时间
2.工作负载
3.存取性能
2.加速比评测
1.Amdahl 定理
2.Gustafson 定理
3.Sun-Ni 定理
3.可扩放性标准
1.等效率标准
2.等速度标准
3.平均延迟标准
并行算法
并行算法是一门还没冇发展成熟的学科,虽然人们已经总结出了相当多的经验,但是远远不及串行算法那样丰富。
并行算法设计中最常用的的方法是PCAM方法,即划分,通信,组合,映轨首先划分,就是将一个问题平均划分成若干份,并止各个处理器去同时执行;通信阶段,就是要分析执行过程屮所要交换的数据和任务的协调情况,而纽合则是要求将较小的问题组合到一起以提高性能和减少任务开销,映射则是要将任务分配到每一个处理器上。
总Z,并行算法还盂要相当多完善的地方。
并行算法与串行算法蝕大的不同Z处在于,并行算法不仅要考虑问题本身,而且还要考虑所使用的并行模型,网络连接等等。
•常见的非数值算法设计方法举例
o 并行播送与并行求和
o 并行排序算法;
0 并行选择算法:所谓选择问题就是在一•给定的序列中选择出某组(个)满足给定条件的元素。
0 关于图论中的-•些并行算法:
图论作为一门到近代才发展起來的科学。
在图论中冇很多关于如何设计算法的问题,比如求最小生成树,单源最短路径等等。
事实上,这些算法屮有很多是可以并行化的,而且并行化时运用的思想具有很大的启发性,下而是儿个常见的并行图论算法。
0 关于串处理的并行算法:
KMP算法的并行化。
•常见的数值算法设计方法举例
0 并行快速傅里叶变换。
Amdahl定理
加速比并行计算中的加速比是用并行前的执行速度和并行麻的执行速度之比来表示的,它表示了在并行化之后的效率捉升情况。
Amdahl定理是固定负载(计算总量不变时)是的量化标准。
可用公式:来表示。
式中Ws,Wp 分别表示问题规模的串行分量(问题中不能并行化的那一部分)和并行分量,p表示处理器数量。
Amdahl定理是个悲观的结论,只要注意到当时,上式的极限是,其中,W = Ws + Wp。
这意味着无论我们如何增大处理器数冃,加速比是无法高于这个数的。
事实果真如此吗?请看Gustafson 定理和Sun-Ni定理。
Gustafson 定理
事实上,在很多计算中,计算负载是可以改变的,我们在增加处理器的同吋增加问题规模, 那么就得出了Gustafson定理的加速比公式:。
注意公式中,问题规模在并行后变为了Ws + pWp,即增加了可并行部分的问题规模。
Gustafson定理无疑给我们带來了希望,但是在实际计算中,由于存储空间受限,故我们的并行部分问题规模常常不能增加p倍,卜面的Sun-Ni定理就此对Gustafson定理做了一点修正。
Sun-Ni定理
Sun-Ni定理中引入了一个函数G(p)表示存储容量受限时工作负载的增加量。
那么Sun-Ni的加速比公式可表示为:O
在Gustafson定理屮,加速比与处理器数几乎呈线性关系,这是Sun-Ni定理中G(p)=p的情况;而如果G(p)=l,贝是表明工作量无增加,即Amdahl定理中的情况。