文献阅读《HPCC: high precision congestion control》

1. 内容简介 1.1 摘要 拥塞控制(CC)是高速网络实现超低延迟、高带宽和网络稳定性的关键。根据多年运营大规模高速 RDMA 网络的经验,我们发现现有的高速拥塞控制方案在实现这些目标方面存在固有的局限性。在本文中,我们提出了 HPCC(高精度拥塞控制),一种能同时实现上述三个目标的新型高速拥塞控制机制。HPCC 利用网内遥测(INT)获取精确的链路负载信息,并精确控制流量。通过解决拥塞期间 INT 信息延迟和对 INT 信息反应过度等难题,HPCC 可以在避免拥塞的同时快速收敛以利用空闲带宽,并能保持近乎零的网内队列以实现超低延迟。HPCC 在硬件上的部署也是公平、简单的。我们利用商品可编程网卡和交换机实现了 HPCC。在我们的评估中,与 DCQCN 和 TIMELY 相比,HPCC 可将流量完成时间缩短达 95%,即使在大规模数据交换的情况下也几乎不会造成拥塞。 1.2 研究动机 FPC风暴:网络上一旦出现阻塞,根据RoCEv2协议会发送FPC暂停帧,进而导致网络停摆 超大延迟:由于阻塞网络队列的影响,神经网络训练时的延迟大到超乎想象 收敛速度慢:由于依赖的Feedback信息颗粒度不够,导致处理大规模阻塞事件时收敛慢 不可避免的缓存队列:由于DCQCN和TIMELY等都依赖队列信息的感知,因此无法避免延迟大的问题 复杂的调参:不同的应用有不同的流量模式,不同的环境有不同的拓扑、链接速度、交换机缓冲区大小等,因此在不同环境下部署不同应用时都要对参数进行微调 1.3 主要贡献 HPCC的发送端可以快速提高发送速率以提高带宽利用率,同时可以快速降低发送速率,以避免产生阻塞 HPCC的发送端可以快速的调整发送速率以确保每条连接的输入速率略小于其带宽能力 一旦发送速率在路由中精确计算出结果,HPCC只需要3个独立的参数就可以调整其效率和公平性 2. 实现方法 Sender发送输入给Receiver,数据在经过中间的Switch时会被Switch添加一些INT数据作为metadata,Receiver在ACK时把这些metadata传递给Sender,然后Sender根据这些INT数据调整自己的发送速率 Sender通过发送窗口限制在途数据的数量 基于在途数据量的阻塞控制信号和控制策略 快速响应而不是过响应 实现方法,FPGA网卡 3. 实验结果 小规模测试+大规模NS3仿真 测试条件 - 网络拓扑 The testbed topology mimics a small scale RDMA PoD in our production. The testbed includes one Agg switch and four ToRs (ToR1-ToR4) connected via four 100Gbps links. There are 32 servers in total and each server has two 25Gbps NICs. 16 servers are connected to ToR1 and ToR2 via two uplinks, and the other 16 servers are connected to ToR3 and ToR4. The base RTT is 5.4μs within a rack and 8.5μs cross racks. ...

2024年6月15日 · 2 分钟

文献阅读《Impact of RoCE congestion control policies on distributed training of dnns》

1. 内容简介 1.1 摘要 聚合以太网(RoCE)上的 RDMA 协议因其与传统以太网结构的兼容性而对数据中心网络产生了巨大的吸引力。然而,RDMA 协议只有在(几乎)无损网络上才有效,这就强调了拥塞控制在 RoCE 网络中的重要作用。遗憾的是,基于优先级流量控制(PFC)的本地 RoCE 拥塞控制方案存在许多缺点,如不公平、头线阻塞和死锁。因此,近年来人们提出了许多为 RoCE 网络提供额外拥塞控制的方案,以尽量减少 PFC 的缺点。不过,这些方案都是针对一般数据中心环境提出的。与使用商品硬件构建并运行通用工作负载的普通数据中心不同,高性能分布式培训平台部署了高端加速器和网络组件,并使用集体(All-Reduce、All-To-All)通信库专门运行培训工作负载。此外,这些平台通常有一个专用网络,将其通信流量与数据中心的其他流量分开。可扩展的拓扑感知集体算法本质上就是为了避免同播模式并优化流量平衡而设计的。由于这些显著特点,我们有必要重新审视以前提出的通用数据中心环境拥塞控制方案。在本文中,我们深入分析了在分布式培训平台上运行时,一些最先进的 RoCE 拥塞控制方案(DCQCN、DCTCP、TIMELY 和 HPCC)与 PFC 的对比。我们的研究结果表明,以前提出的 RoCE 拥塞控制方案对培训工作负载的端到端性能影响甚微,因此有必要根据分布式培训平台和工作负载的特点设计一种优化的、低开销的拥塞控制方案。 1.2 研究动机 标准的RoCE协议使用FPC协议控制阻塞,但是会带来不平衡、队头阻塞和死锁的问题 传统的基于RoCE的阻塞控制算法是基于通用的数据中心构建的 之前的阻塞控制协议(DCQCN、TIMELY、HPCC等)并不适用于DNN训练的场景 1.3 主要贡献 第一个在DNN分布式训练任务上进行阻塞控制方案评估的工作 使用ASTRA-sim和NS3使用不同的阻塞控制方案进行仿真验证 对每个现成的阻塞控制方案进行详细的分析,包括集合通信和DNN训练负载等 不同的最先进 RoCE 拥塞控制方案对端到端培训性能影响甚微 我们为设计一种针对分布式训练的优化且低开销的拥塞控制方案指明了方向 2. 实现方法 使用ASTRA-sim仿真 网络拓扑 系统参数 3. 实验结果 3.1 Single-switch Incast micro-benchmark FPC only 队列快速满载,随后网络被反复暂停并重复这一过程 DCQCN在设置参数时确保没有FPC触发,且带宽率用率较高 DCTCP、TIMELY等在没有触发FPC帧的条件下 3.2 Single-switch Collectives Micro-benchmark 在8-128个GPU条件下进行All-To-All和All-Reduce集合通信 在集合通信条件下不存在阻塞,所以没有阻塞控制算法对其无效 ...

2024年6月15日 · 1 分钟

文献阅读《NS3 Simulator for a study of Data Center Networks》

1. 文章简介 1.1 摘要 部署在数据中心网络(DCN)上的应用日益复杂和先进,对 DCN 的新功能和更高性能提出了更高要求。这就产生了许多设计,以应对成本、性能、可靠性、可扩展性、安全性和能源等各种挑战。设计人员经常面临的一个主要挑战是如何实现他们提出的设计或实现现有设计进行比较。虽然原型设计是更好的选择,但它有一定的局限性,而且非常复杂和昂贵。因此,仿真被认为是原型设计的替代方案。 本文介绍了使用网络Network Simulator 3(NS3)实现 DCN 的各种架构并研究其性能的案例研究。我们提供的信息包括最流行的 DCN 设计的实现,以及 NS3 可用来研究其性能的工具。我们的努力是让初学者能够轻松使用 NS3 构建 DCN 的流行设计并研究其性能。 1.2 研究动机 数据中心的网络设计通常需要大量的成本 单个FPGA网卡的成本超过$599.0,在验证DCN可行性时成本是不可估算的 1.3 主要贡献 使用NS3仿真DCN:Fat-Tree、BCube、DCell、PortLand、4-4、1-4等 2. 实现方法 在他们提出的工作中实现DCN的不同设计 3.1 Fat-Tree 一个 k-ary 的胖树结构由k个 Pod 组成,每个 Pod 由 k/2 个 k 端口的交换机组成两层网络,k 端口的交换机中的k/2个端口连接下一层级的主机,剩余的 k/2 个端口连接上一层级,最终聚合到核心层。 以 10.0.0.0/8 地址段为例,可以为胖树网络进行IP编址 3.2 BCube BCube_0 是一个 BCube 网络拓扑的基础,可以将 n 个服务器连接到 1 个 n 端口的交换机上 BCube_1 由 BCube_0 演化而来,由 n 个 BCube_0 和 n 个 n 端口的路由器组成 ...

2024年6月15日 · 1 分钟

文献阅读《The GEM5 Simulator》

1. 文章简介 1.1 摘要 开源和社区支持的 gem5 仿真器是计算机体系结构研究领域最流行的工具之一。这种仿真基础架构允许研究人员在周期级别对现代计算机硬件进行建模,其保真度足以启动未经修改的基于Linux的操作系统,并为包括x86、Arm®和RISC-V在内的多种体系结构运行完整的应用程序。自gem5最初发布以来,gem5模拟器在过去九年中一直处于积极开发阶段。在此期间,有超过 250 位独特的贡献者对代码库进行了 7000 多次提交,通过添加新功能、修复错误和提高代码质量来改进模拟器。在本文中,我们将概述gem5的用法和功能,描述gem5模拟器的现状,并列举自gem5首次发布以来的主要变化。我们还讨论了gem5模拟器如何过渡到正式的管理模式,以便在未来20年的计算机体系结构研究中实现持续改进和社区支持。 1.2 主要贡献 gem5 可通过基于 Python 的强大脚本界面进行动态配置。大多数其他模拟器都是通过平面文本文件(如 json)或在编译时进行静态配置的。另一方面,gem5 允许用户使用面向对象的 Python 脚本将较简单的系统组成更复杂的系统,从而更轻松地模拟复杂系统。 gem5 可通过简洁的模型应用程序接口进行扩展。gem5模拟器有300多个参数化模型,添加新模型和参数简单明了,并有详细的文档说明。 gem5 是一个完整的系统模拟器。其高保真模型可支持启动未修改的操作系统和运行未修改的应用程序,并提供周期级统计数据。 gem5 是一个由社区驱动并经常更新的项目。gem5 社区蓬勃发展。自九年前首次发布以来,已有 250 多名独特的贡献者和 7000 多次提交。即使在过去六个月中,gem5 也有超过 850 次提交和 50 个独特的贡献者。 2. 实现方法 gem5的简单使用方法 gem5的组成部分

2024年6月15日 · 1 分钟

文献阅读《Tofu: a 6D mesh/torus interconnect for exascale computers》

在XYZ维度拓扑结构类似3D Torus架构 在ABC维度按照如图所示的架构链接 每个节点需要引出来10个链接,每XYZB轴各2条,AC轴为1条 Tofu架构先在ABC维度上进行拓扑,将12个Node互联形成一个Group 然后再在XYZ维度上进行Torus拓扑,最终实现数万个Node互联 每个Node使用一个(X,Y,Z,A,B,C)作为地址 主动路径算法支持最多12条路径 可以主动屏蔽故障路径 多路径中继策略

2024年6月15日 · 1 分钟