并行计算体系结构课件.doc_第1页
并行计算体系结构课件.doc_第2页
并行计算体系结构课件.doc_第3页
并行计算体系结构课件.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论