并行计算机体系结构.docx
《并行计算机体系结构.docx》由会员分享,可在线阅读,更多相关《并行计算机体系结构.docx(22页珍藏版)》请在冰点文库上搜索。
![并行计算机体系结构.docx](https://file1.bingdoc.com/fileroot1/2023-4/30/4ef6736b-86ac-4d08-9791-ca31344605c1/4ef6736b-86ac-4d08-9791-ca31344605c11.gif)
并行计算机体系结构
第2章并行计算机体系结构
内容提要:
2.1并行机网络互联拓扑结构
2.2并行机访存模型与多级存储结构
2.3并行机分类
2.4并行机举例
2.5并行计算机的发展史
2.1并行机网络互联拓扑结构
●参考资料:
⏹文献1:
第1.2节;
⏹文献2:
详细阐述;
●当代并行机拓扑结构:
●并行机体系结构的几个要素:
⏹结点:
包含一个或多个CPU,这些CPU通过HUB或全互联交叉开关相互联接,并共享内存,也可以直接与外部进行I/O操作;
⏹路由器:
联接计算结点与互联网络,负责数据在结点间的路由寻址;
⏹互联网络:
将所有路由器以某种拓扑结构相互联接,保证它们之间可以自由地通信。
●互联网络:
⏹拓扑结构:
将并行机各结点之间物理上相互联接的关系用图来表示,其中图中结点代表并行机的结点,图中连线代表它所联接的两个结点的路由器之间存在物理上的直接联接关系,我们称该图为并行机互联网络拓扑结构;
⏹拓扑结构的几个重要定义:
Ø并行机规模:
并行机包含的结点总数,或者包含的CPU总数;
Ø结点度:
互联网络拓扑结构中联入或联出的一个结点的边的条数,称为该结点的度;
Ø结点距离:
两个结点之间跨越的图的边的条数;
Ø网络直径:
网络中任意两个结点之间的最长距离;
Ø点对点带宽:
图中边对应的物理联接的物理带宽;
Ø点对点延迟:
图中任意两个结点之间的一次零长度消息传递必须花费的时间。
延迟与结点间距离相关,其中所有结点之间的最小延迟称为网络的最小延迟,所有结点之间的最大延迟称为网络的最大延迟;
Ø折半宽度:
对分网络成两个部分(它们的结点个数至多相差1)所必须去掉的边的网络带宽的总和;
Ø总通信带宽:
所有边的带宽之和;
⏹互联网络评价:
Ø大:
结点度、点对点带宽、折半宽度、总通信带宽;
Ø小:
网络直径、点对点延迟;
●互联网络的分类:
静态拓扑结构、动态拓扑结构、宽带互联网络;
⏹静态拓扑结构:
结点之间存在固定的物理联接方式,程序执行过程中,结点间的点对点联接关系不变,例如:
[文献1:
P10-P11,给出各类定义的具体值,文献2详细讨论];
Ø一维阵列(Array)、环(Ring);
Ø多维网格(Mesh)、多维环(Torus);
Ø树(Tree):
二叉树、X-树、星树、胖树;
Ø超立方体(Hypercube);
⏹动态拓扑结构:
结点之间无固定的物理联接关系,而是在联接路径的交叉点处用电子开关、路由器或仲裁器等提供动态联接的特性,主要包含单一总线、多层总线、交叉开关、多级互联网络:
Ø单一总线:
联接处理器、存储模块和I/O设备等的一组导线和插座,在主设备(处理器)和从设备(存储器)之间传递数据,特征有:
✧公用总线以分时工作为基础,各处理器模块分时共享总线带宽,即在同一个时种周期,至多只有一个设备能占有总线;
✧总线带宽=总线主频总线宽度,例如ASUS主板的总线频率=150MHz,总线宽度为64位,则该总线的带宽=1.2GB/s;
✧监听协议与仲裁算法:
选择哪个设备占有总线;
✧例如:
微机主板外部数据总线、PCI总线、ASCIWhite每个结点包含16个CPU,CPU之间通过总线共享局部存储器;
Ø多层总线:
各设备内部存在本地总线(结点、存储器、I/O设备),本地总线之间以系统总线相互联接,系统总线一般在通信主板中实现,例如文献1P14图1.9。
Ø交叉开关(CrossbarSwitcher):
所有结点通过交叉开关阵列相互连接,每个交叉开关均为其中两个结点之间提供一条专用联接通路,同时,任意两个结点之间也能找到一个交叉开关,在它们之间建立专用联接通路。
交叉开关的状态可根据程序的要求动态地设置为“开”和“关”。
例如44交叉开关联接8个结点(黑板上画图说明)。
交叉开关特征:
✧结点之间联接:
交叉开关一般构成NN阵列,但在每一行和每一列同时只能有一个交叉点开关处于“开”状态,从而它同时只能接通N对结点;
✧结点与存储器之间的联接:
每个存储器模块同时只允许一个结点访问,故每一列只能接通一个交叉点开关,但是为了支持并行存储访问,每一行同时可以接通多个交叉点开关。
✧交叉开关的成本为N2,N为端口数,限制了它在大规模并行机中的应用,一般适合8-16个处理器的情形.
Ø多级互联网络(MIN:
MultistageInterconnectionNetwork):
由多个单级交叉开关级联接起来形成大型交叉开关网络,相邻交叉开关级之间存在固定的物理联接拓扑。
为了在输入与输出之间建立联接,可以动态地设置开关状态。
例如:
✧一般联接图:
文献1图1.11,其中ISC为该级互联网络,主要有混洗、蝶网、纵横交叉等;(详细参考文献2)
✧蝶网、CCC网、Benes网:
均为超立方体网络的推广,参考文献2的P215-P225。
✧网:
等价于蝶网,参考文献1的P16图1.12。
⏹宽带互联网络:
Ø快速以太网(10Mbps(82年)、100Mbps(94年)、1Gbps(97年)):
IEEE802.3国际标准,三代网络性能比较参考文献1的P18表1.6,特征类似于单一总线:
✧分时共享、竞争仲裁:
带宽100Mbps,8台处理机共享,每台处理机的平均带宽为12.5Mbps。
ØFDDI:
光纤分布式数据接口(FiberDistributedDataInterface)采用双向光纤令牌环,所有结点联接在该环中,提供100-200Mbps数据传输速度,双向环提供冗余通路以提供可靠性,距离可达100米、2公里、60公里等,比快速以太网具有更好的可靠性、适应性;
ØSwitcher:
交叉开关,可同时为N/2对端口提供100Mbps的直接联接通路,其中N为端口总数。
多个Switcher堆叠(不多于7个)可形成多级Switcher。
Beowulf微机机群采用这种结构互联所有结点。
(参考张林波讲义之图)。
ØATM:
异步传输模式(ATM:
AsynchronousTransferMode)是在光纤通信基础上建立起来的一种新的宽带综合业务数字网的交换技术。
介质无关的信息传输协议,采用53字节的定长短数据单元(cell)进行传输。
大的数据包进入ATM网络时,分解成多个定长的单元,各个单元独立传输,到达目的地址后,这些单元汇集成原来的数据包。
ATM网络适合高速度传输声音、图像、视频和数据等的所有形式的媒体。
ØMyrinet:
专用机群互联网络,带宽可达200MB/秒,延迟小于10us。
ØInfiniband:
专用机群互联网络,带宽可达1.25GB/秒,延迟小于6us。
ØQudrics:
专用机群互联网络,带宽可达400MB/秒,延迟小于6us。
ØHiPPI:
高性能并行接口(HighPerformanceParallelInterface),1993年标准(ANSIX3T9.3)形成。
单工点对点的数据传输界面,带宽可达800Mb/s-1.6Gb/s。
●互联网络的路由选择算法:
⏹定义:
Ø数据包(Packet):
结点间数据在网络中传输的最小单位,一般为几十个、或者几百个字节。
Ø路由选择算法:
网络中数据包传输的路径选择。
Ø申请队列长度:
在某条边上等待传输的数据包的个数。
⏹常用路由选择算法:
Ø贪心法:
每个数据包沿最短路径传输(二维阵列举例),该方法容易在某一条边上形成通信阻塞。
Ø动态路由选择算法:
数据包根据当前边的申请队列长度,动态地改变传输路径。
Ø虫孔算法(Wormhole):
数据包分解为长度更小的字节流,所有字节流在网络中按动态路由选择算法在网络中传输,最后在目的地址合并还原成数据包。
●作业:
⏹作业2.1:
假设网络包含P=2N=M3个结点,请给出一维阵列(环)、二维网格(Torus)、三维网格(Torus)、超立方体、二叉树(叶结点个数为P)、蝶网、Benes网的结点度、点对点延迟(以跨越的边的条数为单位)、折半宽度(以边的条数为单位)、网络直径。
⏹作业2.2:
假设存在8个结点,分别联接在1Gbps的快速以太网和100Mbps的24端口的Switcher上,请问任意两个结点间的平均带宽为多少,如果结点数增加一倍,则平均带宽又为多少。
2.2并行机存储结构
●参考资料:
⏹文献1:
第1.3节;
⏹文献8、文献10;
●并行机存储模块
⏹内存模块与结点分离
结点0结点P
Router
HUB
Cache
Cache
CPU1
CPU0
CPU1
CPU0
Cache
Cache
。
。
。
。
。
。
。
。
。
。
HUB
Router
互联网络
MP
M2
M1
M0
。
。
。
。
。
。
图2.2.1
⏹内存模块局部于结点内部
结点0结点P
Router
HUB
Cache
Cache
CPU1
CPU0
CPU1
CPU0
Cache
Cache
。
。
。
。
。
。
。
。
。
。
MP
M0
HUB
Router
互联网络
图2.2.2
●
并行机访存模型
⏹均匀访存模型(UMA:
UniformMemoryAccess):
内存模块与结点分离,分别位于互联网络的两侧(图2.2.1),互联网络一般采用系统总线、交叉开关和多级网络,称之为紧耦合系统(TightlyCoupledSystem)。
具有如下特征:
◆物理存储器被所有结点均匀共享;
◆所有结点访问任意存储单元的时间相同;
◆访存竞争时,仲裁策略对每个结点均是机会等价的;
◆各结点的CPU可带有局部私有高速缓存(Cache);
◆外围I/O设备也可以共享,且对各结点等价。
⏹非均匀访存模型(NUMA:
NonuniformMemoryAccess):
内存模块局部在各个结点内部(图2.2.2),所有局部内存模块构成并行机的全局内存模块。
具有如下特征:
◆任意结点可以直接访问任意内存模块;
◆结点访问内存模块的时间不一致:
访问本地存储模块的速度一般是访问其他结点内存模块的3倍以上;
◆访存竞争时,仲裁策略对结点可能是不等价的;
◆各结点的CPU可带有局部私有高速缓存(Cache);
◆外围I/O设备也可以共享。
⏹Cache一致性非均匀访存模型(CC-NUMA:
Coherent-CacheNonuniformMemoryAccess):
存在专用硬件设备保证在任意时刻,各结点Cache中数据与全局内存数据的一致性,具有特征:
◆各CPU的局部Cache数据来源于全局内存,并保证所有结点中数据的一致性(画图简单说明);
◆大多数访存可以局部在本地高速Cache;
◆基于目录的Cache一致性协议(Cache原理参考下章)。
⏹分布式访存模型(DMA:
DistributedMemoryAccess):
各个结点的存储模块只能被局部CPU访问,其他结点无法直接访问局部存储模块,称之为分布式存储(图2.2.2),具有特征:
◆内存模块分布局部于各个结点,每个结点只能直接访问其局部存储模块,对其他结点的内存访问只能通过消息传递程序设计来实现;
◆每个结点均是一台由处理器、存储器、I/O设备组成的自洽计算机。
●
多级存储结构:
500MHzPentium-IIICluster
CPU容量(B)带宽(MB/s)延迟(ns)
chip寄存器25660002
一级Cache处理机32K40006
二级Cache512K200080
本地局部内存500M1200320
远程内存(MPI消息传递)海量100100,000
●访存延迟比例:
Ø微机机群1:
3:
40:
160:
50,000
ØOrigin20001:
3:
30:
50:
500
●一次消息传递延迟相当于峰值浮点运算的次数:
Ø微机机群:
50,000次
ØOrigin2000:
1000次
●通信与CPU计算速度不匹配:
2.3并行机分类
●参考资料:
⏹文献1:
P21-P25;
⏹文献6:
第1章;
⏹文献8、10、11;
●指令与数据流分类:
⏹单指令多数据流(SIMD):
按同一条指令,并行机的各个不同的功能部件同时对不同的数据进行不同的处理,例如:
传统的向量机、80年代初期的阵列机CM-2,目前已经退出历史舞台;
⏹多指令多数据流(MIMD):
不同的处理器可同时对不同的数据执行不同的指令,目前所有并行机均属于这一类;
⏹多指令单数据流(MISD):
至今没出现
●当前流行的高性能并行机体系结构分类:
(五类)
⏹对称多处理共享存储并行机(SMP:
SymmetricMultiProcessing);
⏹分布共享存储并行机(DSM:
DistributedSharedMemory);
⏹大规模并行机(MPP:
MassivelyParallelProcessors);
⏹工作站(微机)机群(COW:
ClusterOfWorkstation、BeowulfPC-Cluster);
⏹并行向量多处理机(PVP:
ParallelVectorProcessors)
●对称多处理共享存储并行机(SMP):
微处理器微处理器微处理器
CPU
CPU
CPU
…………
Cache
Cache
Cache
系统总线或交叉开关
内存
模块
I/O
模块
内存
模块
内存
模块
………
图2.3.1SMP体系结构示意图
SMP具有如下特征:
◆对称共享存储:
系统中任何处理器均可直接访问任何存储模块中的存储单元和I/O模块联接的I/O设备,且访问的延迟、带宽和访问成功的概率是一致的。
所有内存地址单元统一编址。
各个处理器之间的地位等价,不存在任何特权处理器。
操作系统可在任意处理器上运行。
◆单一的操作系统映像:
全系统只有一个操作系统驻留在共享存储器中,它根据各个处理器的负载情况,动态地分配各个进程到各个处理器,并保持各处理器间的负载平衡。
◆局部高速缓存Cache及其数据一致性:
每个处理器均配备局部Cache,它们可以拥有独立的局部数据,但是这些数据必须保持与存储器中数据是一致的。
◆低通信延迟:
各个进程通过读/写操作系统提供的共享数据缓存区来完成处理器间的通信,其延迟通常小于网络通信的延迟。
◆共享总线带宽:
所有处理器共享总线的带宽,完成对内存模块和I/O模块的访问。
◆支持消息传递、共享存储并行程序设计。
SMP具有如下缺点:
◆欠可靠:
总线、存储器或操作系统失效可导致系统崩溃。
◆可扩展性(scalability)较差:
由于所有处理器共享总线带宽,而总线带宽每3年才增加2倍,跟不上处理器速度和内存容量的增加步伐,因此,SMP并行机的处理器个数一般少于32个,且只能提供每秒数百亿次的浮点运算性能。
SMP典型代表:
◆SGIPOWERChallengeXL系列并行机(36个MIPSR1000微处理器);
◆COMPAQAlphaserver84005/440(12个Alpha21264个微处理器);
◆HP9000/T600(12个HPPA9000微处理器);
◆IBMRS6000/R40(8个RS6000微处理器)。
●分布共享存储并行机(DSM):
结点0结点P
Router
HUB
Cache
Cache
CPU1
CPU0
CPU1
CPU0
Cache
Cache
。
。
。
。
。
。
。
。
。
。
MP
M0
HUB
Router
互联网络
图2.3.2DSM体系结构示意图
DSM较好地改善了SMP并行机的可扩展能力,具有如下特征:
◆并行机以结点为单位,每个结点包含一个或多个CPU,每个CPU拥有自己的局部Cache,并共享局部存储器和I/O设备,所有结点通过高性能互联网络相互联接;
◆物理上分布存储:
内存模块局部在各结点中,并通过高性能互联网络相互联接,避免了SMP访存总线的带宽瓶颈,增强了并行机的可扩展能力。
◆单一的内存地址空间:
尽管内存模块分布在各个结点,但是,所有这些内存模块都由硬件进行了统一的编址,并通过互联网络联接形成了并行机的共享存储器。
各个结点即可以直接访问局部内存单元,又可以直接访问其他结点的局部内存单元。
◆非一致内存访问(NUMA)模式:
由于远端访问必须通过高性能互联网络,而本地访问只需直接访问局部内存模块,因此,远端访问的延迟一般是本地访问延迟的3倍以上。
◆单一的操作系统映像:
类似于SMP,在DSM并行机中,用户只看到一个操作系统,它可以根据各结点的负载情况,动态地分配进程。
◆基于Cache的数据一致性:
通常采用基于目录的Cache一致性协议来保证各结点的局部Cache数据与存储器中数据的一致性。
同时,我们也称这种DSM并行机结构为CC-NUMA结构。
◆低通信延迟与高通信带宽:
专用的高性能互联网络使得结点间的延迟很小,通信带宽可以扩展。
例如,目前最先进的DSM并行机SGIOrigin3000的双向点对点通信带宽可达3.2GB/秒,而延迟小于1个微秒。
◆DSM并行机可扩展到上百个结点,能提供每秒数千亿次的浮点运算性能。
例如,SGIOrigin2000可以扩展到64个结点(128个CPU),而SGIOrigin3000可以扩展到256个结点(512个CPU)。
但是,由于受Cache一致性要求和互联网络性能的限制,当结点数目进一步增加时,DSM并行机的性能也将大幅下降。
◆支持消息传递、共享存储并行程序设计。
DSM典型代表:
◆SGIOrigin2000;
◆SGIOrigin3800。
●大规模并行机(MPP):
数百个乃至数千个处理器组成的大规模并行机。
⏹典型代表:
当前位于TOP500前列(参考第7章并行机性能测试)的并行机均属于这一类,其中包括IBMASCIWhite(8192个处理器)、IntelASCIRed(9632个处理器)、IBMASCIBluePacific(5808个处理器)、SGIASCIBlueMountain(6144个处理器)、IBMSPPOWER3(1336个处理器)、CRAYT3E1200(1084个处理器)等。
⏹典型体系结构:
结点N
……
结点1
……
MEM
P/C
P/C
P/C
P/C
MEM
局部总线或互联网络
局部总线或互联网络
…
I/O
NIC
NIC
I/O
I/O
高性能互联网络
图2.3.3MPP体系结构示意图
⏹MPP特征:
◆由数百个乃至数千个计算结点和I/O结点组成,这些结点由局部网卡(NIC)通过高性能互联网络相互联接。
◆每个结点相对独立,并拥有一个或多个微处理器(P/C)。
这些微处理器均配备有局部Cache,并通过局部总线或互联网络与局部内存模块和I/O设备相联接。
◆MPP的各个结点均拥有不同的操作系统映像。
一般情况下,用户可以将作业提交给作业管理系统,由它负责调度当前最空闲、最有效的计算结点来执行该作业。
但是,MPP也允许用户登录到某个特定的结点,或在某些特定的结点上运行作业。
◆各个结点间的内存模块相互独立,且不存在全局内存单元的统一硬件编址。
一般情形下,各个结点只能直接访问自身的局部内存模块,如果要求直接访问其他结点的局部内存模块,则必须有操作系统的特殊软件支持。
⏹按存储结构的不同,MPP又可以分为两类:
分布式存储大规模并行机(DM-MPP)、多台SMP或DSM并行机通过高性能互联网络相互联接的大规模机群(SMP-MPP或DSM-MPP):
◆DM-MPP:
每个结点仅包含一个微处理器,早期的MPP均属于这一类。
例如CRAYT3D、CRAYT3E、IntelParagon、IBMSP-2、YH-3等。
◆SMP-MPP:
每个结点是一台SMP并行机,例如当前位于Top500排名前列的多台MPP并行机均属于这一类,其中包括IBMASCIWhite、IntelASCIRed、IBMBluePacific等;
◆DSM-MPP:
每个结点是一台DSM并行机,其典型代表为包含6144台处理器的ASCIBlueMountainMPP并行机,它由48台Origin2000构成,其中每台含128个微处理器。
●
微机机群(BeowulfPC-Cluster):
随着商用微处理器性能的飞速发展,低延迟、高带宽商用网络交换机的出现,和LINUX操作系统等自由软件的成熟,并行计算机不再是一个只有大型科研单位才能拥有的设备。
例如,将128台当前市场上最高性能的IntelPentium-III/800MHz的微机通过6个24端口的100Mbps的网络交换机相互联接,即可构成浮点峰值性能在1000亿次左右的并行机,而其成本不超过200万元人民币,性能价格比远远高于以上提到的各类并行机(30倍以上),国际上称该类自行研制的并行机为Beowulf机群。
尽管微机机群在通信性能、稳定性和使用方便等方面有待大幅度提高,但是,它们以其他并行机无法比拟的性能价格比,近年来已经成为了高性能并行计算中的一支不可忽视的重要力量。
目前,在我国的各个大学和科研机构,例如中科院、北京大学、清华大学等,微机机群也得到了快速发展和推广应用。
特别地,在2000年底的Top500排名中,美国Sandi国家重点实验室自行研制的机群Cplant排名第84位。
文件服务器
微机N
外部网络
网络交换机
微机
微机
微机
微机1
图2.3.4Beowulf微机机群示意图(参考张林波讲义之图)
Beowulf微机机群的体系结构如图2.3.4所示,多台高性能微机通过商用网络交换机相互联接,并拥有各自独立的操作系统、主板、内存、硬盘和其他I/O设备,构成机群的计算结点。
配置一台或多台文件服务器,一方面管理机群计算结点共享的所有软件和用户计算资源,另一方面充当机群与外部网络的联接桥梁,外部科研网的用户只有通过文件服务器才能使用机群的计算资源。
由于受商用交换机网络性能和操作系统功能的影响,Beowulf微机机群的处理机规模一般限制在100台左右。
但是,如果将交换机替换成专用机群网络,例如GigaNet、Myrinet等,则它们的规模可以进一步扩大。
因此,在当前技术条件下,微机机群一般可提供千亿次左右的浮点峰值性能。
●并行向量多处理并行机(PVP):
体系结构类似于DM-MPP,但是每个CPU为向量多处理机。
仅日本研制,应用不广。
2.4并行机举例
●SMP并行机:
SGIPowerChallengeXLR10000:
⏹多个(<18)个SGIR10000微处理器、共享存储模块、I/O设备通过系统总线相互联接。
⏹总线带宽:
2.4GB/秒。
⏹单一操作系统影像。
●DSM并行机:
SGIOrigin2000、SGIOrigin3800:
⏹单一影像操作系统。
⏹Origin2000可扩展到8个机柜,每个机柜含8个结点,结点是构成Origin2000的基本单位,它包含:
◆1-2个主频为195MHz或250MHz的MIPSR10000CPU,每个CPU含4MB的二级Cache;
◆内存512MB-