«上一篇 下一篇»
  计算机工程  2022, Vol. 48 Issue (12): 38-44, 53  DOI: 10.19678/j.issn.1000-3428.0065450
0

引用本文  

刘博阳, 胡舒凯, 施得君, 等. VTFTR:高维胖树中的无死锁容错路由算法[J]. 计算机工程, 2022, 48(12), 38-44, 53. DOI: 10.19678/j.issn.1000-3428.0065450.
LIU Boyang, HU Shukai, SHI Dejun, et al. VTFTR: Deadlock-Free Fault-Tolerant Routing Algorithm in k-Dimension Fat-Tree[J]. Computer Engineering, 2022, 48(12), 38-44, 53. DOI: 10.19678/j.issn.1000-3428.0065450.

基金项目

国家重点研发计划(2021YFB0301000)

通信作者

卢宏生(通信作者),正髙级工程师

作者简介

刘博阳(1997—),男,硕士研究生,主研方向为高性能互连网络;
胡舒凯,工程师、硕士;
施得君,工程师、博士研究生

文章历史

收稿日期:2022-08-08
修回日期:2022-09-22
VTFTR:高维胖树中的无死锁容错路由算法
刘博阳1 , 胡舒凯2 , 施得君1 , 卢宏生3     
1. 战略支援部队信息工程大学, 郑州 450001;
2. 江南计算技术研究所, 江苏 无锡 214100;
3. 国家并行计算机工程技术研究中心, 北京 100190
摘要:随着近年来高性能计算系统规模的急剧扩大,高性能互连网络的可靠性成为愈发重要的问题。高维胖树是一种结合了胖树与多维环网优点的网络拓扑结构,凭借其良好的可扩展性与网络性能在E级时代具有广阔的应用前景。然而,目前关于高维胖树中容错路由算法的相关研究较为有限,其可靠性问题亟待解决。为提高高维胖树拓扑在高性能互连网络中的容错能力,进一步提高对应超算系统的运行效率,提出一种用于高维胖树中叶交换机故障的容错路由算法VTFTR。该算法结合转向模型与虚通道切换的思想,通过严格控制报文在无故障路径与容错路径中的转向,使用少量的容错虚通道与额外跳步实现高维胖树中的无死锁容错。实验结果表明,在单点故障情况下,VTFTR算法的容错路径较对比算法有2~4个跳步的减少,在4 096个节点规模的网络中,当叶交换机故障数量为10时,在故障叶交换机不同的分布情况下,该算法能够以1.4%~2.0%的吞吐率下降作为代价来保持全网无故障节点之间的互连。
关键词高性能互连网络    高维胖树    容错路由算法    高性能计算    死锁预防    
VTFTR: Deadlock-Free Fault-Tolerant Routing Algorithm in k-Dimension Fat-Tree
LIU Boyang1 , HU Shukai2 , SHI Dejun1 , LU Hongsheng3     
1. Strategic Support Force Information Engineering University, Zhengzhou 450001,China;
2. Jiangnan Institute of Computing Technology, Wuxi, Jiangsu 214100, China;
3. National Research Center of Parallel Computer Engineering and Technology, Beijing 100190, China
Abstract: With the recent rapid increase in the scale of high-performance computing systems, the reliability of high-performance interconnection networks has become a significant research problem.The k-dimension fat-tree is a topology network that combines the advantages of fat-tree topology and k-dimension torus architecture.Its excellent scalability and network performance have shown wide promising applications in the era of Exa-scale computing.However, current research on the fault-tolerant routing algorithm in high-dimensional fat trees is still relatively limited, and reliability issues still need to be addressed.This paper proposes a fault-tolerant routing algorithm called Virtual Turning Fault-Tolerant Routing(VTFTR) for leaf switch faults in the k-dimension fat-tree to improve the fault tolerance of k-dimension fat-tree topology in high-performance interconnection networks and further enhance the work efficiency of supercomputing systems.VTFTR combines the principles of the turning model and virtual channel switching.By strictly controlling the steering of messages in fault-free and fault-tolerant paths, high-dimensional fat trees can achieve deadlock-free fault tolerance with a few fault-tolerant virtual channels and additional hops.The experimental results show that in a single fault scenario, VTFTR can reduce between two and four hops in the fault-tolerant path compared to the existing algorithm.When the number of switch failures in the 4 096-node scale network increases to 10, the network can achieve interconnection of fault-free nodes in the entire network at the cost of a 1.4%-2.0% throughput drop based on the different distributions of fault leaf switches in the network.
Key words: high performance interconnection network    k-dimension fat-tree    fault-tolerant routing algorithm    high performance computing    deadlock prevention    

开放科学(资源服务)标志码(OSID):

0 概述

在2022年上半年top500的榜单中,美国橡树岭国家实验室的超级计算机“Frontier”超过“富岳”,排在了top500的第一位。“Frontier”基于HPE Cray EX235A架构,使用Slingshot互连技术,处理器选择AMD RPYC 64C 2 GHz,拥有8 730 112个内核。根据Linpack基准测试,“Frontier”峰值性能达到了1.102 Exaflop/s,即每秒110.2亿亿次,超过了E级计算机每秒百亿亿次的标准[1]。“Frontier”的发布标志着超算的发展正式进入E级时代。

随着高性能计算系统进入E级时代,超算整体规模越来越大,急剧膨胀的系统规模对高性能互连网络设计在拓扑结构、路由算法、拥塞控制等方面提出了更高的要求。在单个节点故障概率相同的条件下,高性能计算系统的规模越大,系统无故障工作的期望时间MTTF(Mean Time to Failure)就越短,系统性能随故障数量提高而呈现阶梯式下降趋势,故障数量每累积到一定程度,系统性能就发生一次严重下降[2]。分析近年来超算规模变化与故障的情况可以发现,随着系统规模的扩大,容错能力在超算中的重要性逐渐提升至与效率、算力相当的程度[3]。在E级时代的超大规模高性能计算系统中,频繁的因故障停工,无论是在时间成本上还是在能耗上都是不可接受的,而故障的发生不可避免,因此,要有相应的容错手段来保证出现少量故障时整个系统仍能保持一定的工作能力,进而延长系统的单次工作时间。

高维胖树是一种近年来被提出的混合拓扑结构,其不仅拥有与胖树结构[4]相当的对分带宽性能,还有较经典胖树更好的可扩展性与更低的网络直径,在E级甚至后E级时代有望成为主流高性能互连网络拓扑结构。本文对高性能互连网络中容错路由相关工作进行介绍,分析高维胖树及其故障情况,提出一种针对高维胖树叶交换机故障的容错路由算法VTFTR,并对其优越性进行实验分析。

1 相关工作 1.1 容错路由算法

容错路由算法是互连网络容错设计的重要组成部分,可以使计算节点之间在发生故障时仍然保持一定的通信能力。容错路由的设计基础是存在物理链路或路由路径的冗余,冗余的设置一般是以成本增加或性能下降为代价来实现的。以网络中两个固定节点之间的连接为例,增加一条用于容错的物理链路会额外占用两个端口,从而导致网络可支持的最大规模下降,也可以使用不增加物理链路的方法,在路径上出现故障时从其他节点间的路径上绕行,这种方法会挤占其他路径上的网络资源,引起整体网络性能下降。容错算法设计的重点是平衡容错性能与成本之间的关系,设计目标是以尽可能低的性能代价或硬件成本来实现最好的容错效果。

对于路由算法设计而言,对死锁的预防或恢复很有必要。转向模型是一种应用广泛的路由算法设计思路,其核心是通过控制消息在Mesh/Torus中的流动方向来预防可能产生的死锁。转向模型的成本主要在于限制消息的转向会降低部分链路的使用率,从而导致网络性能下降。目前最常见的死锁预防方法是在可能形成环路的部分进行虚通道切换[5],在一条物理通道中划分出多条虚拟通道。容错虚通道在Mesh/Torus拓扑结构与Dragonfly[6]拓扑结构中得到十分广泛的使用,其用于容错的成本是非容错路径可用的缓冲等网络资源下降。动态缓冲管理[7]的使用通过私有缓冲与共享缓冲组合的方法,从一定程度上减轻了使用多条虚通道带来的缓冲资源浪费与头阻塞问题。即便如此,过多地设置容错虚通道、频繁地进行容错虚通道切换,仍然会给路由芯片的设计带来极大困难。文献[8]提出一种转向模型与虚通道相结合的容错算法,该算法在不同的虚网络中分别使用不同的路由规则,保证每一套虚网络中无环路存在,最终达到使用少量虚通道实现片上Mesh网络无死锁容错的效果。

1.2 高维胖树

图 1所示,胖树结构是高性能互连网络中常用的一种拓扑结构,其凭借着高对分带宽、高可扩展性、优良的容错能力、拓扑易于搭建等优势在当前的高性能计算系统中占据了主流位置[9]。目前,关于胖树的研究主要分为3个方向:

Download:
图 1 4-port 3-tree胖树结构 Fig. 1 4-port 3-tree fat-tree structure

1) 拓展胖树结构的使用范围,如提升胖树结构在数据中心的表现[10]、探索在片上网络中使用类胖树结构的可能性[11]

2) 寻找性能优于胖树的新拓扑结构,如第一台使用Hyperx结构[12]的超算,其某些方面的性能优于等规模的胖树结构[13],LIANG等[14]提出一种在部分通信模式下性能高于三层胖树的均等拓扑,WANG等[15]结合胖树与k-ary n-cube的结构特点提出k-Cube k-Ary n-Tree(CAT)与Mirrored k-Cube k-Ary n-Tree(MiCAT)两种拓扑结构,可以大幅降低网络对交换机与链路在数量上的需求。

3) 对胖树结构进行拓展或者优化。近年来,一系列胖树的拓展结构先后被提出,ADDO等[16]提出一种胖树的拓展结构Zfattree并给出其弹回重路由容错路由策略,WANG等[17]提出一种可以降低硬件成本的镜像叉树网络,并针对该网络给出邻居切换算法、下一级算法与X转弯算法3种容错路由算法。此外,还有一种结合胖树与多维环网结构而提出的高维胖树结构,高维胖树拥有优于经典胖树的可扩展性,同时还兼具多维环网结构的部分优势,是E级时代高性能互连网络拓扑的重要组成。

图 2所示(RSW为行交换机,CSW为列交换机,LSW为叶交换机),高维胖树是一种新型混合拓扑,这种结构可以视为将高维环网每一维度的连接从环连接替换为高阶交换机或胖树连接。高维胖树结构的雏形可以认为是1996年日立公司的高性能计算系统SR2201所使用的Hybrid Crossbar Network[18]。Hybrid Crossbar Network是一个三维的拓扑结构,每一维度连接使用交叉开关来实现。高阶路由芯片YARC[19]与对应高阶路由器的提出与使用[20],将高性能互连网络带入了高阶时代。文献[21]与文献[22]分别提出使用高阶路由器构建的高维胖树结构。高维胖树在文献[21]中被称为K-ary N-direct M-indirect结构(在该作者的后续论文中修改为K-ary N-direct S-indirect(KNS)),在文献[22]中被称为k-ary n-bridge结构。其中,KNS结构的定义更为丰富,每一维度的连接可以使用高阶交换机、胖树或者RUFT(Reduced Unidirectional Fat-Tree)[23]结构来实现。国防科技大学的天河团队在其E级原型机中使用了该拓扑,并称其为k-dimension tree[24]。本文将该结构统称为高维胖树(k-dimension fat-tree)。高维胖树拥有优秀的可扩展性,使用72端口交换机构建的二维胖树规模可以达到十万个节点以上,基本满足E级时代的设计需求。此外,在高维胖树中二维以上的算法性能均可由二维扩展推出。因此,本文所提算法与相关分析均是基于二维胖树,每个子维度上至多使用二层胖树。

Download:
图 2 二维胖树(16×16) Fig. 2 2-dimension fat-tree(16×16)

胖树拓扑结构节点间存在大量的路径冗余,且其上下网的模式较Mesh而言更难产生死锁,当前已经有大量相关的容错算法[2, 25-26]。高维胖树中一般采取维序路由,当使用误路由[27]进行容错设计时维序路由的无环特性可能被打破,因此,高维胖树中容错路由的设计需要预防死锁。

高维胖树中的交换机类型主要分为根交换机与叶交换机,其中,叶交换机直接与计算节点相连,根交换机负责每一维度上叶交换机之间的连接。高维胖树结构每一个子维度上的根交换机与叶交换机都可以视为一个独立的胖树结构,因此,当根交换机发生故障时可以使用胖树中的算法进行上下行路由容错。而叶交换机是高维胖树中较为独特的结构,需要为其故障设计独特的容错算法。根据高维胖树的结构特点,在使用维序路由时,叶交换机故障会影响其自身连接的所有计算节点,同时影响其所在行列间的所有通信。以规模为n×n的二维胖树为例,任意一个叶交换机故障都会导致网络中的$ {n}^{2} $条节点间的通路断开,极大影响网络的可用性。高维胖树中叶交换机故障的影响范围和处理模式与Mesh/Torus中的节点故障具有很高的相似度,因此,进行容错设计时可以参考部分Mesh/Torus网络中的容错算法 [28-29]。文献[30]提出一种针对叶交换机故障的误路由容错算法,采用一定的误路由策略,可以在故障发生时屏蔽故障节点以便维护人员进行故障排除。但是,该算法只描述了单个故障的对策,还需要考虑在故障节点得到维修前出现新故障的情况,且该算法不选择切换虚通道来预防死锁,没有对算法可能产生死锁的情况进行分析。文献[31]提出一种通过实时重构路由表、选择中介节点绕行解决高维胖树中链路故障的容错算法,该算法每选择一个中介节点就需要进行一次虚通道切换,在故障数量较多时会因为容错虚通道的设置而降低网络资源利用率,从而给硬件设计带来难度。

2 VTFTR算法

结合转向模型与虚通道切换的思想,本文提出一种针对高维胖树中叶交换机故障的容错路由算法VTFTR,该算法通过控制容错路径的选择与转向,可以选择出最短跳步数的容错路径,同时显著降低对容错虚通道数量的需求。在高维胖树中,报文在根交换机的上下行路径会导致每个维度的正负方向间存在部分重叠,因此,传统的禁止单个转向的方法并不适用。在高维胖树中避免环路的形成,至少要在网络中禁止两个以上的转向,因此,只要使单套网络中仅存在x维度至y维度的转向或仅存在y维度至x维度的转向,就可以保证网络无环无死锁,最终达到仅靠一条容错虚通道实现无死锁容错路由的效果。为了更好地描述算法,本文使用部分词语对网络中的结构或路由操作进行替代,具体如表 1所示。

下载CSV 表 1 文中部分词语释义 Table 1 Definitions of some words in the text
2.1 算法说明

VTFTR算法的基础是xy维序路由,每次发现故障时通过路由重构修改3项信息:将xy路由中经过故障节点的路径修改为yx路由;将故障发生列从所有行交换机的容错备选条目中删除;将故障发生行从所有列交换机的容错备选条目中删除。在此基础上,本文算法根据故障数量与状态进行如下处理:

1) 发现叶交换机故障。消息在行交换机查表时发现目标叶交换机故障无法下行,通过查询备选条目路由至同行的其他任意叶交换机,之后进行一次列路由至目标所在行,再通过一次行路由到达目标叶交换机。

2) 后续发生故障。xy路由路径上发现的故障可以继续按照第1)步中的处理方式进行绕行;yx容错路径上的突发故障则需要在列交换机上进行一次误路由,到达非故障所在行后重新进行一次xy路由即可。

3) 存在多点故障。在已存在故障且未发现新故障时,网络中节点间的通信分为3种:(1)正常路径不经过故障节点,采取xy路由;(2)正常路径经过故障节点而容错路径不经过故障节点,采取yx容错路由;(3)xyyx路由均经过故障节点,则采取第(1)步或第(2)步中的误路由方案进行绕行。

具体地,如图 3所示,当报文发现叶交换机故障时,报文在行路由阶段选择原中介节点的同行备选节点进行路由,绕开故障节点之后进行一次列路由,到达相应的列之后再行路由至目标节点。图中虚线箭头为无故障情况下的原始路径,实线部分是$ \mathrm{L}\mathrm{S}\mathrm{W}({x}_{d}, {y}_{s}) $故障后的两条容错路径。

Download:
图 3 VTFTR容错路径 Fig. 3 Fault-tolerant path in VTFTR

图 3中路由策略对应的伪代码如算法1所示:

算法1 Routing in fig. 3

1.BEGIN:

2./* from leaf-switch LSW(x_s,y_s) to leaf-switch LSW(x_d,y_d) */

3.For each leaf switch(x_l,y_l) do { //Leaf Switch choose output port

4.S1:if (x_l == x_d) then{

5.Output port is to column root switch}

6.S2:else if (inport is row root switch) then{

7.Output port is to column root switch}

8.S3:else{

9.Output port is to row root switch }}

10.For row root switch(y_r) do{

11.S1:If (LSW(x_d,y_r) is going wrong){

12.Output port is to random LSW(x_f,y_r)(f(for err) = random{0:n} expect d)}

13.S2:else {

14.Output port is to LSW(x_d,y_r)}}

15.For column root switch(x_c) do{

16.S1:{

17.Output port is to LSW(x_c,y_d)}}

18.END

当叶交换机发生故障时,发现故障的根交换机将故障叶交换机的信息通过消息包传递到子网管理模块,子网管理模块通过广播包的方式改写全部根交换机的路由表项,将存在叶交换机故障的维度从容错选项中删除或屏蔽,保证后续再出现故障时不会因为容错而路由至已经故障的叶交换机,以至于形成死锁或其他问题。具体表现为:当网络中无故障发生时,所有行/列交换机的备选条目均为n-1个,当某个叶交换机发生故障时,所有行/列交换机中去往该列/行条目对应的备选条目不变,去往所有其他列/行的备选条目中屏蔽该列对应的条目,达到将此列/行从容错路径中删除的效果。

图 4所示,行交换机0在无故障时,每个端口的备选条目都包含同行的其他全部叶交换机;当叶交换机12与叶交换机21发生故障后,行交换机0中的容错条目被修改,故障所在列(1和2)从容错条目中被删除。网络中的叶交换机因为故障而再进入容错路由时,不会选择列1与列2作为容错路径,避免了路径上出现多故障的可能性。列交换机0的情况同理。

Download:
图 4 VTFTR容错条目修改 Fig. 4 Fault-tolerant table modification in VTFTR

最终,在多故障情况下本文算法中节点的路径选择如图 5所示。S1至D1之间叶交换机02与20同时故障,报文需要误路由至03节点,再进行一次yx路由到达目标节点;S2至D2之间叶交换机02故障,需要进行yx路由经过11到达D2;S3至D3之间无故障存在,按照xy维序路由即可。该算法提供的绕路方案会破坏网络的无环特性从而导致死锁,因此,需要在容错路径从列路由到行路由时进行一次虚通道切换进入容错虚通道。图中实线部分为无故障虚通道,虚线部分为容错虚通道。

Download:
图 5 多故障下的路径示例 Fig. 5 Examples of paths with multiple faults
2.2 VTFTR优越性分析

VTFTR算法的优越性主要体现在3个方面:

1) 优势1。通过控制容错路径,将多故障问题化解为单故障问题,避免了路径上重复出现故障节点的情况,能选出跳步数最少的容错路径。

2) 优势2。通过将维序路由与虚通道切换相结合,控制容错路径的选择,仅使用一条容错虚通道即可实现对多个故障的无死锁容错。

3) 优势3。容错能力强,只要故障节点没有覆盖所有行列,即可保证全网无故障节点间可达,且在每次路由重构完成前对新故障有即时处理的策略。

其中,优势1通过本文算法的定义与描述即可推导,且通过图 5可以看出,该算法容错时根据故障情况分别需要2、3、4次行/列路由,相较于目前现有的算法(文献[30]所提算法,下文称算法A),大部分路径会有2~4个跳步的节约。由优势1可知,本文算法中的稳定路径至多包含行-列-行三步,容错路径上突发故障的即时误路由策略至多包含列-行-列与行-列-行-列两种,只需在yx路由时(即列路由到行路由之间)进行一次虚通道切换,即可保证无故障路径与容错路径均无死锁。

对优势3推论如下:该算法理论上可以在(n-1)行/列的交换机都存在单个或多个故障的情况下仍然保持其他非故障节点间的通信。在故障节点数超过n时,在k个叶交换机发生故障的情况下,仍然有$ {C}_{{n}^{2}-n}^{k-n}/{C}_{{n}^{2}}^{k} $的概率保持网络中正常节点间连接。更直观地,在16×16个叶交换机组成的二维胖树中,如果故障叶交换机的数量在15个及以下,VTFTR可以实现完全容错;如果故障节点超过16个,以20个为例,VTFTR只有极小的概率(4.807e-22)无法维持非故障节点间的连接。VTFTR的强容错能力还表现在,当发现叶交换机故障后,路由重构完成前如果出现了新故障,该算法的绕行策略仍然可以完成容错路由,且根据优势2可保证无死锁,不再需要额外的容错虚通道。

2.3 VTFTR无死锁推论

本节对VTFTR的无死锁特性进行推导与论证。VTFTR中的虚通道分为无故障虚通道(默认虚通道)与容错虚通道,要证明VTFTR无死锁,只需要证明报文在无故障虚通道与容错虚通道中均无环无死锁即可。

在高维胖树(仍然以二维胖树为例,更高维度同理)中,报文在网络中的路径根据维度与方向可以分为x上、x下、y上、y下4种,其中,“上”指从叶交换机到行列交换机,“下”则相反。VTFTR的基本路由策略采取维序路由,报文根据源节点与目标节点的位置关系,按照x上 > x下 > y上 > y下的优先级进行路由。按照固定维序进行路由的报文在网络中不会形成环路,也就不会产生死锁。

在无故障发生时,所有报文均选择无故障虚通道并采取维序路由,该环节不会产生死锁。当故障存在时,报文在无故障虚通道进行一次维序路由后进行一次虚通道切换,在容错虚通道中重新按照x上、x下、y上、y下的顺序进行维序路由。根据2.2节VTFTR优越性分析,参考图 5中多故障模式下的路径示例,在VTFTR中至多需要切换一次容错虚通道、进行一次序的优先级重置,即可完成对多故障节点与突发故障节点的绕行。在低序到高序的部分进行虚通道切换,即可确保本文算法整体不会产生死锁。

3 实验结果与性能分析

本文实验在NetSim网络模拟器中进行,NetSim是基于正在某超算系统中使用的交换机结构而设计开发的网络模拟器。

3.1 实验方案

在NetSim模拟器中构建不同规模的二维胖树进行如下两组测试:

1) 单点故障。在小规模(8×8)的二维胖树中测试单叶交换机故障情况下的单点通信延迟与全网通信性能变化,将本文算法与算法A进行对比。

2) 多点故障。在4 096个节点规模的二维胖树中,测试不同注入率下虚通道的设置与容错路径的使用对全网平均延迟与吞吐率的影响,逐渐增加网络中叶交换机的故障数量,观察算法在多点故障下的容错能力。根据VTFTR的容错原理可知,当多点故障分布的行列增加时,需增加跳步容错的路径越多,整体网络冲突越严重,相应的网络性能会越差。因此,还需要对每种确定的故障数量情况进行不同分布的模拟,观察故障分布对容错性能的影响。需要说明的是,算法A用于多点故障时没有死锁预防策略,存在死锁的可能,因此,多点故障时选择对本文算法在不同故障数量与不同故障分布情况下的性能进行模拟实验,以观察本文算法的容错成本。

3.2 结果分析

在单点故障(高维胖树拓扑在结构上具有对称性,单个叶交换机的故障位置对结果不会产生影响)中,首先对比单点通信延迟的增加。网络中任意行列均不同的两点间通信延迟为237 ns,本文算法误路由时增加2个跳步,延迟为307 ns,yx路由时不增加跳步,延迟为237 ns;算法A增加4个跳步,延迟为377 ns。2种算法单点通信延迟的差距符合预期。图 6中0 error 1vc为VTFTR无故障时的全网性能,较不配置容错虚通道(0 error 2 vc)时的性能有略微下降,该现象的原因是设置的容错虚通道资源没有使用,属于正常的容错成本,可以通过提高硬件成本或改变缓冲配置来降低该影响。对比图 6中吞吐率与网络延迟的数据可以看出,在单点故障发生时,使用VTFTR进行容错只在高注入率时有少量的吞吐率下降与网络延迟上升。算法A在注入率超过50%时延迟明显上升,这是因为该算法使用固定的容错路径,网络负载提升到一定程度时,容错路径上的网络拥塞严重。综合来看,VTFTR的性能表现优于算法A,具体地,VTFTR与算法A在低注入率时性能表现差别不大,均对网络性能没有明显影响,但是在注入率升高至50%以上时,本文算法的吞吐率较算法A有明显提升,网络延迟有明显下降,原因是本文算法在单点故障容错时较算法A少用了2个~4个跳步,且随机分配容错路径较固定容错路径能避免单一容错路径上的拥塞。

Download:
图 6 单点故障下2种算法的性能对比 Fig. 6 Performance comparison of two algorithms under single point fault

当网络中存在多点故障时,故障的行列分布会在一定程度上影响容错算法的整体性能。图 7是故障叶交换机数量为5时不同故障分布情况对应的网络性能(c为故障同列,all为故障不同行不同列,r为故障同行,r1、r2为随机),可以看出,不同分布之间网络性能差距极小。在图 8中,故障数量增加至10个,故障分布对网络性能的影响逐渐凸显,但是整体吞吐率的波动在2%以内。

Download:
图 7 故障分布对网络性能的影响(5节点) Fig. 7 Effect of fault distribution on network performance (5 nodes)
Download:
图 8 故障分布对网络性能的影响(10节点) Fig. 8 Effect of fault distribution on network performance (10 nodes)

在模拟不同故障数量对网络的影响时,将故障节点设置在不同行不同列,降低故障分布给结果带来的影响。如图 9所示,网络整体性能随着故障数量的增加而逐渐降低,主要表现在吞吐率的下降与延迟的增加。当故障数量较少时,全网的通信性能几乎不变,故障数量上升至5时,VTFTR能以1%的吞吐率下降与少许延迟提升为代价实现非故障节点间的正常通信。即使叶交换机故障数量上升至10,其他节点之间的网络仍然可以正常使用,代价仅为2%的吞吐率下降与延迟上升。

Download:
图 9 不同故障数量对网络性能的影响 Fig. 9 Effect of different fault numbers on network performance

结合模拟结果可以看出:在网络负载较低时,容错路径的使用对整个网络间的通信影响极小,无论是吞吐率还是整个网络的延迟都没有因为容错路径与虚通道的设置而降低;在网络负载较高时,对于仍处于网络中的节点来说,整个网络的延迟仍然没有明显提升;在多点故障尤其是故障数量较多时,本文算法能够以较低的吞吐率下降为代价实现对全部无故障节点的无死锁容错路由,相较于算法A,VTFTR算法不仅在单点故障时表现更好,还补充了多点故障时的无死锁容错方案,整体容错能力有较大提升。

4 结束语

本文通过分析高维胖树中的容错设计特点,提出一种用于高维胖树叶交换机故障的容错路由算法VTFTR。该算法对容错虚通道的需求较小、容错跳步较少,且适用于多节点故障与实时突发故障的情况。本文的模拟推论都是基于二维胖树,在更高维度的胖树中可以推广使用,从而为高维胖树中容错路由的设计与选择提供新思路。下一步考虑从微结构入手,将胖树中的多轨结构[32]或泛树结构[33]应用于高维胖树,并针对这些结构设计容错算法,从而为高维胖树中的容错、故障修复等可靠性问题提供解决方案。

参考文献
[1]
Frontier-HPE CRAY EX235A, AMD optimized 3RD generation EPYC 64C 2 GHz[EB/OL]. [2022-07-05]. https://www.top500.org/system/180047/.
[2]
XU J Q, CAI D J, HE J, et al. A fault-tolerant routing strategy with graceful performance degradation for fat-tree topology supercomputer[C]//Proceedings of IEEE International Conference on High Performance Computing and Communications. Washington D. C., USA: IEEE Press, 2019: 405-412.
[3]
MCNAIRY C. Exascale fault tolerance challenge and approaches[C]//Proceedings of IEEE International Reliability Physics Symposium. Washington D. C., USA: IEEE Press, 2018: 15-26.
[4]
LEISERSON C E. Fat-trees: universal networks for hardware-efficient supercomputing[J]. IEEE Transactions on Computers, 1985, C-34(10): 892-901. DOI:10.1109/TC.1985.6312192
[5]
ZHANG H Y, WANG K F, ZHANG J M, et al. A fast and fair shared buffer for high-radix router[J]. Journal of Circuits, Systems and Computers, 2014, 23(1): 1450012. DOI:10.1142/S0218126614500121
[6]
KIM J, DALLY W J, SCOTT S, et al. Technology-driven, highly-scalable dragonfly topology[C]//Proceedings of International Symposium on Computer Architecture. Washington D. C., USA: IEEE Press, 2008: 77-88.
[7]
LINDER D H, HARDEN J C. An adaptive and fault tolerant wormhole routing strategy for k-ary n-cubes[J]. IEEE Transactions on Computers, 1991, 40(1): 2-12. DOI:10.1109/12.67315
[8]
CHAIX F, AVRESKY D, ZERGAINOH N E, et al. Fault-tolerant deadlock-free adaptive routing for any set of link and node failures in multi-cores systems[C]//Proceedings of IEEE International Symposium on Network Computing and Applications. Washington D. C., USA: IEEE Press, 2010: 52-59.
[9]
GLIKSBERG J, CAPRA A, LOUVET A, et al. High-quality fault resiliency in fat trees[C]//Proceedings of IEEE Micro. Washington D. C., USA: IEEE Press, 2019: 44-49.
[10]
MOLLAH M A, YUAN X, PAKIN S, et al. Rapid calculation of max-min fair rates for multi-commodity flows in fat-tree networks[J]. IEEE Transactions on Parallel and Distributed Systems, 2018, 29(1): 156-168. DOI:10.1109/TPDS.2017.2746078
[11]
PRABHU PRASAD B M, PARANE K, TALAWAR B. Hy-BTree: an efficient tree based topology for FPGA based NoC implementation[C]//Proceedings of IEEE International Conference on Electronics, Computing and Communication Technologies. Washington D. C., USA: IEEE Press, 2021: 1-6.
[12]
AHN J H, BINKERT N, DAVIS A, et al. HyperX: topology, routing, and packaging of efficient large-scale networks[C]//Proceedings of Conference on High Performance Computing Networking, Storage and Analysis. Washington D. C., USA: IEEE Press, 2009: 1-11.
[13]
DOMKE J, MATSUOKA S, RADANOV I, et al. The first supercomputer with HyperX topology: a viable alternative to fat-trees?[C]//Proceedings of IEEE Symposium on High-Performance Interconnects. Washington D. C., USA: IEEE Press, 2019: 1-4.
[14]
LIANG C H, CHENG C H, WU H L, et al. Beyond the performance of three-tier fat-tree: equality topology with low diameter[C]//Proceedings of International Symposium on Computer, Consumer and Control. Washington D. C., USA: IEEE Press, 2018: 22-29.
[15]
WANG Y D, LI Y M. Hybrid interconnection networks for reducing hardware cost and improving path diversity based on fat-trees and hypercubes[C]//Proceedings of International Symposium on Computing and Networking Workshops. Washington D. C., USA: IEEE Press, 2021: 254-260.
[16]
ADDA M, PERATIKOU A. Routing and fault tolerance in Z-fat tree[J]. IEEE Transactions on Parallel and Distributed Systems, 2017, 28(8): 2373-2386. DOI:10.1109/TPDS.2017.2666807
[17]
WANG Y D, LI Y M. Link fault tolerant routing algorithms in mirrored K-ary N-tree interconnection networks[C]//Proceedings of the 8th International Symposium on Computing and Networking Workshops. Washington D. C., USA: IEEE Press, 2021: 237-241.
[18]
FUJII H, YASUDA Y, AKASHI H, et al. Architecture and performance of the Hitachi SR2201 massively parallel processor system[C]//Proceedings of the 11th International Parallel Processing Symposium. Washington D. C., USA: IEEE Press, 1997: 233-241.
[19]
SCOTT S, ABTS D, KIM J, et al. The BlackWidow high-radix clos network[C]//Proceedings of the 33rd International Symposium on Computer Architecture. Washington D. C., USA: IEEE Press, 2016: 16-28.
[20]
KIM J, DALLY W J, TOWLES B, et al. Microarchitecture of a high radix router[C]//Proceedings of the 32nd International Symposium on Computer Architecture. Washington D. C., USA: IEEE Press, 2005: 420-431.
[21]
PEÑARANDA R, GÓMEZ C, GÓMEZ M E, et al. A new family of hybrid topologies for large-scale interconnection networks[C]//Proceedings of IEEE International Symposium on Network Computing and Applications. Washington D. C., USA: IEEE Press, 2012: 220-227.
[22]
方明. 高阶互连网络中路由器交换结构及互连拓扑结构研究[D]. 长沙: 中南大学, 2013.
FANG M. Research on router switching fabric and network topology for high radix interconnection network[D]. Changsha: Central South University, 2013. (in Chinese)
[23]
REQUENA C G, VILLAMÓN F G, REQUENA M E G, et al. RUFT: simplifying the fat-tree topology[C]//Proceedings of the 14th IEEE International Conference on Parallel and Distributed Systems. Washington D. C., USA: IEEE Press, 2008: 153-160.
[24]
WANG R B, LU K, CHEN J, et al. Brief introduction of TianHe exascale prototype system[J]. Tsinghua Science and Technology, 2021, 26(3): 361-369. DOI:10.26599/TST.2020.9010009
[25]
VIGNÉRAS P, QUINTIN J N. Fault-tolerant routing for exascale supercomputer: the BXI routing architecture[C]//Proceedings of IEEE International Conference on Cluster Computing. Washington D. C., USA: IEEE Press, 2015: 793-800.
[26]
曹继军, 刘路, 王永庆. 源路由胖树网络的端节点动态容错路由方法[J]. 计算机工程与科学, 2013, 35(3): 8-14.
CAO J J, LIU L, WANG Y Q. End-point dynamic fault-tolerant approach in source-routing fat trees[J]. Computer Engineering & Science, 2013, 35(3): 8-14. (in Chinese)
[27]
CHALASANI S, RAGHAVENDRA C S, VARMA A. Fault-tolerant routing in MIN-based supercomputers[J]. Journal of Parallel and Distributed Computing, 1994, 22(2): 154-167. DOI:10.1006/jpdc.1994.1078
[28]
KAWAZOE A, KUROKAWA Y, FUKUSHI M. A fault-tolerant adaptive routing method based on the passage of faulty nodes[C]//Proceedings of IEEE International Conference on Consumer Electronics. Washington D. C., USA: IEEE Press, 2020: 1-2.
[29]
KHICHAR J, CHOUDHARY S, MAHAR R. Fault tolerant dynamic XY-YX routing algorithm for network on-chip architecture[C]//Proceedings of International Conference on Intelligent Computing and Control. Washington D. C., USA: IEEE Press, 2017: 1-6.
[30]
徐佳庆, 万文, 蔡东京, 等. 高维胖树系统中确定性路由容错策略实现[J]. 计算机应用, 2018, 38(5): 1393-1398.
XU J Q, WAN W, CAI D J, et al. Implementation of deterministic routing fault-tolerant strategies for K-ary N-bridge system[J]. Journal of Computer Applications, 2018, 38(5): 1393-1398. (in Chinese)
[31]
PEÑARANDA R, GRAN E G, SKEIE T, et al. A new fault-tolerant routing methodology for KNS topologies[C]//Proceedings of the 2nd IEEE International Workshop on High-Performance Interconnection Networks in the Exascale and Big-Data Era. Washington D. C., USA: IEEE Press, 2016: 1-8.
[32]
WANG Y Y, LEI F, DONG D Z. Exploring node connection modes in multi-rail fat-tree[C]//Proceedings of IEEE International Conference on Cluster Computing. Washington D. C., USA: IEEE Press, 2021: 811-812.
[33]
高剑刚, 卢宏生, 何王全, 等. 神威E级原型机互连网络和消息机制[J]. 计算机学报, 2021, 44(1): 222-234.
GAO J G, LU H S, HE W Q, et al. The interconnection network and message machinasim of Sunway Exascale prototype system[J]. Chinese Journal of Computers, 2021, 44(1): 222-234. (in Chinese)