Parallel Architecture Lecture2
Parallel Architecture Lecture2
HPC硬件平台架构
三种计算节点
传统MPI节点(瘦节点):刀片服务器或机架,功能少;
胖服务器节点:SMP架构高性能服务器,多CPU,内存大;
加速节点:带有GPU/NPU/TPU加速卡。
什么是SMP架构?
SMP(Symmetric Multi-Processing)对称多处理是指服务器中多个CPU对称工作,无主次或从属关系的硬件架构。
各CPU共享相同的物理内存,每个CPU访问内存中的任何地址所需时间相同。对SMP服务器进行扩展的方式包括增加内存、使用更快的CPU、增加CPU、扩充I/O(槽口数与总线数)以及添加更多的外部设备(通常是磁盘存储)。
三平面组网
计算网络: 用于计算过程 中的消息传递;
管理网络: 用于集群系统 管理(带内/带外);
存储网络: 用于存储或者 数据传输。
并行计算网络
性能指标
节点度(Node Degree):射入或射出一个节点的边数。在单向网络中, 入射和出射边之和称为节点度。
网络直径(Network Diameter): 网络中任何两个节点之间的最长距离, 即最大路径数。
对剖宽度(Bisection Width) :对分网络各半所必须移去的最少边数。(越大质量越高)
如果从任一节点观看网络都一样,则称网络为对称的(Symmetry)。
对剖带宽( Bisection Bandwidth):每秒钟内,在最小的对剖平面上通过所有连线的最大信息位(或字节)数
网络规模:网络包含的结点总数,或者包含的CPU 总数。
衡量延迟
Time of flight是数据在Interconect(内网)中传递的时间。
这张图中Link部分的传输延迟对应上一张图的Transmission time,而Interconnect上的传输延迟对应上图中的Time of Flight。
静态互联网络
处理单元间有着固定连接的一类网络,在程序执行期间,这种点到点的链接保持不变。
一维线性阵列(二近邻连接)
这是并行机最简单最基本的互连方式。N个节点用N-1条边串接之,内节点度为2, 直径为N-1,对剖宽度为1(随便弄断一条线就能分成两部分)。
当首、尾节点相连时可构成循环移位器,在拓扑结构上等同于环,环可以是单向的或双向的。节点度恒为2,直径为
例如FDDI令牌环城域网、SCI。
二维网孔
每个节点只与其上、下、左右的近邻相连(边 界节点除外)。
假设网络规模为N,节点度是4,网络直径为
例如:Intel paragon(20 世纪 90 年代生产的一系列已停产的大规模并行超级计算机)
Illiac网孔
垂直方向上环绕,水平方向蛇状串联,就是Illiac网孔;
Illiac网孔的节点度为4,网络直径
如果垂直和水平方向都是环绕,就是2D环绕(2D Torus);
2D Torus的节点度为4,网络直径
二叉树
图略。假设k层N个节点:
节点度为3(三近邻连接),对剖宽度1,直径
如果增加节点度为N-1,层数为2,就会变成星型网,对剖宽度
标准二叉树拓扑结构包含
叶结点分别对应并行机的结点,内结点负责这些叶结点之间的通信。
二叉树的网络直径仅为
它的对剖宽度只为1,不利于结点之间的大数据量通信。
胖树
二叉树的主要问题是根易成为通信瓶颈,解决方法是:胖树在内结点间多加通路,且通路由叶向根变宽。对剖宽度随N增大而增大。例如Infiniband。
超立方
这是一个4维超立方体:
节点度为d,P个结点。
节点用n个二进制编码,两节点编号中数码不同的位数即为两节点的距离(海明距离),两节点编号只有一位不同,肯定是相邻节点。
这是一个具有很好性质的拓扑结构,其网络直径仅为
结点的度为d,随并行机规模的增加而增加,这给网络实现带来了一定的困难。通常地,超立方体一般不超过5维。
3D Torus
一个k-ary d-cube指边长为k的d维立方体,都环绕连接,共有
这是一个4-ary 3-cube(4元3立方体)
k-立方环
把立方体顶点用k-环替代:
节点度仍然为3,
静态网络特性比较
动态互联网络
结点之间无固定的物理连接,而是在连接路径的交叉点处用电子开关、路由器或仲裁器等提供动态连接,
主要包含单一总线、多层总线、交叉开关、多级互联网络等类型。
多处理机总线系统的主要问题包括总线仲裁、中断处理、协议转换、快速同步、高速缓存一致性协议、分事务、总线桥和层次总线扩展等。
总线
总线是连接处理器、存储模块和I/O 设备等的一组导线和插座,在主设备(处理器) 和从设备(存储器)之间传递数据。
三个特征
公用总线以分时工作为基础,各处理器模块分时共享总线带宽,即在同一个时钟周期, 至多只有一个设备能占有总线。
总线带宽=总线主频*总线宽度,例如假设主板的总线频率为150MHz,总线宽度为64 位,则该总线的带宽为1.2GB/s。
采用公平的监听协议与仲裁算法,以确定在某个时刻选择哪个设备占有总线。
结点度1,网络直径1,规模N,网络化程度差,可扩展性强,容错差,价格低易于部署。
交叉开关
所有结点通过交叉开关阵列相互连接,每个交叉开关均为其中两个结点之间 提供一条专用连接通路,同时,任意两个结点之间也能找到一个交叉开关, 在它们之间建立专用连接通路。
单级交换网络,可为每个端口提供更高的带宽。交叉点开关可由程序控制动态设置其处于“开”或“关”状态,而能 提供所有(源、目的)对之间的动态连接。
交叉开关一般有两种使用方式:
一种是用于对称的多处理机或多计算机机群中的处理器间的通信(处理器-处理器);
另一种是用于SMP服务器或向量超级计算机中处理器和存储器之间的存取(处理器-存储器)。
三个特征
结点之间的连接:交叉开关一般构成N x N 阵列,但在每一行和每一列同时只能有一个 交叉点开关处于“开”状态,从而它同时只能接通N对结点(即输入与输出间只能一对一)。
一般地,结点和存储器模块作为连接的对象,分别分布在拓扑结构的两侧。
结构为N x N 的交叉开关只能提供2 x N个端口,这限制了它在大规模并行机中的应用。 交叉开关一般仅适合数个处理器的情形,或者,在结点内部为处理器和存储器之间提供快速高效的通路。
节点度1,直径1,规模
多级互联网络
单级交叉开关级联起来形成多级互连网络MIN(Multistage Interconnection Network)。
输入最后会输出到哪取决于开关的内部连接状态:
级间互联(网络组织方式)
连接方式有均匀洗牌、蝶网、多路均匀洗牌、交叉开关、立方连接等;
N输入的Ω网络需要
这里边
节点度1,网络直径
动态网络比较
标准实现
以太网
RoCE
RDMA(Remote Direct Memory Access)技术是一种直接在内存和内存之间进行数据互传的技术,在数据传输的过程中完全实现了Kernel Bypass,CPU不需要参与操作,这也是RDMA在降低CPU消耗的同时,还能带来低时延的原因。
网络类型
目前,大致有三类RDMA网络,分别是Infiniband、RoCE、iWARP。其中,Infiniband是一种专 为RDMA设计的网络,从硬件级别保证可靠传输 ,而RoCE和 iWARP都是基于以太网的RDMA 技术,支持相应的verbs接口。
RDMA从Infiniband承载协议演进到以太网TCP/UDP承载协议。基于TCP的RDMA,本质上是将 “无损”寄托在TCP的可靠性上,而基于RoCEv2的无损网络则是将“无损”放在了流控机制。