计算机系统结构中多处理机技术摘要:多处理机通过共享的主存或输入/输出子系统或高速通信网络进行通信。利用多台处理机进行多任务处理,协同求解一个大而复杂的问题来提高速度,或者依靠冗余的处理机及其重组能力来提高系统的可靠性、适应性和可用行。该文介绍了微处理器的发展、多处理机的总线以及处理机系统中通信和存储技术的发展和两种特殊的多处理机系统结构。关键词:多处理机;体系结构;总线微电子技术和封装技术的进步,使得高性能的VLSI微处理器得以大批量生产,性能价格比不断合理,这为并行多处理机的发展奠定了重要的物质基础。计算机系统性能增长的根本因素有两个:一是微电子技术,另一个是计算机体系结构技术。五十年代以来,人们先后采用了先行控制技术、流水线技术、增加功能部件甚至多机技术、存储寻址和管理能力的扩充、功能分布的强化、各种互联网络的拓扑结构以及支持多道、多任务的软件技术等一系列并行处理技术,提高计算机处理速度,增强系统性能。多处理机体系结构是计算机体系结构发展中的一个重要内容,已成为并行计算机发展中人们最关注的结构。1微处理器的发展20世纪80年代中期,RISC精简指令集计算机,用20%指令的组合实现了CISC计算机指令系统不常用的80%指令的功能。在提高性能方面,RISC采用了超级流水线、超级标量、超长指令字并行处理结构;多级指令Cache;编译优化等技术,充分利用RISC的内部资源,发挥其内部操作的并行性,从而提高流水线的执行效率。20世纪80年代后期,RISC处理机的性能指标几乎以每年翻一番的速度发展,它对于提高计算机系统的性能和应用水平起着巨大的作用。目前,由Intel和HP两家公司联合开发的基于IA—64架构的Merced芯片,并由其共同定义的显式并行指令计算技术EPIC(ExplicitlyParallelInstructionComputing),将为微处理器技术的发展带来突破性进展。EPIC技术主要指编译器在微处理器执行指令之前就对整个程序的代码作出优化安排,编译器分析指令间的依赖关系,将没有依赖关系的指令(最多3个)组成一“组”,由Merced内置的执行单元读入被分成组的指令群并执行。从理论上讲,EPIC可以并行执行3倍于执行单元数的指令。64位体系结构的Merced芯片还采用了指令预测、数据预装等技术,可以显著地减少实际执行程序的长度,同时增强语句执行的并行性,经过代码的重组,程序的执行时间比基于传统体系结构的微处理器几乎减少了一半;更加不同凡响的是,可以消除分支预测错误的三分之二。IA—64微处理器具有128个通用寄存器以及128个浮点寄存器,而目前基于RISC的微处理器通常只有32个寄存器。它还具有更为丰富的与大量寄存器相连的附属功能部件,使得其应用更为广泛,同时内部各功能部件之间的可伸缩性扩展了机器的“宽度”,提高了系统的性能。容量更大的Cache以及更多的读写端口,使得基于IA—64微处理器的速度不再受到存储延迟的限制。EPIC设计的Merced芯片可并行处理十几个运算,而当今最优秀的芯片也只能并行处理4个运算操作。EPIC芯片用并行方式执行任务而不用顺序执行,这将使其速度比现在的CISC和RISC芯片至少快两倍。只有0.18微米微小距离的迹线间宽度也使芯片时钟能够达到900MHZ。使用EPIC设计的Merced是第一个被分为三部分的芯片:一部分运行CISC,另一部分运行RISC,第三部分运行EPIC。把三种体系结合于一块芯片意味着现存的应用程序将仍然可以运行在基于新芯片的服务器上。2多处理机的总线目前,在多处理机系统中有两种主要的连接方式:一种是共享存贮器的的多处理机系统,另一种是消息传递的分布式多处理机系统。由于专用信号处理系统一般要求结构紧凑,在满足实时性要求的前提下,对系统资源的利用率要求放在比较次要的位置上,故其操作系统简单实用,不具备消息传递的多处理机系统中的复杂的消息寻径能力;另外,由于信号处理场合的大计算量要求,系统内处理机比较多,单纯的共享总线结构效率不高。因此,共享总线结构和分布式结构相结合是一种发展趋势。大多数多处理机系统的互连结构可归结为共享总线系统结构,共享总线系统结构为传统多处理系统的互连形式,由于没有通信口,处理机之间交换数据必须通过共享存贮器,其处理效率随着处理机数目增加而下降。3通信的发展由于通信通常在芯片的外部实现,其速度远低于芯片内部的计算速度,因而通信往往成为并行多处理机系统发展的瓶颈。通信网络中,总线结构最简单,节点机数目较大时,总线上的通信趋于饱和,成为并行机发展的瓶颈。采用开关网络来取代总线可以增加通信通路的数目,消除通信瓶颈。交叉开关可以提供任意源节点到任一目的节点的通路,但硬件成本高。N个部件互联需要O(N2)交叉点的开关,当N100时,成本之高是惊人的。折衷的办法是采用多级开关,适当减少互连通路以降低成本,但通信性能也会随之下降。消息传递是一种有效的通信方法。消息格式的改进使多计算机的寻径由存储转发方式演进为虫蚀方式。第一台多计算机系统采用的是存储转发(storeandforword)寻径方式。在存储转发网络中,包是信息流的基本单位,每个节点有一个包缓冲区,包从源节点经过一系列中间节点到达目的节点。包交换的寻径方式以其较高的传输带宽和较低的平均传输时延,更适合于具有动态和突发特性的MMP系统的数据传送。目前的一些多计算机系统多采用虚拟直通的寻径方式。其思想是:为了减少时延,没有必要等到整个消息全部缓冲后再作路由选择,只要接受到用作寻径的消息头部即可判断。其通信时延与节点无关,这对于存储转发的寻径方式来说是一个非常大的改进。然而,当出现寻径阻塞时,虚拟直通方式只有将整个消息全部存储在寻径节点中,直到寻径通道不阻塞时才能将消息发出,这就需要每个寻径节点都有足够的缓冲区来存储可能出现的最大的信息包,在这一点上,虚拟直通方式与存储转发的寻径方式是一样的,同样不利于VLSI的实现。因此,虚拟直通方式在最坏的情况下与存储转发方式的通信时延是一样的。新型的多计算机系统采用的是虫蚀寻径方式,它克服了上述的缺点。包被进一步分成更小的片,每个片相当于虫的一个节,“蠕动”是以节为单位顺序地向前爬行。只有头片知道包发往何处,所有数据片必须跟着头片。不同的包可交替地传送,但不同包的片不能交叉,否则它们可能被送到错误的目的地。每个消息中的片以流水方式在网络中向前“蠕动”。当消息的头片到达一个节点A的寻径器后,寻径器根据头片的寻径消息立即作出路由选择。可以看出,虫蚀寻径有以下优点:每个节点的缓冲区较小,易于VLSI实现;较低的网络传输时延,所有的片以流水方式向前传输,采用了时间并行性,网络时延正比于消息包的长度,传输距离对于它的影响很小;通道共享性好,利用率高,对通道的预约和释放是结合在一起的一个完整的过程,有一段新的通道后立即放弃用过的一段旧通道;易于实现选播广播通信方式等。虫蚀寻径通信技术作为一种新型的消息通信方式,具有很好的应用前景。4存储技术的发展与古典的冯·诺依曼计算机以运算器为中心不同,现代计算机系统以存储器为中心。存储技术的发展在很大程度上影响着多处理机系统结构的发展。Cache、主存、磁盘这三个存储器可以分别构成“Cache—主存”和“主存—磁盘”两个存储系统,也可以构成一个“Cache—主存—磁盘”存储系统。“Cache—主存”和“主存—磁盘”组成的两个存储系统组织方式是指:当CPU要访问存储器时,给出一个虚拟地址,由存储管理部件MMU(MemoryManagementUnit)中的地址部件把CPU发出的虚拟地址变换成主存物理地址,然后用主存物理地址访问Cache。如果要访问的数据和指令在Cache中被找到,则Cache命中,否则发出Cache块失效,用这个物理地址访问主存储器,取出一块数据和指令装入Cache,也把CPU所需要的数据和指令送往CPU。“ache—主存—磁盘”组成的存储系统组织方式是指:当CPU要访问存储器时,把虚拟地址直接送往存储管理部件Cache。Cache能直接接受虚拟地址的访问,把CPU所需的数据和指令找出来。如果Cache发生块失效,则用经过MMU变换得到的主存物理地址访问主存储器,把读出的一块数据和指令装入Cache,同时也把CPU所需的数据和指令送入CPU。全Cache存储系统是一种新型系统,就是不用主存,只用Cache和辅存两种存储器构成“Cache—辅存”存储系统。这种系统的等效访问周期与Cache很接近,等效存储容量就是虚拟地址空间的容量。5大规模并行处理机系统MPP和群机并行系统MPP是一种由成百上千乃至上万个微处理器所组成的、基于分布式存储的大规模并行处理系统。其体系结构发展特点是:节点机型选用通用高性能RISC微处理器芯片,它具有VLSI硅片、坤化镓技术、高密度组装和光技术。一般均在节点上设计一个功能较强的通信处理机构,尽量减轻处理器的通信开销,有的甚至在节点上增设一个处理器作为通信处理机。MPP系统采用分布式存储方式使系统容易扩充,但由于每个处理机不能直接访问非本地存储器而采用消息传递方式来解决这一问题,这使得编程困难且通信开销增大,因而广泛使用虚拟共享存储技术。这是在基于分布存储器的多处理机上,实现物理上分布但逻辑上共享的存储系统。其思想是:将物理上分散的各个处理机使用的局部存储器,在逻辑上加以统一编址,形成一个统一的虚拟地址空间来实现存储器的共享。每个处理机可以访问全局存储器的任一位置,用户可以把它当成全局共享存储系统。虚拟共享存储系统的优点有:编程容易,系统结构灵活,可扩充性好,有较好的软件移植性等。MPP系统采用高速互联网的拓扑结构由初期的超立方体转向三维网、多级互联网和交叉开关。近几年来,随着通信网络技术的飞速发展,使分布式计算机专用互联网有逐渐转向标准通信网络的趋势。ATM技术是适合于B-ISDN的标准通信协议,利用ATM网可将各种类型的计算机连接成分布式并行计算机系统。群机系统是利用高速通信网络将一组工作站、服务器、小型机甚至巨型机或MMP系统连接起来,在并行程序设计及可视化人机交互集成环境(如PVM、EXPRESS等)支持下,统一调度,协调处理,实现高效并行处理的系统。从结构和节点间的通信方式来看,群机系统也属于分布式存储系统,主要利用消息传递方式实现各节点间的通信。目前已实现和正在研究中的群机系统大多采用现有商用工作站/PC和通用LAN网络,而且大多数群机系统的并行编程环境也建立在一般的UNIX操作系统之上,这样系统开发的重点在通信和并行编程环境上,既不用重新研制计算机节点,又不用重新设计操作系统和编译系统,可以缩短开发周期、减少系统的开发与维护费用,还可以利用最新的微处理器技术,使得节点机性能保持与处理器发展的同步,而且节点机系统管理相对容易,可靠性高。网络技术的进步使得松耦合系统的通信瓶颈逐步得到缓解。网络传输速度的提高,有效地提高了应用程序间的通信带宽,使得许多高速局域网与MPP中专用互联网络的性能相当。群机系统扩展容易,对大多数中、粗粒度的并行应用都有较高的效率,而价格相对于传统巨型机或MPP系统的价格要低。但与MPP系统相比,主要的缺点是:群机系统的通信延迟大,并行处理的粒度大。6小结由于微处理器新体系结构的发展,将会出现在一片芯片上集成多个处理器的微处理器,因此,多处理机系统的节点本身将成为一个紧耦合多处理系统,然后再通过某种互联网络实现松耦合的MPP系统或群机系统。网络技术的进步使得松散耦合系统的通信瓶颈逐步得到缓解,开关技术的发展则大幅度的降低了传输延迟。互连技术,新的器件和算法,特别是光互连技术在并行系统中的应用,将使并行系统中的通信开销非常小,以至在设计并行程序时不必考虑节点空间的距离和系统的拓扑结构。随着人们进一步开发新的微处理器芯片,探索更加灵活、能适应更多应用的互联网络,发展新的存储方式,使I/O性能与整个计算机能力保持平衡,MPP、群机及SMP等多处理机体系结构的界限也会越来越模糊。并行计算机体系结构将朝着3T目标迅速发展。参考文献:[1]郑纬民.计算机系统结构[M].