【论文评析】A High-Performance Design, Implementation, Deployment, and Evaluation of The Slim Fly Network

Slim Fly (SF)

题目:A High-Performance Design, Implementation, Deployment, and Evaluation of The Slim Fly Network

名称:Slim Fly 网络的高性能设计、实现、部署和评估

论文:https://www.usenix.org/conference/nsdi24/presentation/blach

单位:苏黎世联邦理工学院、瑞士国家超级计算中心

会议:NSDI 2024

original work:Maciej Besta and Torsten Hoefler. 2014. Slim fly: a cost effective low-diameter network topology. In ACM/IEEE Supercomputing. New Orleans, Louisana, 348–359. ISBN: 9781479955008. DOI: 10 .1109/SC.2014.34.

在这里插入图片描述

Abstract

新型的低直径网络拓扑Slim Fly ( SF ),与已建立的Fat Tree、Clos或Dragonfly相比,具有显著的成本和功率优势。为了率先采用低直径网络,我们设计、实施、部署和评估了第一个真实世界的SF安装。我们重点关注200台服务器的测试集群的部署、管理和运营方面,并仔细分析性能。我们展示了用于简单布线和布线验证的技术,以及基于IB交换机的低直径拓扑的新型高性能路由架构。我们的真实世界基准测试程序显示了SF对于许多现代工作负载的强大性能,例如深度神经网络训练,图分析或线性代数核。SF在可扩展性方面优于非阻塞胖树,同时为大型网络提供可比或更好的性能和更低的成本。我们的工作可以方便地部署SF,同时相关的(开源的) 路由架构是完全可移植的,适用于加速任何低直径互连。

1, INTRODUCTION

Slim Fly ( SF ) 低直径2网络拓扑,不仅可以通过减少端到端延迟来提高性能,而且还可以降低成本和功耗。当直径较小时,数据包平均遍历的交换机、交换机缓冲区和链路较少。因此,构建网络(对于固定的带宽)需要更少的链路和缓存,并且网络转发数据包需要更少的动态功耗。

但是SF尚未在实践中部署。本文设计、实施、部署和评估了首个SF安装,包括交换机和端点。

为了最大化使用SF带来的性能收益,本文设计并实现了一种新的适用于一般低直径网络的高性能多路径路由方案,并且独立于底层拓扑细节和互连结构,可以在不同拓扑和不同架构(以太网或IB交换机)上移植使用。

在评估中,考虑了广泛的通信密集型应用(传统的密集计算,稀疏图处理,深度神经网络训练),以及一些测试特定流行通信模式的微观测试。结果表明,SF在提供高性能的同时实现了最优或接近最优的可扩展性,SF在大多数使用的应用中提供了与FT相当或更好的性能。

2,网络模型与拓扑

在这里插入图片描述

SF的目标是设计一个最优或接近最优的拓扑,使得对于给定的直径D和端口数k,最大限度地增加端点数N,并保持全局带宽。

拓扑的构建由整数q决定,且q满足 q = 4 w + δ q = 4w + δ q=4w+δ,δ ∈ {−1, 0, 1}

交换节点个数 N r = 2 q 2 N_r = 2q^2 Nr=2q2

组间链路数: k ′ = 3 q − δ 2 k' = \frac{3q - δ}{2} k=23qδ

交换机连接节点数: p = ∣ k ′ 2 ∣ + 1 p = |\frac{k'}{2}| + 1 p=2k+1

文中示例为,q=5,Nr=50, w=1, δ=1, k’=7, p=4

在这里插入图片描述

q被确认后,构建基环Zq。例如q=5,Z5={0,1,2,3,4}

每个交换机被分配三元标签{0,1} x Zq x Zq,如0.0.1,0.2.3 。此时,q的意义可以理解为机架数

连接关系为:

switch (0, x, y) is connected to (0, x, y′) ⇐⇒ y − y′ ∈ X

同一个机架的0组互补相连

switch (1, m, c) is connected to (1, m, c′) ⇐⇒ c − c′ ∈ X′

同一个机架的1组互补相连

switch (0, x, y) is connected to (1, m, c) ⇐⇒ y = m · x + c

不同机架的0组连到1组,且满足方程

所以连接完成后SF拓扑的底层图由两个相同大小的子图组成。一个子图包含路由器( 0 , x , y),另一个子图包含路由器( 1 , m , c)。每个子图包含q个相同的交换机组。同一子图内的组与组之间没有连接,即不同组的两个交换机( 0 , x , y)之间,( 1 , m , c)之间没有连接。然而,一个子图中的每个组都与另一个子图中的其他组有连接;这样,群体就形成了一个完全连通的二部图。这个特性方便了物理布局,将来自不同子图的组两两组合。最终导致q个机架,每个机架有2q个路由器。在SF实物中,有5个机架,每个机架有10个路由器和40个计算节点。

SF的规模N比较稀疏,一般取q的值接近于N的立方根。

3,首次大规模SF部署

该集群由瑞士国家超级计算中心( CSCS )主办。

3.1, 部署硬件设备
3.2, 拓扑结构与构造

构建过程在2中有推导,最终机架数q=5,每个机架有2q=10台交换机,每台交换机有k’=7个端口用于组间互连,有w=4个端口用于挂载服务器,最终规模为200节点。机架内0组和1组互连如图所示。

在这里插入图片描述

3.3,部署的高效性和易用性

本文开发了脚本,概述了机架内和机架间的连接,为每个交换机提供具体的端口到端口链路描述和机架放置。

3.4, 正确性验证

本文提供了一套脚本来保证布线的正确性,可以识别错误的有线电缆,并提供如何纠正错误的具体指令,还可以检测丢失或断开的链接。

4,高性能的多路径技术

本文提出了一种新的适用于低直径网络的高性能多径路由协议,对最近提出的Fat Paths多路径路由协议进行了扩展。

4.1原始的Fatpaths路由算法

在SF中,任意开关对之间通常只有一条最小路径,但存在多条"几乎"最小路径。这使得利用ECMP在SF中实现高路径多样性具有一定的挑战性。

在这里插入图片描述

在Fat Paths中,分层路由的层指的是链接的子集,在构建图层时链接的选择是通过简单的随机均匀抽样完成的,两个节点间不同的使用不同的层传输不同的流。在一层内,采用最短路径路由。这个路径通常为非最小(在全局意义上)。

4.2提出了多路径路由

分层路由的核心问题是如何将链路划分为多个层。本文的目标是最小化层的数量,同时最大限度地增加任何交换机对之间不相交和几乎最小的路径的数量(以获得更多的路径分集)。理想情况下,层构造算法找到一组最小的层,这些层一起为每个交换机对提供至少三个不相交的路径,同时确保这三条路径包括最小路径(始终存在)和两条“几乎”最小路径(在下文中,“几乎”的最小路径是指比两个给定交换机之间的最小路径长一跳的路径)。

本文提出的层路由的概述如图 (右)所示。本方案与Fat Paths的关键区别在于,每个层保留所有链接,将死锁消除与层创建解耦,并显式地构造满足其计数、非最小长度和良好平衡性的适当约束的路径。

4.3生成路由层

本文的层构建方案详见算法1。输入为开关间连接的拓扑结构G = ( V、E),以及所需的层数| L |。输出为一组层L,其中每一层包含连接不同对节点的路径集合。这些路径共同为每个节点定义了一棵独立的转发树。

在这里插入图片描述

层的生成是从将所有的链接分配给层1开始的。在第1层中,只使用最小路径。初始化一个矩阵W和一个优先级队列p,用于为每个节点对寻找有利的非最小路径。节点对u,v的优先级p( u , v)由已分配给u,v的非最小路径的数目(并在其他层中保持)决定。p( u , v)越高,u,v的优先级越低,即在寻找新的非最小路径时,优先分配路径较少的节点对。

矩阵W中的每个元素W ( r , s)描述了交换机r,s之间链路的权重。该权重等于已经使用该链路的路径数(从任何一层)。W ( r , s)越高,使用相应链路的路径越多。

对于层2~|L|,我们找到每层节点对的一个几乎最小的路径(多一跳),该路径相对于已经添加到任何其他层的路径重叠最少。为此,当在层x中查找路径时,我们首先将节点对的当前优先级复制到保留当前优先级状态的列表中。每个节点对在列表中显示两次,每个方向显示一次。这使得在不同方向布线时能够使用不同的路径,进一步增加了路径选择的灵活性。

5, 多路径实现

路由配置由集中式子网管理器( SM )管理。SM配置连接的IB设备,适当计算转发表来实现采用基于目的节点的路由算法,并对网络进行故障监测。

5.1, 路由

多路径在ECMP中,每个路由器存储多个可能的下一跳,每个下一跳位于到达目的节点的最小路径上。但这种为给定目的地存储多个下一跳的方式在IB中是不可能的。但可以通过为每个HCA分配多个LID来模拟,本文使用这个特性来启用多路径,实现分层路由。一个HCA可以接收到一个连续的LID地址范围。这个范围由所谓的LID掩膜控制( LID Mask Control,LMC )值决定。具体来说,对于一个LMC等于x,每个HCA端口承载连续范围为2x的LID。然后,使用不同的路径朝向每个这样的LID的路线。层的id作为LID的偏移量。

5.2 死锁避免

本文提出并启用了两种不同的死锁避免方案。首先,如果有足够数量的VL可用,我们采用已集成在IB中的无死锁单源最短路径( Deadlock-Free Single Source Shortest-Path,DFSSSP )算法引入的方案。DFSSSP首先找到所有可能导致死锁的依赖关系,然后以无死锁的方式迭代地容纳这些依赖关系,通过分配选定的路由来使用尚未占用的VL。如果没有足够的VL可用,则算法失败。

在通过增加使用的层数,节点对之间的唯一路径总数增加,导致使用DFSSSP方案解决死锁所需的虚拟通道( VL )数量增加。为了最大化支持的层数,本文基于Duato的方法,提出了一种新的死锁避免方案,算法确保连接两个节点的任意路径的第一、第二和第三交换跳使用不相交的VL子集。

5.3 负载均衡

对于负载均衡,本文使用Open MPI的默认负载均衡技术,该技术使用轮转选择过程将流量均匀地分布在可用路径上。

5.4路径多样性vs 网络规模

6理论分析

本章使用部署的SF网络作为案例研究,对开发的路由协议进行了理论分析,表明所提出的分层路由在关键指标:长度、分布和使用路径的多样性,以及所实现的吞吐量方面都优于最先进的路由。

7评估

Microbenchmarks:使用Intel MPI Benchmarks ’ ( IMB )测量Allreduce和Bcast集群,以及一个自定义的alltoall来评估系统的带宽。还使用Netuge的eBB基准评估了系统的有效对分带宽( ebb )。

Scientific Application & HPC Benchmarks:评估了广泛的基准,涵盖了各种科学应用。还分析了高性能Linpack ( HPL )和广度优先搜索( BFS ) 在Graph 500 Benchmark中的性能。

DNN Proxies:在SF上评估的DNN代理包括ResNet152(纯数据并行),CosmoFlow(数据和操作符的并行性)和GPT - 3 (数据、操作符和流水线的并行性)。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值