<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Topology on zzudongxiang</title><link>https://www.zzudongxiang.com/tags/topology/</link><description>Recent content in Topology on zzudongxiang</description><generator>Hugo</generator><language>zh-cn</language><copyright>2026 zzudongxiang.com · 豫ICP备2022012018号-1 · 豫公网安备41160202000614号</copyright><lastBuildDate>Wed, 28 Aug 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://www.zzudongxiang.com/tags/topology/index.xml" rel="self" type="application/rss+xml"/><item><title>文献阅读《Alibaba HPN: A Data Center Network for Large Language Model Training》</title><link>https://www.zzudongxiang.com/posts/alibaba-hpn/</link><pubDate>Wed, 28 Aug 2024 00:00:00 +0000</pubDate><guid>https://www.zzudongxiang.com/posts/alibaba-hpn/</guid><description>&lt;div&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;Alibaba High Performance Network (HPN)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;HPN介绍了一种两层的双平面网络，可以在一个Pod中接入1.5w个GPU，通常需要3层Clos架构的网络才能容纳这么多GPU&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;HPN 提出了一种新的双 ToR 设计，以取代传统数据中心网络中的单 ToR&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="1-贡献与挑战"&gt;&lt;span fontsize="" color=""&gt;1. 贡献与挑战&lt;/span&gt;&lt;/h2&gt;
&lt;h3 id="挑战"&gt;&lt;span fontsize="" color=""&gt;挑战&lt;/span&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;&lt;strong&gt;流量模式&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;传统网络无法应对LLM的低熵、周期性、突发的网络特点，传统的数据中心网络一般是高熵的（传统网络中会存在百万条流，但是每条流的利用率特别低，一半小于20%）&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;ECMP在传统的数据中心的高熵、低利用率的网络中性能表现较好，但是在LLM训练中并不是最佳的&lt;/span&gt;&lt;/p&gt;
&lt;img src="images/image-zyhs.png" style="display: inline-block;width:100.0%;height:100.0%" /&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;&lt;strong&gt;单点故障的敏感性高&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;LLM训练是一个同步过程，所有GPU合作完成一系列迭代，任何一个GPU发生故障都有可能导致整个训练过程出现问题&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;对LLM训练影响最大的是与机架顶部（ToR）相关的单点故障，这种故障可能会影响到各种GPU&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;生产统计数据显示，LLM训练中出现的故障造成的损失是一般云计算故障的 20 倍&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="贡献"&gt;&lt;span fontsize="" color=""&gt;贡献&lt;/span&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;非堆叠的双层ToR网络，可以在两个交换机之间直接同步，很好的改善了大规模部署的可信度&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;适配最新的51.2Tbps的交换机芯片，可以将1K个GPU部署在Tier 1网络中，使96.3%的训练任务获得高性能的网络&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;我们的实验表明，使用HPN的LLM训练吞吐量比传统数据中心网络高14.9倍&lt;/span&gt;&lt;/p&gt;
&lt;h2 id="2-背景知识"&gt;&lt;span fontsize="" color=""&gt;2. 背景知识&lt;/span&gt;&lt;/h2&gt;
&lt;h3 id="llm的并行策略"&gt;&lt;span fontsize="" color=""&gt;LLM的并行策略&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;&lt;strong&gt;DP&lt;/strong&gt;：每次迭代使用All Reduce同步计算梯度数据&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;&lt;strong&gt;PP&lt;/strong&gt;：每次使用Send/Recv传递中间结果&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;&lt;strong&gt;TP&lt;/strong&gt;：每次迭代使用All Reduce/All Gather同步输出和对应的梯度&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="llm的流量特征"&gt;&lt;span fontsize="" color=""&gt;LLM的流量特征&lt;/span&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;带宽利用率周期性突发&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;流的数量少&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;传统的数据中心网络不适用于LLM流量模式&lt;/span&gt;&lt;/p&gt;
&lt;h3 id="llm对单点故障的敏感性"&gt;&lt;span fontsize="" color=""&gt;LLM对单点故障的敏感性&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;LLM每次的Checkpoint间隔大概在2-4小时，按照一个3k张GPU的集群计算，每次失败导致的回滚都将导致大约3w美元的损失&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;常见的监控工具和异常分析工具并不能避免网络产生故障，根据实验表明，在NIC到ToR之间每个月大概有0.057%的Link故障率，在ToR交换机每个月的故障率大约是0.051%，即一个LLM训练集群每个月可能会产生1-2次的Crash，5k-60k次的Link故障&lt;/span&gt;&lt;/p&gt;
&lt;img src="images/image-wxuc.png" style="display: inline-block;width:100.0%;height:100.0%" /&gt;
&lt;h3 id="llm网络架构的建设目标"&gt;&lt;span fontsize="" color=""&gt;LLM网络架构的建设目标&lt;/span&gt;&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;规模化：达到15K个GPU的规模，未来可以扩展到100K个GPU的规模&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;高性能：尽可能小的网络跳数，尽可能使用GPU-GPU直达的连接&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;单点故障容错率：在网络拓扑层尽可能改善单点故障的容错率&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="3-hpn架构"&gt;&lt;span fontsize="" color=""&gt;3. HPN架构&lt;/span&gt;&lt;/h2&gt;
&lt;img src="images/image-xjoy.png" style="display: inline-block;width:100.0%;height:100.0%" /&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;分为前端网络和后端网络，前端网络主要负责例如管理、接口、存储等网络流量，后端网络负责LLM的训练时的流量&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;每个Host包含8个GPU，使用NVLink互联，双向带宽达到400GBps-900GBps&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;每个Host包含9个2x200Gbps的网卡，其中一个连接到前端网络，其余的8个与GPU直连，接入后端网络&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;每个网卡的2个端口分别连接至不同的ToR网络，这种双ToR设计可以避免单点故障&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="4-双tor网络"&gt;&lt;span fontsize="" color=""&gt;4. 双ToR网络&lt;/span&gt;&lt;/h2&gt;
&lt;img src="images/image-goji.png" style="display: inline-block;width:100.0%;height:100.0%" /&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;传统数据中心的NIC的两个光缆接入一个交换机成为单ToR设计&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;双ToR设计将NIC的两个光缆接口分别接入不同的ToR交换机中&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;两个接口配置相同的IP和MAC地址，即使其中一个ToR故障，另外一个依旧可以正常工作&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;span fontsize="" color=""&gt;基于以上，同一个NIC的两个网卡共享相同的Queue Pair Context&lt;/span&gt;&lt;/p&gt;</description></item><item><title>《ASTRA-sim 系列两篇》</title><link>https://www.zzudongxiang.com/posts/astra-sim/</link><pubDate>Sat, 15 Jun 2024 00:00:00 +0000</pubDate><guid>https://www.zzudongxiang.com/posts/astra-sim/</guid><description>&lt;div&gt;
&lt;h1 id="astra-sim-enabling-swhw-co-design-exploration-for-distributed-dl-training-platforms"&gt;《ASTRA-SIM: Enabling SW/HW co-design exploration for distributed DL training platforms》&lt;/h1&gt;
&lt;h2 id="1-文章简介"&gt;1. 文章简介&lt;/h2&gt;
&lt;h3 id="11-摘要"&gt;1.1 摘要&lt;/h3&gt;
&lt;p&gt;现代深度学习系统主要依靠基于高性能加速器（如 TPU、GPU）的硬件平台进行分布式训练。目前的例子包括谷歌的云 TPU 和 Facebook 的 Zion。DNN 训练涉及 DNN 模型架构、并行化策略、调度策略、集体通信算法、网络拓扑和终端加速器之间复杂的相互作用。随着人工智能/ML 模型的创新不断加速发展，需要一种全面的方法来理解和驾驭未来系统中复杂的 SW/HW 设计空间，以支持未来 DNN 模型的高效训练。在这项工作中，我们做出了以下贡献：(i) 为分层扩展结构上的分布式训练建立了 SW/HW 设计空间；(ii) 开发了一个用于导航设计空间的网络模拟器；(iii) 展示了算法拓扑协同设计加速端到端训练的前景。&lt;/p&gt;
&lt;h3 id="12-研究动机"&gt;1.2 研究动机&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;对模型架构、并行策略、调度算法、集合通信、网络拓扑、终端算力的仿真&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;大规模并行训练成本高，在实际部署和训练之前，需要一个仿真工具进行评估&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="13-主要贡献"&gt;1.3 主要贡献&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;为分层加速器结构设计空间探索建立 SW/HW 设计空间，并确定扩展 DL 工作负载的关键瓶颈&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;开发名为 ASTRASIM 的端到端网络模拟器，用于评估设计空间的各个方面&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用 ASTRA-SIM 对 alltoall 和 Torus 拓扑的 all-reduce 和 all-to-all 集合的一维、二维和三维拓扑进行全面分析&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-实现方法"&gt;2. 实现方法&lt;/h2&gt;
&lt;img src="images/image-oiub.png" style="display: inline-block;width:100.0%;height:100.0%" /&gt;
&lt;h2 id="3-实验结果"&gt;3. 实验结果&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;实验参数&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: 16px; color: rgb(91, 70, 155)"&gt;&lt;img src="images/image-spfp.png" style="display: inline-block;width:35.0%" /&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>文献阅读《HPCC: high precision congestion control》</title><link>https://www.zzudongxiang.com/posts/hpcc-congestion-control/</link><pubDate>Sat, 15 Jun 2024 00:00:00 +0000</pubDate><guid>https://www.zzudongxiang.com/posts/hpcc-congestion-control/</guid><description>&lt;div&gt;
&lt;h2 id="1-内容简介"&gt;1. 内容简介&lt;/h2&gt;
&lt;h3 id="11-摘要"&gt;1.1 摘要&lt;/h3&gt;
&lt;p&gt;拥塞控制（CC）是高速网络实现超低延迟、高带宽和网络稳定性的关键。根据多年运营大规模高速 RDMA 网络的经验，我们发现现有的高速拥塞控制方案在实现这些目标方面存在固有的局限性。在本文中，我们提出了 HPCC（高精度拥塞控制），一种能同时实现上述三个目标的新型高速拥塞控制机制。HPCC 利用网内遥测（INT）获取精确的链路负载信息，并精确控制流量。通过解决拥塞期间 INT 信息延迟和对 INT 信息反应过度等难题，HPCC 可以在避免拥塞的同时快速收敛以利用空闲带宽，并能保持近乎零的网内队列以实现超低延迟。HPCC 在硬件上的部署也是公平、简单的。我们利用商品可编程网卡和交换机实现了 HPCC。在我们的评估中，与 DCQCN 和 TIMELY 相比，HPCC 可将流量完成时间缩短达 95%，即使在大规模数据交换的情况下也几乎不会造成拥塞。&lt;/p&gt;
&lt;h3 id="12-研究动机"&gt;1.2 研究动机&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;FPC风暴：网络上一旦出现阻塞，根据RoCEv2协议会发送FPC暂停帧，进而导致网络停摆&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;超大延迟：由于阻塞网络队列的影响，神经网络训练时的延迟大到超乎想象&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;收敛速度慢：由于依赖的Feedback信息颗粒度不够，导致处理大规模阻塞事件时收敛慢&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;不可避免的缓存队列：由于DCQCN和TIMELY等都依赖队列信息的感知，因此无法避免延迟大的问题&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;复杂的调参：不同的应用有不同的流量模式，不同的环境有不同的拓扑、链接速度、交换机缓冲区大小等，因此在不同环境下部署不同应用时都要对参数进行微调&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="13-主要贡献"&gt;1.3 主要贡献&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;HPCC的发送端可以快速提高发送速率以提高带宽利用率，同时可以快速降低发送速率，以避免产生阻塞&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;HPCC的发送端可以快速的调整发送速率以确保每条连接的输入速率略小于其带宽能力&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;一旦发送速率在路由中精确计算出结果，HPCC只需要3个独立的参数就可以调整其效率和公平性&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-实现方法"&gt;2. 实现方法&lt;/h2&gt;
&lt;img src="images/image-20240612113350024.png" style="display: inline-block;width:100.0%;height:100.0%" /&gt;
&lt;p&gt;Sender发送输入给Receiver，数据在经过中间的Switch时会被Switch添加一些INT数据作为metadata，Receiver在ACK时把这些metadata传递给Sender，然后Sender根据这些INT数据调整自己的发送速率&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Sender通过发送窗口限制在途数据的数量&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;基于在途数据量的阻塞控制信号和控制策略&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;快速响应而不是过响应&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;实现方法，FPGA网卡&lt;/strong&gt;&lt;/p&gt;
&lt;img src="images/image-20240612113825169.png" style="display: inline-block;width:50.0%" /&gt;
&lt;h2 id="3-实验结果"&gt;3. 实验结果&lt;/h2&gt;
&lt;p&gt;小规模测试+大规模NS3仿真&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;测试条件 - 网络拓扑&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;The testbed topology&lt;/strong&gt; 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.&lt;/p&gt;</description></item><item><title>文献阅读《Impact of RoCE congestion control policies on distributed training of dnns》</title><link>https://www.zzudongxiang.com/posts/roce-congestion-control/</link><pubDate>Sat, 15 Jun 2024 00:00:00 +0000</pubDate><guid>https://www.zzudongxiang.com/posts/roce-congestion-control/</guid><description>&lt;div&gt;
&lt;h2 id="1-内容简介"&gt;1. 内容简介&lt;/h2&gt;
&lt;h3 id="11-摘要"&gt;1.1 摘要&lt;/h3&gt;
&lt;p&gt;聚合以太网（RoCE）上的 RDMA 协议因其与传统以太网结构的兼容性而对数据中心网络产生了巨大的吸引力。然而，RDMA 协议只有在（几乎）无损网络上才有效，这就强调了拥塞控制在 RoCE 网络中的重要作用。遗憾的是，基于优先级流量控制（PFC）的本地 RoCE 拥塞控制方案存在许多缺点，如不公平、头线阻塞和死锁。因此，近年来人们提出了许多为 RoCE 网络提供额外拥塞控制的方案，以尽量减少 PFC 的缺点。不过，这些方案都是针对一般数据中心环境提出的。与使用商品硬件构建并运行通用工作负载的普通数据中心不同，高性能分布式培训平台部署了高端加速器和网络组件，并使用集体（All-Reduce、All-To-All）通信库专门运行培训工作负载。此外，这些平台通常有一个专用网络，将其通信流量与数据中心的其他流量分开。可扩展的拓扑感知集体算法本质上就是为了避免同播模式并优化流量平衡而设计的。由于这些显著特点，我们有必要重新审视以前提出的通用数据中心环境拥塞控制方案。在本文中，我们深入分析了在分布式培训平台上运行时，一些最先进的 RoCE 拥塞控制方案（DCQCN、DCTCP、TIMELY 和 HPCC）与 PFC 的对比。我们的研究结果表明，以前提出的 RoCE 拥塞控制方案对培训工作负载的端到端性能影响甚微，因此有必要根据分布式培训平台和工作负载的特点设计一种优化的、低开销的拥塞控制方案。&lt;/p&gt;
&lt;h3 id="12-研究动机"&gt;1.2 研究动机&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;标准的RoCE协议使用FPC协议控制阻塞，但是会带来不平衡、队头阻塞和死锁的问题&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;传统的基于RoCE的阻塞控制算法是基于通用的数据中心构建的&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;之前的阻塞控制协议（DCQCN、TIMELY、HPCC等）并不适用于DNN训练的场景&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="13-主要贡献"&gt;1.3 主要贡献&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;第一个在DNN分布式训练任务上进行阻塞控制方案评估的工作&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用ASTRA-sim和NS3使用不同的阻塞控制方案进行仿真验证&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;对每个现成的阻塞控制方案进行详细的分析，包括集合通信和DNN训练负载等&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;不同的最先进 RoCE 拥塞控制方案对端到端培训性能影响甚微&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;我们为设计一种针对分布式训练的优化且低开销的拥塞控制方案指明了方向&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-实现方法"&gt;2. 实现方法&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;使用ASTRA-sim仿真&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="images/image-20240612162335878.png" style="display: inline-block;width:50.0%" /&gt;
&lt;ul&gt;
&lt;li&gt;网络拓扑&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="images/image-20240612162354414.png" style="display: inline-block;width:65.0%" /&gt;
&lt;ul&gt;
&lt;li&gt;系统参数&lt;/li&gt;
&lt;/ul&gt;
&lt;img src="images/image-20240612162411148.png" style="display: inline-block;width:50.0%" /&gt;
&lt;h2 id="3-实验结果"&gt;3. 实验结果&lt;/h2&gt;
&lt;h3 id="31-single-switch-incast-micro-benchmark"&gt;3.1 Single-switch Incast micro-benchmark&lt;/h3&gt;
&lt;img src="images/image-20240612162627263.png" style="display: inline-block;width:100.0%;height:100.0%" /&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;FPC only 队列快速满载，随后网络被反复暂停并重复这一过程&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;DCQCN在设置参数时确保没有FPC触发，且带宽率用率较高&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;DCTCP、TIMELY等在没有触发FPC帧的条件下&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="32-single-switch-collectives-micro-benchmark"&gt;3.2 Single-switch Collectives Micro-benchmark&lt;/h3&gt;
&lt;img src="images/image-20240612163247646.png" style="display: inline-block;width:75.0%" /&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;在8-128个GPU条件下进行All-To-All和All-Reduce集合通信&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在集合通信条件下不存在阻塞，所以没有阻塞控制算法对其无效&lt;/p&gt;</description></item><item><title>文献阅读《NS3 Simulator for a study of Data Center Networks》</title><link>https://www.zzudongxiang.com/posts/ns3-data-center-networks/</link><pubDate>Sat, 15 Jun 2024 00:00:00 +0000</pubDate><guid>https://www.zzudongxiang.com/posts/ns3-data-center-networks/</guid><description>&lt;div&gt;
&lt;h2 id="1-文章简介"&gt;1. 文章简介&lt;/h2&gt;
&lt;h3 id="11-摘要"&gt;1.1 摘要&lt;/h3&gt;
&lt;p&gt;部署在数据中心网络（DCN）上的应用日益复杂和先进，对 DCN 的新功能和更高性能提出了更高要求。这就产生了许多设计，以应对成本、性能、可靠性、可扩展性、安全性和能源等各种挑战。设计人员经常面临的一个主要挑战是如何实现他们提出的设计或实现现有设计进行比较。虽然原型设计是更好的选择，但它有一定的局限性，而且非常复杂和昂贵。因此，仿真被认为是原型设计的替代方案。&lt;/p&gt;
&lt;p&gt;本文介绍了使用网络Network Simulator 3（NS3）实现 DCN 的各种架构并研究其性能的案例研究。我们提供的信息包括最流行的 DCN 设计的实现，以及 NS3 可用来研究其性能的工具。我们的努力是让初学者能够轻松使用 NS3 构建 DCN 的流行设计并研究其性能。&lt;/p&gt;
&lt;h3 id="12-研究动机"&gt;1.2 研究动机&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;数据中心的网络设计通常需要大量的成本&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;单个FPGA网卡的成本超过$599.0，在验证DCN可行性时成本是不可估算的&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="13-主要贡献"&gt;1.3 主要贡献&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;使用NS3仿真DCN：Fat-Tree、BCube、DCell、PortLand、4-4、1-4等&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-实现方法"&gt;2. 实现方法&lt;/h2&gt;
&lt;p&gt;在他们提出的工作中实现DCN的不同设计&lt;/p&gt;
&lt;img src="images/image-kamt.png" style="display: inline-block;width:100.0%;height:100.0%" /&gt;
&lt;h3 id="31-fat-tree"&gt;3.1 Fat-Tree&lt;/h3&gt;
&lt;p&gt;一个 k-ary 的胖树结构由k个 &lt;em&gt;Pod&lt;/em&gt; 组成，每个 &lt;em&gt;Pod&lt;/em&gt; 由 k/2 个 k 端口的交换机组成两层网络，k 端口的交换机中的k/2个端口连接下一层级的主机，剩余的 k/2 个端口连接上一层级，最终聚合到核心层。&lt;/p&gt;
&lt;img src="images/image-wcph.png" style="display: inline-block;width:100.0%;height:100.0%" /&gt;
&lt;p&gt;以 &lt;em&gt;10.0.0.0/8&lt;/em&gt; 地址段为例，可以为胖树网络进行IP编址&lt;/p&gt;
&lt;h3 id="32-bcube"&gt;3.2 BCube&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;BCube_0 是一个 &lt;em&gt;BCube&lt;/em&gt; 网络拓扑的基础，可以将 n 个服务器连接到 1 个 n 端口的交换机上&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;BCube_1 由 BCube_0 演化而来，由 n 个 BCube_0 和 n 个 n 端口的路由器组成&lt;/p&gt;</description></item><item><title>文献阅读《COSSIM: An open-source integrated solution to address the simulator gap for systems of systems》</title><link>https://www.zzudongxiang.com/posts/cossim/</link><pubDate>Fri, 07 Jun 2024 00:00:00 +0000</pubDate><guid>https://www.zzudongxiang.com/posts/cossim/</guid><description>&lt;div&gt;
&lt;h2 id="1-文章简介"&gt;1. 文章简介&lt;/h2&gt;
&lt;h3 id="11-摘要"&gt;1.1 摘要&lt;/h3&gt;
&lt;p&gt;在复杂的网络化异构系统时代，仅对设计中系统的部分、组件或属性进行独立仿真是不可行、不准确或不高效的。交互作用太多、太复杂，无法产生有意义的结果，而且以孤立的方式考虑系统的每个部分时，优化机会受到严重限制。所介绍的 COSSIM 仿真框架是首个已知的开源高性能仿真器，可全面处理包括处理器、外设和网络在内的系统；这种方法对 CPS/IoT 和高并行异构系统设计人员和应用开发人员都非常有吸引力。我们的高度集成方法通过精确的功率估算和安全子工具得到了进一步增强，这些工具可以挖掘所有系统组件，并对整个网络系统进行安全性和稳健性分析。此外，我们还开发了一个图形用户界面，以提供简便的仿真设置、执行和结果可视化。COSSIM 已在云计算和 CPS 系统的实际应用中进行了评估，显示出很高的准确性和性能，几乎与专用于模拟器的 CPU 数量成线性关系。&lt;/p&gt;
&lt;h3 id="12-研究动机"&gt;1.2 研究动机&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;针对CPS/IoT或依赖高度并行的异构系统的仿真场景，没有现有的、可靠的、高精度、高性能的工具&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;现有工具主要分为两类：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;一种面向系统功能设计，针对物理器件、处理器、电子组件、用户行为、事件、消息等（Ptolemy、Matlab Simulink、Modelica-based Simulation Environments）&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;另外一种可以处理周期精度、功耗等，主要在WSN中广泛应用（TOSSIM、COOJA）&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在云服务器仿真中常用的是：CloudSim及其衍生物&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="13-主要贡献"&gt;1.3 主要贡献&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;构建了一套COSSIM的仿真工具，具有高精度、高可信、高效的特点&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;仿真工具可以对系统性能、功耗、网络、安全等多方面进行评估&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;仿真工具主要面向两种系统：一种是Encompasses Systems（WSN、CPS、IoT等），另外一种是Cloud and Parallel/Distributed Systems&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="2-实现方法"&gt;2. 实现方法&lt;/h2&gt;
&lt;p&gt;COSSIM主要针对的软件栈、动态网络、能耗仿真等几个方面&lt;/p&gt;
&lt;h3 id="21-cossim组成"&gt;2.1 COSSIM组成&lt;/h3&gt;
&lt;h4 id="211-处理器仿真"&gt;2.1.1 处理器仿真&lt;/h4&gt;
&lt;p&gt;主要使用 &lt;strong&gt;GEM5&lt;/strong&gt; 对节点（处理器）进行仿真，它可以满足对周期精度、指令集、可配置等多个条件。但是由于GEM5不支持对能耗的仿真，因此使用 &lt;strong&gt;McPAT&lt;/strong&gt; 对能耗进行补充&lt;/p&gt;
&lt;h4 id="212-网络仿真"&gt;2.1.2 网络仿真&lt;/h4&gt;
&lt;p&gt;GEM5虽然可以支持到网络网卡（NIC）层级的仿真，但是不支持网络建模。使用 &lt;strong&gt;OMNET++&lt;/strong&gt; 处理从网卡层级及以上的仿真。&lt;/p&gt;
&lt;h4 id="213-组件集成"&gt;2.1.3 组件集成&lt;/h4&gt;
&lt;p&gt;需要在处理器仿真与网络仿真之间细心的设计通信接口和同步方案。使用 &lt;strong&gt;IEEE HLA&lt;/strong&gt; 对网络数据、消息、同步等进行网络控制&lt;/p&gt;
&lt;h3 id="22-cossim实现"&gt;2.2 COSSIM实现&lt;/h3&gt;
&lt;img src="images/image-uxry.png" style="display: inline-block;width:100.0%;height:100.0%" /&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;用户输入&lt;code&gt;系统配置&lt;/code&gt;、&lt;code&gt;运行的应用&lt;/code&gt;、&lt;code&gt;系统镜像&lt;/code&gt;、&lt;code&gt;网络拓扑&lt;/code&gt;等参数，通过仿真可以得到&lt;code&gt;处理器/网络状态&lt;/code&gt;、&lt;code&gt;应用是模拟输出&lt;/code&gt;、&lt;code&gt;功耗&lt;/code&gt;等信息&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;GEM5和McPAT模块用于仿真节点，在运行的时候是多个实例进行并行的&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;OMNET++用于多节点之间的网络模拟&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在节点（GEM5）和网络（OMNET++）之间通过HLA进行时钟同步&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;使用嵌入的COSSIMlib控制节点间的同步策略和全局同步策略&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;同一个网络上可以有多个不同算力，不同配置的GEM5实例，且节点间需要同时交换信息，因此同步是必要的&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="3-实验结果"&gt;3. 实验结果&lt;/h2&gt;
&lt;p&gt;COSSIM在&lt;code&gt;移动视觉搜索应用&lt;/code&gt;和&lt;code&gt;建筑管理系统应用&lt;/code&gt;上进行仿真和验证&lt;/p&gt;
&lt;h3 id="31-移动视觉搜索"&gt;3.1 移动视觉搜索&lt;/h3&gt;
&lt;p&gt;移动视觉搜索（Mobile Visual Search，MVS）是一个计算机视觉应用，主要分为图像分析和搜索两个阶段&lt;/p&gt;</description></item><item><title>文献阅读《TOPOOPT: Co-optimizing Network Topology and Parallelization Strategy...》</title><link>https://www.zzudongxiang.com/posts/topoopt/</link><pubDate>Thu, 16 May 2024 00:00:00 +0000</pubDate><guid>https://www.zzudongxiang.com/posts/topoopt/</guid><description>&lt;div&gt;
&lt;blockquote&gt;
&lt;p&gt;WANG W, KHAZRAEE M, ZHONG Z, et al. TopoOpt: Co-optimizing Network Topology and Parallelization Strategy for Distributed Training Jobs &lt;/p&gt;
\[Z\]&lt;p&gt;. NSDI. 2023 &lt;a href="https://www.usenix.org/conference/nsdi23/presentation/wang-weiyang"&gt;https://www.usenix.org/conference/nsdi23/presentation/wang-weiyang&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="论文简介"&gt;论文简介&lt;/h2&gt;
&lt;h3 id="1-摘要"&gt;1. 摘要&lt;/h3&gt;
&lt;p&gt;本文提出一种新的适用于DNN的直连结构网络$T_{OPO}O_{PT}$，它可以在计算、通信和网络拓扑三个维度上优化分布式训练的过程。我们演示了 AllReduce 流量的可变性，并利用此属性为 DNN 训练作业构建高效的网络拓扑。然后，$T_{OPO}O_{PT}$使用交替优化技术和名为TotientPerms的群论启发算法来找到最佳网络拓扑和路由计划以及并行化策略。我们构建了一个功能齐全的 12 节点直连原型，具有 100 Gbps 的远程直接内存访问 (RDMA) 转发。对真实分布式训练模型的大规模模拟表明，与类似成本的 Fat-tree 互连相比，TOPOOPT 将 DNN 训练时间减少了高达 3.4 倍。&lt;/p&gt;
&lt;h3 id="2-主要贡献"&gt;2. 主要贡献&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;综合考虑了计算、通信和网络拓扑三个维度的优化策略&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;分析了MP与AllReduce的流量特征&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;利用AllReduce的流量可变性优化AllReduce路径&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;利用交替优化技术和TotientPerms算法来找到最佳网络拓扑&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;在12个节点的情况下，比传统的胖树网络降低了DNN的3.4倍训练时间&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="实现方法"&gt;实现方法&lt;/h2&gt;
&lt;h3 id="1-架构"&gt;1. $T_{OPO}O_{PT}$架构&lt;/h3&gt;
&lt;p&gt;假定有n个Server，每个Server有d个接口，每个接口连接一个Optical Seicth，共计需要d个Optical Switch。Optical Switch可以通过配置可以在内部视作直接连接任意两个端口，从而实现任意两个Server之间的直接连接。&lt;/p&gt;
&lt;p&gt;论文中提到Server与Optical Switch之间的连接是使用RDMA网卡，并对其进行了修改：原生RDMA网卡会抛弃非本机的数据，修改后支持数据转发和数据中继。&lt;/p&gt;
&lt;img src="images/image-20240516221333441.png" style="display: inline-block;width:100.0%;height:100.0%" /&gt;
&lt;p&gt;TOPOOPT的网络连接方式&lt;/p&gt;
&lt;p&gt;论文中称Server的端口数量d为Server的Degree，它决定着每个Server与其他Server的连接数量，也是 $T_{OPO}O_{PT}$ 算法的一个计算参数。&lt;/p&gt;
&lt;h3 id="2-交替优化策略"&gt;2. 交替优化策略&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;问题&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;从计算、通信、网络拓扑三个维度对并行计算进行优化会产生一个非常大的搜索空间，导致该优化问题可能无法求得最优解。&lt;/p&gt;</description></item></channel></rss>