1.毕业设计 我想阐述一下并行计算的发展
从20世纪40年代开始的现代计算机发展历程可以分为两个明显的发展时代:串行计算时代、并行计算时代。
每一个计算时代都从体系结构发展开始,接着是系统软件(特别是编译器与操作系统)、应用软件,最后随着问题求解环境的发展而达到顶峰。 并行计算机是由一组处理单元组成的。
这组处理单元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。因此,并行计算机的两个最主要的组成部分是计算节点和节点间的通信与协作机制。
并行计算机体系结构的发展也主要体现在计算节点性能的提高以及节点间通信技术的改进两方面。 节点性能不断进步 20世纪60年代初期,由于晶体管以及磁芯存储器的出现,处理单元变得越来越小,存储器也更加小巧和廉价。
这些技术发展的结果导致了并行计算机的出现。这一时期的并行计算机多是规模不大的共享存储多处理器系统,即所谓大型主机。
IBM 360是这一时期的典型代表。 到了20世纪60年代末期,同一个处理器开始设置多个功能相同的功能单元,流水线技术也出现了。
与单纯提高时钟频率相比,这些并行特性在处理器内部的应用大大提高了并行计算机系统的性能。伊利诺依大学和Burroughs公司此时开始实施Illiac Ⅳ计划,研制一台64颗CPU的SIMD主机系统,它涉及到硬件技术、体系结构、I/O设备、操作系统、程序设计语言直至应用程序在内的众多研究课题。
不过,当一台规模大大缩小的原型系统(仅使用了16颗CPU)终于在1975年面世时,整个计算机界已经发生了巨大变化。 首先是存储系统概念的革新,提出虚拟存储和缓存的思想。
以IBM 360/85和IBM 360/91为例,两者是属于同一系列的两个机型,IBM 360/91的主频高于IBM 360/85,所选用的内存速度也较快,并且采用了动态调度的指令流水线。但是,IBM 360/85的整体性能却高于IBM 360/91,惟一的原因就是前者采用了缓存技术,而后者则没有。
其次是半导体存储器开始代替磁芯存储器。最初,半导体存储器只是在某些机器中被用作缓存,而CDC7600则率先全面采用这种体积更小、速度更快、可以直接寻址的半导体存储器,磁芯存储器从此退出了历史舞台。
与此同时,集成电路也出现了,并迅速应用到计算机中。元器件技术的这两大革命性突破,使得Illiac Ⅳ的设计者们在底层硬件以及并行体系结构方面提出的种种改进都大为逊色。
处理器高速发展 1976年Cray-1问世以后,向量计算机从此牢牢地控制着整个高性能计算机市场15年。Cray-1对所使用的逻辑电路进行了精心的设计,采用了我们如今称为RISC的精简指令集,还引入了向量寄存器,以完成向量运算。
这一系列技术手段的使用,使Cray-1的主频达到了80MHz。 微处理器随着机器的字长从4位、8位、16位一直增加到32位,其性能也随之显著提高。
正是因为看到了微处理器的这种潜力,卡内基·梅隆大学开始在当时流行的DEC PDP-11小型计算机的基础上研制一台由16台PDP-11/40处理机通过交叉开关与16个共享存储器模块相连接而成的共享存储多处理器系统C.mmp。 从20世纪80年代开始,微处理器技术一直在高速前进。
稍后又出现了非常适合于SMP方式的总线协议。而伯克利加州大学则对总线协议进行了扩展,提出了Cache一致性问题的处理方案。
从此,C.mmp开创出的共享存储多处理器之路越走越宽。现在,这种体系结构已经基本上统治了服务器和桌面工作站市场。
通信机制稳步前进 同一时期,基于消息传递机制的并行计算机也开始不断涌现。20世纪80年代中期,加州理工学院成功地将64个i8086/i8087处理器通过超立方体互连结构连结起来。
此后,便先后出现了Intel iPSC系列、INMOS Transputer系列,Intel Paragon以及IBM SP的前身Vulcan等基于消息传递机制的并行计算机。 20世纪80年代末到90年代初,共享存储器方式的大规模并行计算机又获得了新的发展。
IBM将大量早期RISC微处理器通过蝶形互连网络连结起来。人们开始考虑如何才能在实现共享存储器缓存一致的同时,使系统具有一定的可扩展性。
20世纪90年代初期,斯坦福大学提出了DASH计划,它通过维护一个保存有每一缓存块位置信息的目录结构来实现分布式共享存储器的缓存一致性。后来,IEEE在此基础上提出了缓存一致性协议的标准。
20世纪90年代至今,主要的几种体系结构开始走向融合。 属于数据并行类型的CM-5除大量采用商品化的微处理器以外,也允许用户层的程序传递一些简单的消息。
Cray T3D是一台NUMA结构的共享存储型并行计算机,但是它也提供了全局同步机制、消息队列机制,并采取了一些减少消息传递延迟的技术。 随着微处理器商品化、网络设备的发展以及MPI/PVM等并行编程标准的发布,集群架构的并行计算机出现开始。
IBM SP2系列集群系统就是其中的典型代表。在这些系统中,各个节点采用的都是标准的商品化计算机,它们之间通过高速网络连接起来。
1.2 有限元并行计算的发展和现状 目前,在计算力学领域内,围绕着基于变分原理的有限元法 和基于边界积分方程的边界元法,以及基于现在问世的各种并行 计算机,逐渐形成了一个新的学科分支——有限元并。
2.并行计算模型的BDM模型
1996年J.F.JaJa等人提出了一种块分布存储模型(BDM, Block Distributed Model)。它是共享存储编程模式与基于消息传递的分布存储系统之间的桥梁模型。主要的4个参数为:
(1) P 处理器个数;
(2)τ 处理机从发出访问请求到得到远程数据的最大延迟时间(包括准备请求时间、请求包在网络中路由的时间、目的处理机接收请求的时间以及将包中M个连续字返回给原处理机的时间);
(3)M 局部存储器中连续的M个字;
(4)σ 处理机发送数据到网络或从网络接收数据的时间。 (1)用M反映出空间局部性特点,提供了一种评价共享主存算法的性能方法,度量了因远程访问引起的处理间的通信;
(2)BDM认可流水线技术。某个处理机的K次预取所需的时间为τ+KMσ (否则为K(τ+Mσ))
(3)可编程型好;
(4)考虑了共享主存中的存储竞争问题;
(5)可以用来分析网络路由情况。 (1)认为初始数据置于局存中,对于共享主存程序的编程者来说,需要额外增加数据移动操作;
(2)未考虑网络中影响延迟的因素(如处理机的本地性、网络重拥挤等);
(3)未考虑系统开销。
3.并行计算模型的PRAM模型
PRAM(Parallel Random Access Machine,随机存取并行机器)模型,也称为共享存储的SIMD模型,是一种抽象的并行计算模型,它是从串行的RAM模型直接发展起来的。在这种模型中,假定存在一个容量无限大的共享存储器,有有限个或无限个功能相同的处理器,且他们都具有简单的算术运算和逻辑判断功能,在任何时刻各处理器都可以通过共享存储单元相互交互数据。根据处理器对共享存储单元同时读、同时写的限制,PRAM模型可以分为下面几种:
· 不允许同时读和同时写(Exclusive-Read and Exclusive-Write)的PRAM模型,简称为PRAM-EREW;
· 允许同时读但不允许同时写(Concurrent-Read and Exclusive-Write)的PRAM模型,简称为PRAM-CREW;
· 允许同时读和同时写(Concurrent-Read and Concurrent-Write)的PRAM模型,简称为PRAM-CRCW。
显然,允许同时写是不现实的,于是又对PRAM-CRCW模型做了进一步约定,于是形成了下面几种模型:
· 只允许所有的处理器同时写相同的数,此时称为公共(common)的PRAM-CRCW,简称为CPRAM-CRCW;
· 只允许最优先的处理器先写,此时称为优先(Priority)的PRAM-CRCW,简称为PPRAM-CRCW;
· 允许任意处理器自由写,此时称为任意(Arbitrary)的PRAM-CRCW,简称为APRAM-CRCW。
· 往存储器中写的实际内容是所有处理器写的数的和,此时称为求和(Sum)的PRAM-CRCE,将称为SPRAM-CRCW。
上面的模型中,PRAM-EREW是功能最弱的计算模型,而PRAM-CRCW则是最强的计算模型,令TM表示某一并行算法在并行计算模型M上的运行时间,则有
其中,p为处理器的数目,它的含义是,一个具有时间复杂度为TCREW或者TCRCW的算法,在PRAM-EREW模型上要花费logp倍的时间去模拟实现。 (1)模型中使用了一个全局共享存储器,且局存容量较小,不足以描述分布主存多处理机的性能瓶颈,而且共享单一存储器的假定,显然不适合于分布存储结构的MIMD机器;
(2)PRAM模型是同步的,这就意味着所有的指令都按照锁步的方式操作,用户虽然感觉不到同步的存在,但同步的存在的确很耗费时间,而且不能反映现实中很多系统的异步性;
(3)PRAM模型假设了每个处理器可在单位时间访问共享存储器的任一单元,因此要求处理机间通信无延迟、无限带宽和无开销,假定每个处理器均可以在单位时间内访问任何存储单元而略去了实际存在的,合理的细节,比如资源竞争和有限带宽,这是不现实的;
(4) PRAM模型假设处理机有限或无限,对并行任务的增大无开销;
(5)未能描述所线程技术和流水线预取技术,而这两种技术又是当今并行体系结构用的最普遍的技术。
转载请注明出处众文网 » 并行计算毕业论文(毕业设计我想阐述一下并行计算的发展)