【论文阅读】Slim Fly: A Cost Effective Low-Diameter Network Topology 一种经济高效的小直径网络拓扑
文章目录
- Slim Fly: A Cost Effective Low-Diameter Network Topology
- 文章总结
- 1. 摘要
- 2. indroduction
- 3. 主要工作
- 主要思想
- references
Slim Fly: A Cost Effective Low-Diameter Network Topology
Slim Fly:一种经济高效的小直径网络拓扑 SC’14
Maciej Besta 苏黎世联邦理工学院 maciej.besta@inf.ethz.ch
Torsten Hoefler 苏黎世联邦理工学院 htor@inf.ethz.ch
文章总结
1. 摘要
Slim Fly 一种高性能、经济高效的网络拓扑,它接近理论上的最佳网络直径。
Slim Fly网络拓扑是基于一种图论方法,这种方法试图近似解决度-直径问题(degree-diameter problem)。度-直径问题是图论中的一个经典问题,指的是在给定图的度数(每个节点连接的边的数量)和直径(两个节点之间的最大最短路径长度)约束下,寻找具有最大节点数的图。换句话说,就是在限制网络中每个节点连接的数量(度)和网络的最大通信距离(直径)的条件下,设计一个尽可能大的网络。
分析表明,Slim Fly 在延迟、带宽、弹性、成本和功耗方面比其他拓扑具有显着优势。最后,文章提出了大型计算中心的无死锁路由方案和物理布局以及详细的成本和功耗模型。 Slim Fly 能够构建经济高效、高弹性的数据中心和 HPC 网络,在不同的 HPC 工作负载(例如模板或图形计算)下提供低延迟和高带宽。
2. indroduction
大型网络的关键属性由其拓扑决定:节点和电缆的布局。
设计高效拓扑时必须考虑几个指标。首先,高带宽是必不可少的,因为许多应用程序执行全方位通信。其次,网络可占总系统成本的 33% 和总系统能耗的 50% ,因此它们应该具有成本效益和能效。第三,低端点到端点延迟对于许多应用程序很重要,例如在高频交易中。最后,拓扑应该能够适应链路故障。
而降低网络直径不仅可以减少延迟,还可以降低网络成本及其消耗的能源量,同时保持高平分带宽。减小网络的直径有两个效果。首先,由于每个数据包经过较少数量的 SerDes,因此它降低了能耗。另一个结果是数据包访问更少的接收器和路由器缓冲区,因此不太可能与流经网络的其他数据包竞争。这使文章能够减少昂贵的路由器和连接的数量,同时保持高对分带宽。
胖树拓扑是提供高二分带宽的网络示例。尽管如此,每个数据包都必须遍历许多连接,因为它首先必须沿着树向上移动到达核心路由器,然后才向下到达其目的地。Dragonfly将直径减少到3,但它们的结构也限制了带宽,并且正如文章将要展示的那样,会对容错产生负面影响。在这项工作中,文章提出了一种名为 Slim Fly 的新拓扑,它进一步减小了直径,从而降低了成本、能耗和网络延迟,同时保持了高带宽和弹性。 Slim Fly 基于给定路由器基数的最小直径图,从这个意义上说,它接近给定路由器技术的最佳直径。
Slim Fly 能够使用现成的高基数路由器(例如 64 端口 Black Widow 或 Mellanox 108 端口导向器 )构建具有超过 100K 直径为 2 的端点的经济高效的全带宽网络。如第 II-A 节所述,可以使用直径 3 构建具有多达数千万个端点的较大网络。
文章的主要贡献:
• 文章设计并分析了一种新型的具有成本效益的低直径网络拓扑,称为“Slim Flies”。
• 文章讨论和评估不同的无死锁最小和自适应路由策略,并将它们与现有的拓扑和方法进行比较。
• 文章表明,与第一直觉相反,Slim Fly 使用更少的电缆和路由器,比类似的 Dragonflies 更能容忍链路故障。
• 文章展示了数据中心或 HPC 中心网络的物理布局以及详细的成本和能源模型。
• 文章提供了具有不同程度和网络规模的实用拓扑库,可轻松用于构建高效的 Slim Fly 网络1。该链接还包含第 III-VI 节中所有模拟的可重复性代码和扩展技术报告。
3. 主要工作
-
Slim Fly topologies 构建优化
本文使用的符号如表 I 所示:
目标是设计一个最佳或接近最佳的拓扑,在给定直径 D 和基数 k 的情况下最大化端点 N 的数量,并保持完整的全局带宽。为了形式化最优性的概念,文章利用众所周知的摩尔界限概念。摩尔界限 (MB) 确定具有给定 k 和 D 的潜在图可以具有的最大顶点数。Nr为:
1 + d ∑ i = 0 k − 1 ( d − 1 ) i 1 + d \sum_{i=0}^{k-1} (d-1)^i 1+di=0∑k−1(d−1)i当 D = 2 时,最大 Nr ≈ k′2。因此,使用 108 端口 Mellanox Director 交换机构建的示例网络将具有近 200,000 个端点(文章在第 II-B2 节中讨论集中 p 的选择)。当 D = 3 时,Nr 限制为 ≈ k′3,这将支持多达数千万个端点。因此,文章关注直径为2和2的图来进行相关构造。
-
Diameter-2 Networks
著名的Hoffman-Singleton图是一个直径为2的图,具有50个度数为7的顶点和175条边。然而,目前还没有一种通用的方案能够构造出最优或接近最优的图,对于大多数 D 和 k′,还不知道是否存在最优图,或者这些图能否接近Moore Bound(穆尔界限)。
为了开发直径为2的网络,作者使用了McKay、Miller和Širáň提出的一类图(称为MMS图)。这些图通过图覆盖技术构造而成。文章提出了一个简化的构造方案,并使用该方案设计了Slim Fly拓扑(SF MMS)。
-
Diameter-3 Networks
由于篇幅限制,文中省略了 BDF 和 DEL 图的具体构造方案的细节,这些细节可以在文献和技术报告中找到。尽管 BDF 和 DEL 图接近穆尔界限,但本研究主要关注 MMS图,因为它们的可扩展性适合大多数拥有超过10万个端点的大规模网络。对于直径为3的网络结构,虽然它们的成本和性能优势不如直径为2的网络明显,但在接近最优结构的情况下,仍能展现出类似的结果。
-
slimfly 结构分析
1. SF 提供所有比较拓扑中最小的直径 Diameter = 2
2. 对于所有考虑的拓扑,平均距离逐渐接近网络直径,并且对于所有分析的网络规模,SF 的平均距离最低。
3. SF 提供比 DF、FBF-3 更高的带宽。 -
ROUTING
-
最小静态路由(Minimal Static Routing)
在 Slim Fly 的最小(MIN)路由中,数据包要么直接路由(如果源路由器 Rs 直接连接到目的路由器 Rd),要么通过两跳路由(如果 Rs 和 Rd 之间的距离为2)。这种最小路由可以轻松地使用当前的静态路由技术实现,例如 InfiniBand 或 Ethernet。 -
Valiant 随机路由(Valiant Random Routing)
Valiant Random Routing (VAL) 算法可用于 Slim Fly 来应对对抗性流量场景,在这些场景下最小路由效率低下。该协议首先随机选择一个与 Rs 和 Rd 不同的路由器 Rr。然后数据包沿两条最小路径进行路由:从 Rs 到 Rr,再从 Rr 到 Rd。VAL 生成的路径可能包含2、3或4跳,具体取决于 Rs、Rr 和 Rd 是否直接连接。尽管可以施加约束,使得随机路径最多包含3跳,但模拟表明,这样会增加平均数据包延迟,因为可用路径的数量受到了限制。 -
非最小自适应路由(Non-minimal Adaptive Routing)
UGAL(Universal Globally-Adaptive Load-balanced)算法会基于跳数距离和端点之间队列的大小,选择最小路径或由 VAL 生成的路径。对于 SF 网络,作者研究了两种 UGAL 算法的变体: -
全局版本(UGAL-G)
UGAL-G 可以访问网络中所有路由器队列的大小。每次注入数据包时,它生成一组随机的 VAL 路径,与最小路径进行比较,并选择总的输出路由器队列最小的路径。模拟表明,选择4条路径时可以获得最佳的平均数据包延迟。UGAL-G 接近于理想的 UGAL 实现,因此可以用来评估本地版本的效果。 -
本地版本(UGAL-L)
UGAL-L 只能访问每个路由器的本地输出队列。它首先生成一组 VAL 路径并计算最小路径,然后将每条路径的长度(以跳数计)乘以本地输出队列的长度,选择结果最小的路径。生成的随机路径数量会影响模拟结果,实验表明选择4条路径可以实现最低的总体延迟。 -
死锁避免
1. 作者采用了类似于 Gopal 提出的策略,使用两个虚拟信道(VC0 和 VC1)来实现最小路由。
2. 对于自适应路由,使用四个 VC(因为距离为 4 的最大匝数)。在这里,简单地概括了上面的方案,对于 Ra 到 Rb 之间的 n 跳路径,在跳 k 上使用 VC k (0 ≤ k < n)。 为了避免最小路由中的死锁,还可以使用一种基于自动 VC 分配的通用死锁避免技术来打破通道依赖图中的循环。
- 结论
互连网络构成整个数据中心和 HPC 中心建设和维护成本的重要组成部分。因此,降低互连的成本和能耗对于网络社区来说是一项日益重要的任务。 提出了一种称为 Slim Fly 网络的新型拓扑,用于实施大型数据中心和 HPC 网络架构。为此,利用了一个概念,即降低网络直径可以减少穿过网络的数据包使用的昂贵网络资源(电缆、路由器)的数量,同时保持高带宽。将其定义为优化问题,并朝着摩尔界限进行优化。然后,提出了几种设计最佳网络的技术。采用了一系列 MMS 图,它在 D = 2 时接近摩尔界限,并基于它们设计了 Slim Fly。
Slim Fly 架构遵循高基数路由器和经济高效光纤的技术趋势。在当前技术限制下,比 Dragonfly 实现了 25% 的成本和功耗优势。预计光纤的进一步商品化将带来更具成本效益的连接,而硅工艺技术的进一步改进将带来更高基数的路由器。两者都将使 Slim Fly 未来的相对优势变得更大。
提出的路由策略在位排列和最坏情况流量模式下运行良好,并渐近地实现随机流量的高带宽。得益于类似于 Dragonfly 的模块化结构,Slim Fly 比随机网络等其他拓扑更容易部署。 理论分析表明,Slim Fly 比 Dragonfly 对链路故障的恢复能力更强,并且接近随机拓扑等高恢复能力的结构。这种反直觉的结果(因为拓扑使用更少的链接并实现更小的直径)可以通过具有扩展图属性的图结构来解释。 最后,引入的使用摩尔界限优化网络的方法可以扩展到更高直径的网络,在提供稍高的延迟的同时,可以建立允许数百万个端点的可扩展结构。通用方法基于数学优化方面的工程问题,可以有效解决网络中的其他挑战。
主要思想
“一切都与直径有关!”:优化拓扑以实现低直径,不仅可以减少延迟(由于路径较短),还可以减少成本和功耗,因为数据包将穿越,因此需要更少的路由器和电缆。
全带宽胖树与 Slim Fly 之间的比较:两种拓扑都提供高带宽,而 SF 减少了路由器(>50%)和电缆(>30%)的数量。
-
关键方法(减小直径)
针对图论中一个著名的概念 Moore Bound 优化了 Slim Fly 的结构。Moore Bound (MB) 确定了具有给定顶点度和直径的潜在图可以具有的最大顶点数。我们在构建方案中使用 MB 概念,并将其定义为具有给定直径 D 的网络可以包含的基数为 k 的路由器数量的上限。为了连接路由器,首先固定 D 和 k,然后使用/构建接近 MB 的这些 D 和 k 的图。文章专注于 D=2(但也简要分析了 D=3),并选择 k 以匹配可用路由器的基数。通过这种方式最大化了给定 D 和 k 的连接端点数量。这可以最大限度地降低每个端点的成本:直观地说,使用接近 MB 的图可以使 Slim Fly 网络在给定 D 和 k 的情况下尽可能地“膨胀”端点,从而最大限度地降低每个端点的成本/功耗。 -
构建slimfly的概述
第 1 部分: 每个 Slim Fly 由两个子图组成。这两个子图中的每一个都由相同数量的路由器组组成。在一个子图中,每个组内都有电缆,但这些组彼此之间不相连。每个组(在一个子图中)中的布线模式相同,并且通常与另一个子图中组内的布线模式不同。
第 2 部分: 组与子图紧密相连。它们形成一个完全连通的二分图(即,一个子图中的每个组都与另一个子图中的所有其他组相连)。
第 3 部分: 对于更简单的布局(例如,在数据中心中),可以重新排列来自不同子图的组并成对合并。因此,这种 Slim Fly 由相同的机架组成,并且每个机架具有相同的机架内布线模式。机架形成全连接图(即,每个机架都连接到所有其他机架)。
- 主要发现
低直径是关键:降低直径可降低延迟以及成本和功耗。直径为 2 的 Slim Fly 保留了高带宽,并且在成本、功耗和延迟方面均优于所有比较目标(低基数传统网络和最先进的高基数设计)。
摩尔图确保所需的网络属性:除上述属性外,接近摩尔边界的图可确保高带宽和弹性。它们还具有允许数据中心或超级计算机机架布局的连接结构。
值得一提,slimfly 的优异弹性性能非常有趣!
references
[1] https://spcl.inf.ethz.ch/Research/Scalable_Networking/SlimFly/
[2] Besta, Maciej, and Torsten Hoefler. “Slim fly: A cost effective low-diameter network topology.” SC’14: proceedings of the international conference for high performance computing, networking, storage and analysis. IEEE, 2014.
相关文章:

【论文阅读】Slim Fly: A Cost Effective Low-Diameter Network Topology 一种经济高效的小直径网络拓扑
文章目录 Slim Fly: A Cost Effective Low-Diameter Network Topology文章总结1. 摘要2. indroduction3. 主要工作 主要思想references Slim Fly: A Cost Effective Low-Diameter Network Topology Slim Fly:一种经济高效的小直径网络拓扑 SC’14 Maciej Besta 苏…...
Prometheus使用Pushgateway推送数据
Pushgateway简介 Prometheus 的 Pushgateway 是一个简单的 HTTP 服务器,它允许数据被推送到该服务器,而不是通过拉取的方式获取。它的存在是为了让临时和批处理作业能够将其指标暴露给 Prometheus。由于这类作业可能存在的时长不足以被主动抓取…...
【Oracle】调优与oracle最大连接数配置
博主介绍: 大家好,我是想成为Super的Yuperman,互联网宇宙厂经验,17年医疗健康行业的码拉松奔跑者,曾担任技术专家、架构师、研发总监负责和主导多个应用架构。 技术范围: 目前专注java体系,DDD&…...

Unity教程(十六)敌人攻击状态的实现
Unity开发2D类银河恶魔城游戏学习笔记 Unity教程(零)Unity和VS的使用相关内容 Unity教程(一)开始学习状态机 Unity教程(二)角色移动的实现 Unity教程(三)角色跳跃的实现 Unity教程&…...

图像超分辨率(ISR)
图像超分辨率(Image Super-Resolution, ISR)是一种图像处理技术,旨在通过软件算法从低分辨率的图像中重建出高分辨率的图像。这种技术对于改善图像质量、增加细节清晰度等方面非常重要,特别是在图像放大、卫星成像、医学成像和视频…...

园区网基础组网保姆级(mstp,vrrp,irf,eth-trunk,route-policy,ospf,bgp,rbm,nat,mlag等等)
本文实验使用模拟器:H3C HCL 5.10.2版本 一、园区核心/接入架构1.1.三层架构1.2.二层架构二、园区核心 To 接入实践2.1.MSTP+VRRP派系2.1.1.MSTP+VRRP配置2.1.2.MSTP+VRRP验证2.2.IRF+Eth-Trunk派系2.2.1.IRF+Eth-Trunk配置2.3.两种派系的对比2.4.VXLAN结构三、园区核心/出口架…...

大数据技术原理与应用
第一章、大数据概述 1、大数据时代的特征,并结合生活实例谈谈带来的影响。 (一)特征 1、Volume 规模性:数据量大。 2、Velocity高速性:处理速度快。数据的生成和响应快 摩尔定律:每两年,数…...

《黑神话悟空》开发框架与战斗系统解析
本文主要围绕《黑神话悟空》的开发框架与战斗系统解析展开 主要内容 《黑神话悟空》采用的技术栈 《黑神话悟空》战斗系统的实现方式 四种攻击模式 连招系统的创建 如何实现高扩展性的战斗系统 包括角色属性系统、技能配置文件和逻辑节点的抽象等关键技术点 版权声明 本…...

网络资源模板--Android Studio 通讯录App
目录 一、项目演示 二、项目测试环境 三、项目详情 四、完整的项目源码 一、项目演示 网络资源模板--基于Android studio 通讯录 二、项目测试环境 三、项目详情 首页 MainActivity 类是一个 Android 地址簿应用的核心部分,负责管理联系人列表的显示、搜索和添…...
Spring 出现 No qualifying bean of type ‘com.xxx‘ available 解决方法
目录 1. 问题所示2. 原理分析3. 解决方法4. 彩蛋4.1 bug彩蛋4.2 完整Demo4.3 补充Springboot1. 问题所示 出现如下问题: 19:58:23.476 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Creating shared instance of singleton bean o…...
C# 批量更改文件后缀名称
解决问题思路 解决固定文件夹下更改文件后缀名,采用轮询的方式, 流程如下: 获取当前文件名(带后缀的文件名)截取文件名称,去掉后缀另存为带更改后的后缀文件 注意:采用第三方插件࿰…...
KIC算法介绍及pyrosetta示例代码
Kinetic Loop Closure (KIC) 是 Rosetta 中一种重要的环区(loop region)建模算法,主要用于解决蛋白质中的柔性区域(特别是环区)的重构问题。环区是蛋白质中非常灵活的部分,通常结构不确定。KIC 算法采用基于运动学的解决方案,通过设置特定的几何约束,能够在给定的两端锚…...

【论文串烧】多媒体推荐中的模态平衡学习 | 音视频语音识别中丢失导致的模态偏差对丢失视频帧鲁棒性的影响
文章目录 一、多媒体推荐中的模态平衡学习1.1 研究背景1.2 解决问题1.3 实施方案1.4 文章摘要1.5 文章重点1.6 文章图示图 1:不同模型变体在 AmazonClothing 数据集上的初步研究图 2:CKD模型架构的说明图 3:在 Amazon-Clothing 数据集上训练过…...

【C语言二级考试】循环结构设计
C语言二级考试——循环结构程序设计 五.循环结构程序设计 1.for循环结构 2.while和do-while循环结构 3.continue语句和break语句 4.循环的嵌套 知识点参考【C语言】循环-CSDN博客 文章目录 1.for循环2.while和do-while循环结构3.continue语句和break语句4.循环的嵌套 1.for循环…...

诗文发布模板(python代码打造键盘录入诗文自动排版,MarkDown源码文本)
python最好用的f-string,少量代码打造键盘录入诗文自动排版。 (笔记模板由python脚本于2024年09月19日 19:11:50创建,本篇笔记适合喜欢写诗的pythoner的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free&am…...
GO主流开源框架
GO主流开源框架 Go 语言有着丰富的开源框架生态,涵盖了多种应用场景,如 Web 开发、数据库操作、微服务、日志处理等。以下是一些常见的 Go 框架及其典型作用场景: 1. Web 框架 Gin: 作用:一个高性能的轻量级 Web 框架ÿ…...
LeetCode:2398. 预算内的最多机器人数目 双指针+单调队列,时间复杂度O(n)
2398. 预算内的最多机器人数目 today 2398. 预算内的最多机器人数目 题目描述 你有 n 个机器人,给你两个下标从0开始的整数数组 chargeTimes 和 runningCosts ,两者长度都为 n 。第 i 个机器人充电时间为 chargeTimes[i] 单位时间,花费 ru…...

oracle 插入date日期类型的数据、插入从表中查出的数据,使用表中的默认数据
date sysdate to_date 插入从表中查出的数据 方式一 方式二 或者指定列名称 下边这个案例的前提是指定列插入,如果不指定,则也是默认的...

物流系统打单软件 佳易王物流运单怎么打印教程
一、前言 物流系统打单软件 佳易王物流运单怎么打印教程 1、佳易王物流管理系统可同时打印物流单和标签 2、如果一台电脑上有多台打印机,软件可以设置物流或标签对应的打印机,系统自动识别打印机。 二、软件程序图文说明 1、上图为 物流单在空白单上打…...
二叉树计算
题目描述 给出一个二叉树,请由该二叉树生成一个新的二叉树,它满足其树中的每个节点将包含原始树中的左子树和右子树的和。左子树表示该节点左侧叶子节点为根节点的一颗新树;右子树表示该节点右侧叶子节点为根节点的一颗新树。 输入描述 2行整数&#…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...

工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...

优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...