配色: 字号:
并行多处理机与计算机系统结构的发展趋势
2022-09-10 | 阅:  转:  |  分享 
  
第13章并行多处理机与计算机系统结构的发展趋势本章首先介绍并行多处理机的基本结构与类型,包括紧耦合多处理机、松耦合多处理机。再介绍并行多
处理机中的关键技术,例如,多处理机中Cache的一致性问题、程序并行性分析、并行程序设计语言的基本概念、多处理机操作系统的基本特征
以及多处理机调度策略等。最后介绍计算机系统的发展趋势。重点是紧耦合多处理机、松耦合多处理机、多处理机中Cache的一致性、并行程
序设计语言的基本概念、多处理机操作系统的基本特征以及多处理机调度策略。第13章并行多处理机与计算机系统结构的发展趋势13.1
并行多处理机的基本结构与类型13.2并行多处理机技术13.3并行多处理机系统的发展13.4计算机系统结构的发展趋势13
.1并多处理机的基本结构与类型并行多处理机由多台独立的计算机组成。每一台计算机可以独立工作,执行其内部的程序,对数据进行处理
。若按照Flynn分类法,并行多处理机属于多指令流多数据流(MIMD)结构。各处理机并行工作,共同完成一个大的计算或者处理任务,相
互之间通过专门的网络连接,实现数据的交换与通信。这种并行性一般是建立在程序段的基础上的,即作业或者任务级的并行性。按照处理机的组成
与连接方式,多处理机分为紧耦合(Tightlycoupled)多处理机和松耦合(Looselycoupled)多处理机。13
.1.1紧耦合多处理机紧耦合多处理机是指各处理机通过系统中的共享主存实现相互之间的数据传送与通信,各处理机有自己的局部存储器
,又共享公用存储器,结构如图13.1所示。图13.1紧耦合多处理机典型结构从图13.1可以看出,整个系统由p个处理机、m个存
储器模块和d个I/O通道组成的。每一个处理机Pi有一个本地存储器LMi,也可配置高速CacheCMi。各处理机通过互连网络PPI
N互连,通过互连网络PMIN与共享存储器连接,通过互连网络PIOIN与外部I/O通道连接。由于通过共享存储器实现相互之间的数据传
送和通信,因此速度快,效率高。但是处理机的台数增多时,将导致访问存储器的冲突增大;另外,互连网络可能成为系统的瓶颈。为改善访问主存
时的冲突,常采用以下措施。(1)采用多模块交叉存储器结构。一般而言,多模块交叉存储器的交叉度越大,产生冲突的概率就越小。(2
)增大每台处理机局部存储器的容量,存放核心代码,减少对共享存储器的访问。(3)可为每一台处理机配置一个高速Cache,减少对主存
的访问。在构成多处理机时,各处理机的内部结构可以相同,也可以不同。下面主要介绍同构对称型和异构非对称型多处理机的结构。1.同构
对称型多处理机同构对称型多处理机是系统中各处理机的结构及与总线的连接方式相同,存储器模块中各存储体的结构及与总线的连接方式也相同
,且为各处理机平等共享。下面举例说明。1)Balance同构对称型多处理机Balance同构对称型多处理机如图13.2所示,是
由Sequent公司推出。处理机模块由2~32个CPU组成,存储器模块由1~6个存储体组成。图13.2Balance同构对称型
多处理机每个处理机模块由1个80386CPU、1个浮点运算器Weitek1167及一个64KB的Cache组成。每个存储器模块
MEM包含一个8MB的存储体及一个存储控制器,容量可扩展到40MB。处理机模块、存储器模块直接与系统总线连接。系统总线通过磁盘控制
器与外部磁盘阵列连接,通过SCSI总线与其它外部设备连接,另外还可通过总线适配器与局域网(Ethernet)或远程网(X.25)连
接。图13.3曙光一号同构对称型多处理机2)曙光一号同构对称型多处理机曙光一号是由我国国家智能中心1993年推出的一种同构
对称型多处理机,结构如图13.3所示。处理机模块由4个CPU组成,存储器模块由4个存储体组成。每个处理机由1个Motorola公
司的MC88100和2个包含Cache的存储控制器MC88200组成,标准主存容量为64MB,可扩展到768MB。通过高速局部总线
将4个CPU和存储器模块连接起来,通过总线适配器和I/O接口与远程网(X.25)、局域网(Ethernet),以及SCSI接口连接
。2.异构非对称型多处理机异构非对称型多处理机是系统中各处理机的结构及与总线的连接方式不同,存储器模块的结构也可以不同。如图1
3.4所示,除了主CPU和主存之外,有多个专用处理机。其中字符处理机CIOP与外部字符设备连接,数据处理机BIOP与外部数组设备连
接,网络处理机NIOP用于外部连网,图形处理机GIOP连接外部图形设备,ACOP是向量处理机。图13.5松耦合多处理机示意图
13.1.2松耦合多处理机松耦合多处理机是由功能较强、相对独立的计算机模块组成的。每个模块至少包括一个功能较强的CPU、一个
局部存储器和一个I/O设备,相互之间以消息的方式进行通信。如图13.5所示,每个计算机模块都有一个容量较大的局部存储器,大部分程序
和数据处理是在本地进行的。当不同模块上运行的进程需要通信时,经网络通信接口NI(Networkinterface)和消息传送系统
MTS(Messagetransfersystem)以消息的方式进行。松耦合多处理机的连接方式有多种,但是基本上分为两类,即
非层次结构的松耦合多处理机和层次结构的松耦合多处理机。1)非层次结构的松耦合多处理机图13.5所示就是一种非层次结构的松耦合多
处理机。各个结点机通过网络通信接口NI与公用消息传送系统MTS连接,从形式上来看,仅有一层。其中网络通信接口NI主要由数据通道和仲
裁开关组成,一方面控制数据传送,另一方面负责多个计算机模块同时请求访问消息传送系统时的仲裁。2)层次结构的松耦合多处理机层次结
构的松耦合多处理机如图13.6所示,是由卡内基-梅隆大学研制的,是由50个LSI-11小型机构成的Cm多处理机,采用多层总线实
现多层次连接。其中Cm是基本计算机模块,内部采用LSI-11总线,通过开关S经总线MAP与其它Cm连接。每条MAP总线最多可连接1
4个计算机模块Cm,构成计算机模块群。KMAP是连接MAP与外部总线的连接器,外部(即组间)采用双总线,主要用于提高系统的可靠性。
图13.6Cm层次结构多处理机图13.6所示的Cm是一个3层总线的多处理机系统,模块内部访存时间为3.5?s,模块群间为
9.3?s,群组间为26?s。这种结构的最大优点是可扩展性好,但是层数太多时性能价格比下降。由于在松耦合多处理机中,各计算机模块
的功能较强,一般都配有高速Cache,因此存在Cache一致性的问题。在多处理机中,对各处理机之间互连方式的要求比SIMD计算机
高,常用的连接方式有总线方式、纵横交叉开关互连方式、多端口存储器互连方式、多级互连网络方式以及虫孔寻径方式等。13.1.3多
处理机中Cache的一致性在单处理机中,Cache的一致性主要是指Cache中副本与主存中相应区域中的内容保持一致,可以通过全写
法或者替换时写回的办法来实现。但是在多处理机中,每个处理机都可能有一个局部Cache,这既要考虑本地Cache与共享主存的一致性,
又要考虑其它Cache与共享主存的一致性,还要考虑各Cache之间的一致性。这样,简单的全写法或替换时写回法就难以解决Cache与
共享主存的一致性。下面首先简单说明引起Cache不一致的三种途径,然后介绍保持Cache一致性的三种措施。1.引起Cache不一
致的三种途径对于多处理机系统来说,多个处理机用Pi表示,每个处理机的Cache,用Ci表示,引起Cache不一致的途径主要有以下
三种。1)Cache改写不同步当某一处理机Pi执行了Cache写操作,且用全写法改变了共享主存中相应区域的内容,这时若其它处理
机的Cache不能随之一起改变,将引起不一致性。2)进程迁移当某一处理机Pi在执行某进程时对Cache进行了写操作,且采用的是
替换时写回法,若由于某种原因使该进程转移到处理机Pi+1上执行时,再读Cache,则读出的是没有改写的内容,于是导致不一致性。3
)I/O传输当某一个或多个处理机的Cache有主存某共享区域的副本时,若处理机Pi执行I/O操作,将输入数据写入共享主存的这一区
域中时,将引起Cache与主存共享区域的不一致性。或者当某一处理机Pi改写了Cache,而又采取的是替换时写回法时,这时若某处理机
Pi+1执行输出共享存储器区域的操作,这样输出的将是原来的内容。2.保持Cache一致性的三种措施目前,保持多处理机中Cach
e一致性的措施主要有三种,一是采用软件的办法,二是监听一致性协议法,另一种是目录表法。1)软件办法软件办法主要借助于编译程序进
行分析,使共享信息只存放在共享主存中,而不进入多处理机的局部Cache。这样,进入Cache中的信息不为其它处理机共享。因此当某一
处理机对其Cache写入时,都不会影响其它Cache的一致性。2)监听一致性协议法监听(Snoopy)一致性协议法是在处理机的
Cache上设置一个监听部件,监听总线操作。当监听到某处理机Pi有Cache操作或使主存共享区域改变时,按约定处理,这种约定也称为
协议,有两种:一是写无效(Writeinvalidate)协议,二是写更新(Writeupdate)协议。写无效协议是约定在
某一处理机Pi改写其Cache中的数据后,其它处理机中Cache的相应副本无效。写更新协议是约定在某一处理机Pi改写其Cache
中的数据后,将改写结果广播到其余处理机的Cache中,同时做相应的备份,以保持一致性。3)目录表法在上述监听一致性协议法中,当
某处理机修改Cache后要将修改结果发送到所有的处理机。目录表协议法是仅把修改信息发送到与该Cache有相同副本的处理机中。Ca
che目录(Cachedirectery)实际上是一个Cache位置表,记录所有Cache块和共享数据块的位置与状态,作为传送修
改结果的依据。目录表的构成方式,可以分为集中式和分布式两种。由于集中式是将目录表设置在某一特定处理机上。分布式是将目录分布到各个处
理机上。13.2并行多处理机技术并行多处理机技术是指除了多处理机体系的结构之外,还涉及算法、语言、编译技术和操作系统的设计
等诸多技术。这里,仅简单介绍程序设计中遇到的并行性处理技术,即程序并行性分析与并行程序设计语言。13.2.1程序并行性分析
多处理机的并行性主要表现在程序级或任务级。能否把顺序程序转换成语义等价且可并行运行的程序,是程序并行性分析的主要目的,主要涉及程序
中的数据相关和并行性检测技术。1.程序中数据相关性分析虽然在多处理机上并行运行的程序段是异步执行的,但是由于它们往往是由某一顺
序程序转换而来的,因此相互之间也会存在标量流水线中所说的那种相关。这里,主要是数据相关。下面仅以赋值语句表示程序段P,来说明三种常
见的数据相关。1)数据相关设程序段P1和P2如下:P1:A=B+CP2:D=AC由于程序段P1中赋值号左边的变量A出现
在P2中赋值号右边的变量集中,因此程序段P2必须在P1中求出A的值以后才能执行。于是,称程序段P2中的数据相关于P1。2)数据反
相关设程序段P1和P2如下:P1:A=BCP2:C=D+E由于程序段P2中赋值号左边的变量C出现在P1中赋值号右边的变量
集中,因此程序段P1必须读出变量C的值以后P2才能执行。于是,称程序段P1中的数据反相关于P2。3)数据输出相关设程序段P1和
P2如下P1:A=B+CP2:A=DE由于程序段P1和P2中赋值号左边是同一变量A,且两个程序段有先后之分,为了保证语义的
正确性,必须保证程序段P1先写入A,然后P2才能写入A。于是,称程序段P2的数据输出相关于P1。2.程序并行性检查程序并行性检
查主要是检查程序中是否存在上述数据相关,常用的检测方法是伯恩施坦(Bernstein)准则。在每一个程序的执行过程中,通常需要使
用输入和输出两个变量集。若用Ii表示程序段Pi读主存的单元(变量)集,Qi表示写主存的单元(变量)集,则程序段P1和P2能够并行执
行的伯恩施坦准则为:(1)I1∩Q2=?,程序段P1的输入变量集与P2的输出变量集不相交;(2)I2∩Q1=?,程序段P2的输
入变量集与P1的输出变量集不相交;(3)Q1∩Q2=?,程序段P1的输出变量集与P2的输出变量集不相交。下面举例说明伯恩施坦准
则的使用。【例13.1】设有三个程序段P1、P2和P3如下,且变量A、B、C、D、X和Y均为N×N的矩阵,试判断这三个程序段能否
并行执行。P1:X=(A+B)(A?B)P2:Y=(C?1)(C+D)?1P3:Z=X+Y解:根据伯恩施坦准则
,列出它们的输入、输出变量集:I1={A,B},I2={C,D},I3={X,Y},Q1={X},Q2={Y},Q3={Z}由
于I1∩Q2=?,I2∩Q1=?,Q1∩Q2=?,所以程序段P1和P2可以并行执行。由于I3∩Q1≠?,I3∩Q2≠?,所以程序
段P3不能与P1和P2并行执行,只能在P1和P2执行之后执行。13.2.2并行程序设计语言在并行多处理机系统中,需要使用并
行程序设计语言。通常,并行程序设计可以显式说明,也可以隐式说明。显式说明要求程序员通过专门的语言结构显式说明其并行性。隐式说明则是
由编译程序来判断,并自动将其转换成并行程序。并行程序设计语言的产生有两种方法:一种是在现有的程序设计语言的基础上扩展出能表示并行
进程的语句,称为扩展型并行程序设计语言,例如,并行FORTRAN、并行C等;另一种是根据多处理机的系统结构设计全新的并行程序设计语
言。下面介绍几种在扩展型并行程序设计语言中说明并行结构的方法。1.FORK-JION语句及使用FORK语句的作用是从一个进程派
生出一个可以与之并行执行的新进程,JION表示新进程结束。FORK语句有以下三种形式:FORK语句三种形式:FORKA:在地
址A派生一个新进程,当前进程继续执行。FORKA,J:在地址A派生一个新进程,在地址J使计数器减1,当前进程继续执行。FO
RKA,J,N:在地址A派生一个新进程,在地址J将计数器的值置成N,当前进程继续执行。JION语句只有一种形式:JIONJ
,表示在地址J处将计数器的值减1。当计数值减为0时,启动地址J+1处的进程;否则,释放执行JION语句的处理机。显然,所有进程以执
行JIONJ语句结束;在执行JIONJ语句后,从地址J+1处继续执行进程。【例13.2】FORK-JION语句的使用。解:
使用FORK-JION控制三个并行进程的派生与执行的过程如图13.7所示。其中,在进程0执行语句FORKA,J,3时,在地址A处
派生一个新的进程1,并将地址J处计数器的值置成3,自身进程继续执行。进程1执行到语句FORKB时,在地址B处再派生一个进程2,本
身进程继续执行。这时,三个进程(0,1,2)并行执行。而且每一个进程都会执行到语句JIONJ,并按该语句控制计数器减1操作。
图13.7进程派生与执行的过程设三个进程执行到语句JIONJ的顺序为0,2,1。当进程0执行到语句JIONJ时,使地址J
处的计数器减1,其值J=2,进程0结束,释放处理机资源。进程2执行到语句JIONJ,使地址J处的计数器减1,其值J=1,进程2结
束,释放处理机资源。当进程1执行到语句JIONJ时,在J处的计数器减1,其值J=0,这时将在地址J+1处启动进程i。2.使用块
结构语句表示并行性1)使用块结构语句表示并行性块结构语句有cobegin-coend和parbegin-parend等,使用时
要把所有可并行执行的语句或进程括起来,即显式说明这些语句或进程并行执行。例如,beginS0;cobeginS1;S2;…
;Sn;coendSn+1;end首先执行进程S0,然后并行执行进程S1,S2,…,Sn,最后执行进程Sn+1。在每
一组并行执行的进程中,每个进程仅有一个入口和一个出口,即符合结构化程序设计的要求。而且,各进程相互独立,互不相交,对于共享变量只能
读,不能写。图13.8嵌套并行执行顺序在实际使用中,并行语句或进程可以嵌套,例如:beginS0;图13.8嵌套并行执
行顺序cobeginS1;beginS2;cobeginS3;S4;S5;coendS6;endS7;coen
dS8;end嵌套并行执行顺序如图13.8所示。2)使用并行循环语句parfor表示并行性【例8.3】设A是一个n×n的矩阵
,B和C是n×1的矩阵,计算C=A×B,使用语句parfor表示算法。解:使用语句parfor派生出p个独立进程,且设p能整除n
,则有s=n/p。于是,可设计算法如下:parfori=1untilpdobeginforj=(i-1)s+1
untilsidobeginC(j)=0fork=1untilndoC(j)=C(j)+A(j,k)B(k
)endend每一个派生出来的进程根据i的值,计算外层parfor-end之间的语句。若设n=12,p=4,则s=3。于是,
执行到语句parfor时,将派生出4个独立的进程,分别对应于i=1,2,3,4。在4个进程中,j的起始值依次为1,4,7,1
0。计算结果如下。i=1:计算C(1),C(2),C(3)i=2:计算C(4),C(5),C(6)i=3:计算C(7),C(
8),C(9)i=4:计算C(10),C(11),C(12)13.2.3多处理机操作系统在多处理机中必须有相应的操作系统
,以支持多处理机的并行工作。下面仅介绍其主要特点、类型和一般应用。1.多处理机操作系统的特点与功能从功能上来讲,多处理机操作系
统除了具备单机操作系统所要求的资源分配与管理、存储器管理与保护、死锁防止、异常进程与例外事件处理能力之外,还应具备以下功能:(1
)支持多个任务的并行执行,能对大的任务进行分解和分配,能处理各处理机之间的负载均衡等问题;(2)支持多处理机之间的同步与通信;
(3)提供系统重构能力,支持多处理机降级使用;(4)支持硬件和软件的并行性开发。2.多处理机操作系统分类目前,多处理机操作系
统的设计主要有三种结构,即主从结构、独立监控结构和浮动监控结构。1)主从结构主从结构是在多处理机中有一台功能较强的主机,其余是
从机。主机运行操作系统,并对所有处理机及其它硬件资源进行任务分配和管理。其特点是系统控制简单,缺点是可靠性差,一旦主机出现故障,整
个系统就会瘫痪。2)独立监控结构独立监控结构是在整个系统中,各台处理机都有自己的管理程序,独立管理自己的软硬件资源。这样,某
一台处理机出现故障时不会影响到整个系统。但是要协调整个系统并行工作,相对复杂一些,主要适合于松耦合多处理机系统。3)浮动监控结构
在这种结构的系统中管理程序可以在各台处理机上浮动,即每一台处理机都有可能成为主处理机。这种系统使用灵活,易于均衡负载,但是结构复
杂,主要适合于对称型紧耦合多处理机。13.2.4多处理机调度策略在多处理机中,调度的任务就是把一个个进程分配到某一台处理机
上运行。这对于不同结构的多处理机要有不同的调度策略。一般而言,同构型多处理机是将各种资源,包括处理机、主存、I/O通道及设备存放
在一个公共的资源池中,为所有进程共享。这样,有利于提高资源的利用率,使各处理机负载均衡。对于异构型多处理机,由于各台处理机的功能可
能有很大的差异,因此对其调度主要是按功能进行,例如,控制、数据处理、数据传送等,使各台处理机各司其职。通常,衡量多处理机调度性能
的主要指标有以下4点。(1)希望完成所有任务所用的时间最短;(2)希望完成所有任务所用的处理机数最少;(3)希望平均流时间
最短,即执行每一个任务所需要的平均时间最短;(4)希望处理机的利用率最大,即处理机的空闲时间最短。多处理机调度的实质就是寻求一
种算法,使用最少的处理机,在最短的时间内完成全部任务。目前流行的调度模型主要有两种,即静态确定性调度模型和动态随机性调度模型。这里
不再一一介绍。13.3并行多处理机系统的发展大规模并行处理机一般属于大型机和巨型机。是在上述同构对称型紧耦合多处理机、异构
非对称型紧耦合多处理机以及各种松耦合多处理机的基础上发展而来的,包括以标量处理为主体的大规模并行处理机和以向量处理为主体的并行向量
处理机。13.3.1大规模并行处理机1.概述大规模并行处理机MPP(Massivelyparallelproces
sor)一般指规模可以伸缩,常拥有数以百计、千计甚至万计处理机的系统。在早期,MPP多属于SIMD计算机;后来,逐步成为MIMD的
主流机。其主要特点可概括如下:(1)MPP系统最突出的特点就是能进行大型并行处理,即规模大,并行处理能力强,是典型的组粒度并行处
理机,且具有很强的规模可伸缩性。(2)其中每一台处理机的功能都很强,相对独立,有较大容量的存储器,常采用分布式存储器系统,有利于
系统的伸缩性。(3)每一台处理机不能直接访问非本地存储器,各处理机之间常采用消息传送的方式通信。为了改善这种情况,常在分布式存储
器系统的基础上构建共享虚拟存储器SVM(Sharedvirtualmemory),也就是将分散在各处理机上的局部存储器在逻辑上
连接起来,统一编址,构成共享虚拟存储器系统。这样,可使系统结构灵活,易于编程,易于扩展,使软件具有较好的可移植性。图13.13
CM-5系统组成2.CM-5系统组成CM-5的系统组成如图13.13所示,可包含32~16384个处理机结点,每个结点包括一个
32MHz的SPARC处理器、一个32MB的本地存储器和一个速度为128MFLOPS的64位向量处理部件。系统控制计算机CP使用
的是SUN公司的工作站计算机,可以配置一台到几十台,每一台可根据需要配置存储器和磁盘。所谓工作站是比小型机小,比微型机大的台式计算
机,主要用于图形处理。整个系统有3个互连网络,即数据网络、控制网络和诊断网络。数据网络为各结点提供高速的点对点数据通信;控制网络
为处理机结点与控制计算机之间提供互连,通过控制网络实现广播、同步、扫描等协同操作,并完成相关的管理功能;诊断网络用以访问所有的硬件
设备,测试系统的完整性,检查并隔离错误。所有结点设备均采用统一网络接口NI与数据网络和控制网络相连接。CM-5的峰值速度可超过1
TFLOPS。1)数据网络数据网络是以胖树概念为基础设计的。各处理机结点、控制处理机、I/O通道都位于胖树的叶结点上,树的内部
结点是开关,整体结构是采用4元胖树实现的。2)控制网络控制网络的结构是一个完全的二叉树结构,处理机结点、控制处理机、I/O通道
位于叶结点上。该控制网络可以为每一个分区分配一棵子树,且整体结构比数据网络的胖树结构简单,具有切换能力,能把任何一台控制处理机切换
到任何一个分区,有利于扩展。图13.14控制处理机组成3)诊断网络诊断网络也是一个二叉树结构,根结点可以是一个或多个诊断处
理机,每个叶结点是一块插板或在底板上构成的物理系统盒。诊断处理机通过专门的诊断接口对内部所有支持JTAG(Jointestac
tiongroup)标准的CM-5芯片及网络进行测试,从中发现错误,排除故障或掉电部件。4)控制处理机控制处理机的结构如图1
3.14所示,由RISC微处理器、存储器、带有本地磁盘和以太网连接的I/O子系统及CM-5网络接口组成。网络接口通过控制网络和数据
网络将处理机与系统的其它部分连接起来。每个控制处理机上运行COMST程序,负责CM-5并行处理资源的管理。图13.15带向量部
件的处理机结点5)处理机结点处理机结点由SPARC微处理器、向量部件、存储器和网络接口NI组成,如图13.15所示。内部数据总
线64位,每个向量部件都由一条专用通路与8MB存储器连接。专用通路72位,附加8位错误校正码(ECC)。每个向量部件包括一个流
水线式的ALU、一个向量指令译码器和64个64位的寄存器,主要用于执行标量处理器发来的向量指令,完成存储器访问,并生成校正码(EC
C)。标量处理器可以把向量指令发送给指定的向量部件,也能发给一对或广播给4个向量部件。每个向量部件访问存储器的峰值带宽为128M
Bps,所有向量部件访问存储器的总带宽为512MBps。处理机结点的峰值速度为128MFLOPS,CM-5的最大配置为214=16
384个处理机结点,总峰值速度为27×214=2TFLOPS。3.T3ET3E的体系结构如图13.16所示,是CRAY公司于
1995年推出的一种MPP机,包括3种型号:T3E、T3E-90、T3E-1200。三种型号的主要区别在于使用的微处理器21164
的主频分别是400MHz、450MHz和600MHz,峰值浮点运算速度分别是600MFLOPS、900MFLOPS和1200MFL
OPS。图13.16T3E体系结构1)处理机结点处理机结点由DECAlpha21164和一个外部Shell组成。在Sh
ell中包含一个本地主存、一个通信处理器、512个64位E寄存器及一个读/写控制部件。其中,Alpha21164是一个超标量6
4位RISC微处理器,内部寄存器64位,每一个时钟周期能发射4条指令。虚拟地址43位,物理地址40位,每个结点配置的本地主存可达2
GB。若整个系统有2048个结点处理机,整个系统的全局物理存储器可达4096GB。在Alpha21164中设有两级片内Cache
,L1指令Cache和数据Cache各8KB,L2Cache是有96KB的3路组相联Cache,统一用于指令和数据的高速缓存。这
两级片内Cache仅用于缓存本地存储器中的内容,处理器使用虚拟地址访问远程存储器,虚拟地址经由E寄存器被通信处理器转换成物理地址,
即结点号+结点内存偏移地址。2)互连网络T3E采用两种不同的网络实现结点间的互连。主机连接采用双向3D环网,也就是一个结点可以
有6条链路与其它结点连接,即东南西北和上下,带宽480MBps。该网络为处理机结点提供预取和非阻塞写能力,为存储器提供4字或8字的
块传输能力,实现了自适应最短距离的寻径算法,允许消息绕过拥挤的链路和结点。所有结点还通过一个或者多个GigaRing互连。每个G
igaRing由一对循环计数的32位环组成,用以连接用户结点和I/O结点。在I/O结点上设有插槽,可插入以太网、FDDI、HiPP
I、ATM等网卡,或者插入磁盘、磁带机等设备的接口卡。多个GigaRing构成包交换和高带宽的I/O子系统,包的大小可达256B,
峰值带宽为1GBps。在T3E中,除了用户结点、I/O结点之外,还有操作系统服务结点和预备结点。操作系统使用的是CRAY64位
UNIX的一个变种UNIDOS/mk,是一个全分布式操作系统。13.3.2共享存储器型多处理机1.共享存储器共享存储器
型多处理机SMP(Sharedmemorymultiprocessors),也称为对称型多处理机(Symmetrymulti
processors)。这类处理机有三种模型,即均匀存储器存取UMA(Uniformmemoryaccess)模型、非均匀存储
器存取NUMA(Nonuniformmemoryaccess)模型和只用高速缓存的存储器结构COMA(Cacheonlym
emoryarchitecture)模型。这些模型的区别在于存储器和外部资源如何共享或分布。1)UMA模型UMA多处理机是通
过互连网络把各处理机及存储器模块均匀地连接起来。这样,物理存储器为所有处理机均匀共享,所有处理机对所有存储器单元具有相同的访问时间
。每一台处理机可以有自己的本地高速缓存Cache和外围设备,这些设备也可以以某种方式为其它处理机共享。2)NUMA模型NUMA
多处理机是共享存储分布在所有处理机的本地存储器上,所有本地存储器的集合构成全局存储空间,可被所有的处理机访问。但是各处理机访问存储
器的时间根据存储单元所在的位置有所不同,这主要是由网络传送而引起的。3)COMA模型COMA多处理机是一种只用高速缓冲存储器
的多处理机。这种结构可以说是NUMA的特例,它把NUMA中的分布式主存用高速缓存代替。在每一个处理机结点上不存在存储器的层次结构,
而是将全部高速缓存组成全局存储器空间。到了上世纪90年代,共享存储器并行处理机得到进一步发展。其中SGIOrigin2000
服务器采用一种称为S2MP的并行计算机系统结构,将大量高性能的微处理器连接起来,共享统一的地址空间,提高了整个系统的可扩展性和易编
程能力。图13.17S2MP体系结构示意图2.S2MP体系结构S2MP(Scalableshared-memorymu
ltiprocessing)可称为新一代的共享存储器并行多处理机。如图13.17(a)所示,它有效地解决了共享主存的并行多处理机的
可扩展性问题。从图13.17(a)可以看出,每一个结点由两个部分组成,即微处理器和存储器。而存储器又由Cache和主存储器组成。
每个结点通过高速网络互连,使分布式存储器为所有处理器所共享。高速缓存Cache采用基于目录表的Cache一致性协议,即通过指向每一
个存储块的Cache的指针来实现一致性,如图13.17(b)所示。目录存储器的每一条记录对应于主存的一个存储块,其中的“状态”位
表示存储块的状态,可以是Uncached、Shared或Dirty;“存在”位对应一个结点的Cache,表示该Cache是否有主存
块的副本。另外,S2MP系统支持页迁移算法,这样可以把某处理机经常使用的数据迁移到该结点的本地存储器上,缩短访存时间,提高访存带宽
。目前,共享存储器型多处理机已经普遍使用。例如,采用S2MP体系结构的SGIOrigin2000系列服务器、Stanford
DASH,以及CRAYT3D等。3.SGIOrigin2000系列服务器SGI公司将CRAY公司的开关网络技术应用到S
2MP结构中,推出了Origin2000系列可扩展服务器,主要有Origin2000、Origin2000Deskside
、Origin2000Rack和CRAYOrigin2000等4种机型。其中Origin2000扩展能力小,最多可扩展为
4个处理器;Origin2000Deskside桌边服务器最多可扩展为8个;Origin2000Rack机柜服务器最多可扩
展为16个;CRAYOrigin2000扩展能力最强,多可达128个。以后,基于S2MP结构的Origin2000系统最多
可扩展为1024个处理器,且具有高带宽和低延时的特性,通过一种多重交叉开关互连技术,将分布在每个处理器结点上的存储器从逻辑上连接成
单一寻址空间的共享存储器系统。Cache一致性的维护采用的是基于目录表的协议,因此在每个结点上设有目录存储器。图13.18Or
igin2000结点板1)结点板结点板是Origin2000的主板,也是Origin2000服务器的一个处理器结点,组成
如图13.18所示。每一个结点板拥有1~2个R10000处理器,设有本地存储器,采用二级Cache,并设有用于Cache一致性维护
的目录存储器,以及用于网络互连的HUBASIC芯片,1个I/O接口和1个路由器接口。R10000属于RISC结构,配置1MB
/4MB二级Cache,主频为180/195MHz。Origin2000系统的主存分布在各个结点板上,从整体上是单一地址空间,为
所有处理器所共享。结点板上的HUBASIC用来连接处理器、主存储器、目录存储器及外部互连网络。2)HUBASICHUBA
SIC的结构如图13.19所示,是一个4端口的交叉开关,有4个双向端口,每个端口的单向传输速率峰值可达800MBps,双工带宽可达
1.6GBps。4个端口分别连接到处理器、主存、XIO设备和路由器上,再通过路由器连接到CrayLink互连网络上。4个端口在内部
通过交叉开关互连,以消息的方式通信。由HUBASIC控制结点内部各子系统间的通信,并且负责内部与外部消息格式的转换。消息分为请求
(Request)与应答(Reply)两种。在每一个端口设有两个FIFO队列,一个用于请求,一个用于应答。对于Cache一致性协议
有单独的逻辑请求和应答路径,可避免死锁。图13.19HUBASIC结构3)I/O子系统I/O子系统是由一组高速Cross
talk(XTALK)链路构成,采用分布式结构,在每一个结点板上有一个I/O端口,可被每一个处理器访问。每一个I/O端口由结点板上
的单端口Crosstalk协议的链路控制,或者通过Crosstalk(XBOW)ASIC芯片上的智能交叉开关互连。Origin
2000I/O子系统的核心是XBOWASIC芯片,可将单个CrosstalkI/O端口扩展到8个,其中6个用于输入输出,2个
用于与结点板连接。在Crosstalk协议的控制下,可通过编程进行8位或16位通信。XBOWASIC还有动态交叉开关,通过扩展
两个结点板上的Crosstalk端口,可使之连接成6个16位的I/O端口。XBOWASIC芯片通过交叉开关可以动态地将每一个端口
连接到指定的I/O设备上,例如结点板、图形板、串行I/O设备等。由Crossbow对Crosstalk消息进行解码,以获取控制/目
标信息。连接到XBOWASIC上的设备统称为XIO设备。4)互连网络子系统互连网络子系统是由一组开关组成的,也称为路由器,通
过外部电缆可以连接成各种拓扑结构。这种互连网络把许多点对点的链路通过路由开关连接起来,形成Mesh(网状)网。这些链路和开关允许多
个传输同时进行,速度高,每条双向链路的峰值带宽可达1.6GBps。这种互连网络在每对Origin2000结点之间至少提供两条独
立链路进行通信。这样,就可绕过不能运行的路由器或断开的链路,不需要仲裁,也不存在竞争。在增加结点板的同时就接入更多的路由器和链路,
还能提高互连网络的总带宽。但是对于共享总线结构来说,带宽固定,难扩展。5)路由器在互连网络子系统中,通过路由器将结点板上的HU
BASIC连接到外部CrayLinkInterconnect上,由CrayLinkInterconnect为结点板提供高带宽
、低延时的互连机制。路由器遵照路由协议,保证在链路出错时仍能可靠地交换数据,并进行流量控制和优先级管理。路由器的核心是实现6路无阻
塞交叉开关的路由ASIC芯片。其中的交叉开关允许6个路由端口全双工同时操作,每个端口有两条单向数据通路。6)分布式共享存储器地址
空间Origin2000服务器采用分布式存储器结构,但是具有单一共享存储器空间,通过互连网络可被所有的处理器访问。I/O设备分
布在一个共享地址空间,每一台设备在整个系统中可以为所有的处理器全局寻址。在整个系统中,存储器分为4个层次。第1层是接近CPU的寄
存器,与CPU在同一芯片中;第2层是Cache,有主Cache和二级Cache两层,主Cache在R10000芯片中,二级Cach
e在与处理器紧耦合的板子上;第3层是本地存储器,与处理器在同一块结点板上,包括主存和目录存储器;第4层是远程Cache,用于存放指
定的存储块。图13.20基于目录的Cache一致性尽管数据是在本地或远程存储器中,但是它们的映像可能在多个结点板的Cache
中,由HUBASIC实现Cache一致性协议。7)Cache一致性Cache一致性采用的是基于目录表的Cache一致性协议,
可保证不管哪一个处理器访问该数据单元时都能得到最新数据。目录表分布在各个结点板上,即目录存储器。每一个目录项存放的信息是系统存储块
的全局缓存状态和指向每个对该存储块进行映像的Cache位向量指针,如图13.20所示。通过检查状态和位向量,存储器可确定哪些Ca
che在某次访存操作中需要参与,以保持一致性。基于目录表Cache一致性协议可采用两种维护方式,一种是更新,另一种是失效。Orig
in2000系统采用的是后者。8)扩展连接Origin2000服务器系统的4种机型Origin2000、Origin2
000Deskside、Origin2000Rack和CRAYOrigin2000,最大可支持的处理器数目分别为4、8、
16和128。但是由于Origin2000系统采用模块化结构,由结点板通过路由器连接,因此可以构成满足不同应用要求的多种处理器数
目的配置系统,扩展容易,性能稳定。把2个结点板通过HUB直接连接,可以得到4个处理器的机器,相当于将2台Origin2000连
接使用。由于路由器提供2条连接结点板的链路,因此由一个路由器和2个结点板可以构成一个模块。在该模块的基础上利用路由器的其它4个接口
可将系统扩展到不同的规模。13.3.3并行向量多处理机1.概述并行向量多处理机PVP(Parallelvecter
processor)的结构如图13.21所示,由功能很强的定制向量处理器组成,主要用于高速向量数据处理,每一个向量处理器的性能至少
为1GFLOPS。图13.21并行向量多处理机并行向量多处理机是将多个向量处理机通过定制的高带宽纵横交叉开关网络连接到若干个
共享存储器模块SM上。这类机器通常不使用Cache,而使用大量的向量寄存器及指令缓冲存储器。常见的有CRAYC-90、CRAY
T-90、NECSX4、FujitsuVPP500,以及我国的YH-2等,就属于这种类型。2.VPP500体系结构VPP
500是Fujitsu公司推出的向量并行处理机(Vectorparallelprocessor),系统结构可以由7个处理单元P
E扩展到222个,是一种高并行性的MIMD向量处理机。VPP500的系统结构如图13.22所示,由VP2000或VPX200作为主
机,VPP500作为后端机。在图13.22所示的系统中,每个处理单元PE配有最大容量为256MB的静态RAM存储器,峰值处理速度
为1.6GFLOPS。系统采用全局虚拟共享存储器管理模式,统一地址空间,最大主存容量为55GB。由2台控制处理机通过交叉开关网络
协调各处理单元PE的工作,单台控制处理机可以控制9台PE工作;2台控制处理机协调工作,可以构成有30~222个PE的VPP系统。P
E之间的通信由内部数据传输部件管理,单向数据交换速度为400MBps,双向数据交换速度为800MBps。在PE单元中,设有一个
标量部件和一个并行操作的向量部件,可以构成流水线操作,流水功能与VP2000相似。互连网络采用的是用于MPP机的224×224交叉
开关网络,可以实现无冲突传输。在VPP500中运行的是基于UNIX系统Ⅴ第4版的UXP/VPP操作系统,支持紧耦合的MIMD操作
,且具有很强的并行处理能力,浮点数据采用的是IEEE754标准。13.4计算机系统结构的发展趋势近年来,人们除了提高Ca
che的性能及其一致性、提高通信网与处理器接口的性能以及I/O处理能力外,在研究利用多线程(Multithread)技术开发细粒度
的并行性方面取得了很大的进展。近年来大数据的涌现,迫使人们又去研究新的并行算法和计算模型,开发并行编译与并行编程环境。于是,使各种
类型各种规模的超级并行机不断涌现出来。另一方面,随着通信技术发展,使得采用标准的通信网络技术比开发研究专门的计算机互连网络更为经
济和有效,因而出现了计算机向通信网络靠拢的倾向。突出的表现是为计算机配置通信领域中的标准接口,按照通信网络技术组建计算机网络。例如
,利用宽带综合服务数字网(B-ISDN)ATM(异步传输模式)将现有的工作站、高档微型机、大型机甚至巨型机连接起来,构成一个大的分
布式并行计算机系统。而且,数字通信网的速率很高(Gbps),使网络中的计算资源联系得非常紧密,从而使分布式系统与并行计算机系统之间
的界限逐渐模糊起来。也就是说,通过计算机网络构成大型并行计算机系统,尤其是开发异构型并行处理机、超大规模混合型多处理机,增强系统
的计算与容错能力。图13.23异构型并行处理机1.超大规模混合异构型多处理机如图13.23所示,是通过高速互联网络(AT
M)把一些大规模并行多处理机(CM-5)、并行向量多处理机(CrayC-90)、阵列机(CM-2)以及工作站机群连接起来,构成的
超大规模混合异构型多处理机。这样,整个系统的计算能力、数据处理能力、输入输出能力、容错能力都得到大幅度的提高,是原来的单一结构的多
处理机远不能比拟的。2.天河超级混合异构型计算机天河系列包括天河一号和天河二号两款计算机,都是超级混合异构型计算机。目前,堪
称世界一流。1)天河一号天河一号是我国国防科技大学于2009年推出的混合异构型超级计算机,使用了许多计算机最新技术。就当时来看
,运算速度和综合性能在全球排名第五位。(1)综合性能整个系统包括计算阵列、加速阵列、服务阵列、互连通信、I/O存储以及监控诊断
等子系统。共使用了6144个Intel通用多核CPU和5120个AMD图形加速GPU,内存总容量98TB,点对点通信带宽40Gbp
s,共享磁盘总容量1PB,峰值性能1.206PFlops,LINPACK测试性能为563.1TFLOPS。操作系统符合B2级安全标
准,提供基于隔离的用户安全工作环境、统一的全系统资源管理视图、系统管理界面、一体化并行集成开发环境和虚拟化网络计算环境。(2)基
本构架计算阵列:2560个计算结点,每个结点集成2个Intel?CPU,配32GB内存。加速阵列:2560个加速结点,每个结点
含2个AMD?GPU、?2GB显存。服务阵列:512个服务结点,每个结点含2个Intel?EP?CPU、32GB内存。?互连通
信子系统:采用两级Infiniband?QDR(Quaddatarate)互联,单个通信链路点对点通信带宽40Gbps、延迟1
.2μs。I/O存储子系统:采用全局分布共享并行I/O系统结构,磁盘总容量1PB。(3)软件配置操作系统采用64位Linu
x,编译系统支持C、C++、Fortran77/90/95、Java等语言,支持OpenMP、MPI并行编程,提供异构协同编程框架
,能高效发挥CPU和GPU的协同计算能力。提供全系统资源统一视图,实现多策略资源分配与作业调度,有效提高资源利用率和系统吞吐率,并
行程序开发环境提供一体化的图形用户界面,支持应用程序的调试和性能分析。监控诊断子系统采用分布式集中管理结构,可实现全系统实时安全监测、系统控制和调试诊断等功能。2)天河二号天河二号系新型异构多态体系结构,在强化科学计算的同时,支持大数据处理、高吞吐率和高安全信息服务等多类应用,设计了微异构计算阵列和新型并行编程模型及框架,提升了应用软件的兼容性、适用性和易用性。它共有16,000个运算节点,每节点配备两个IntelXeon?E5?12核中央处理器、3个XeonPhi57核协处理器(运算加速卡)。累计32,000个XeonE5主处理器和48,000个XeonPhi协处理器,共计计算核心312万个。其中XeonE5-269212核处理器基于IntelIvyBridge微架构(IvyBridge-EX核心),时钟频率为2.2GHz时,峰值性能0.2112TFLOPS。XeonPhi57核协处理器,实际上是InelXeonPhi31S1P协处理器,有61个核,仅适用其中57个,每核采用超线程技术能运行4个线程,运行时钟为1.1GHz时,峰值性能为1.003TFLOPS。每个节点拥有64GB主存,每个XeonPhi协处理器板载8GB内存,故每个节点有88GB内存,整体总计内存1.408PB。外存是12.4PB硬盘阵列。整机共有125个机柜,每个机柜安装4个机架,每个机架安装16块主板,每块主板设置两个计算节点。主板上分为APU模块和CPM模块。APU部分承载5块XeonPhi,CPM部分承载1块XeonPhi+4颗XeonE5。APU模块和CPM模块之间通过CPU内部提供的PCI-E3.016x接口连接,单通道数据传输速率为10Gbps。计算节点前端处理器为4096颗FT-150016核SPARCV9架构的处理器,时钟频率1.8GHz时,峰值性能144GFLOPS。互连网络采用光电混合传输技术,使用自制的THExpress-2主干拓扑结构网络连接,由13个大型路由器通过576个端口以光电传输介质与各个运算节点互联,控制器名为NRC,单个控制器的数据吞吐率为2.56Tbps,终端网络接口使用NIC控制器,按PCI-E2.0接口链接,数据传送速率6.36GB/s。操作系统是自己研发的麒麟操作系统,是基于SLURM(SimpleLinuxUtilityforResourceManagement的全局资源管理程序。与此前排名世界第一的美国“泰坦”超级计算机相比,天河二号计算速度是“泰坦”的2倍,计算密度是“泰坦”的2.5倍,能效比相当。3.发展超级混合异构型计算机存在的问题天河二号研制成功了,整体性能超过当前世界排名第一的美国“泰坦”超级计算机,使所有从事信息技术的人们感到自豪。但是,就超级混合异构型多处理机来说,一些瓶颈问题已逐渐显现出来。天河二号整机功耗17,808千瓦,加上冷却协调,总功耗24兆瓦。也就是说,每年电费达1亿人民币。目前,这已经成为世界全体研发超级计算机的人们共同关注的问题。?
献花(0)
+1
(本文系太好学原创)