智算集群网络在什么场景下会出现拥塞?CLOS网络架构(以其主要提出者Charles Clos命名,最初用于实现无阻塞的电话交换网络)是一种广泛应用于现代数据中心和高性能计算环境中的网络设计方法。智算集群建设中落地的CLOS架构主要是:Spine-Leaf网络架构。其除了支持Overlay层面技术之外;Spine+Leaf网络架构的另一个好处就是能提供了更为可靠的组网连接,因为Spine层与Leaf 层是全交叉连接,任一层中的单交换机故障都不会影响整个网络结构。
但由于CLOS网络架构中的many-to-one流量模型和all-to-all流量模型,智算集群中无法避免的常常出现Incast现象,这是造成智算集群网络丢包的主要原因。many-to-one流量模型
如上图所示,leaf1、leaf2、leaf3、leaf4 和spine1、spine2、spine3形成一个无阻塞网络。假设服务器上部署了某分布式存储业务,某个时间内,server2上的应用需要从server1、server3、server4处同时读取文件,会并发访问这几个服务器的不同数据部分。每次读取数据时,流量分别从server1到server2、server3到server2、server4 到server2,形成一个many-to-one,这里是3vs1。整网无阻塞,只有leaf2向server2的方向出端口方向产生了一个3vs1的Incast现象,此处的buffer是瓶颈。无论该buffer有多大,只要many-to-one持续下去,最终都会溢出,即出现丢包。一旦丢包,会进一步恶化影响业务性能指标(吞吐和时延)。造成many-to-one流量模型网络的根本原因,在于多个发送端往同一个接收端同时发送报文产生了多对一的Incast流量。增加buffer可以缓解问题,但不能彻底解决问题,特别是随着网络规模的增加、链路带宽的增长,增加buffer 来缓解问题的效果越来越有限。要在many-to-one流量模型下实现无损网络,达成无丢包损失、无时延损失、无吞吐损失,唯一的途径就是引入拥塞控制机制,目的是控制从many到one的流量、确保不超过one侧的容量,如下图所示。
为了保证不出现buffer溢出而丢包,交换机leaf2必须提前向源端发送信号抑制流量,同时交换机必须保留足够的buffer以在源端抑制流量之前接纳报文,这些操作由拥塞控制机制完成。当然,这个信号也可以由服务器server2分别发给server1、server3和server4。因为信号有反馈时延,为了确保不丢包,交换机是必须有足够的buffer以在源端抑制流量之前容纳排队的流量,buffer机制没有可扩展性,这意味着除了拥塞控制机制之外,还需要链路级流量控制。
all-to-all流量模型
如上图所示,leaf1、leaf2、leaf3 和 spine1、spine2、spine3形成一个无阻塞网络。假设服务器上部署了某分布式存储业务,server1与server4是计算服务器,server2与server3是存储服务器。当server1向server2写入数据、server4向server3写入数据时,流量分别从server1到server2、server4到server3,两个不相关的one-to-one形成一个all-to-all,这里是2vs2。整网无阻塞,只有spine2向leaf2的方向出端口方向是一个2vs1的Incast流量,此处的buffer是瓶颈。无论该buffer有多大,只要all-to-all持续下去,最终都会溢出,即出现丢包。一旦丢包,会进一步恶化影响吞吐和时延。造成all-to-all流量模型网络的根本原因,在于流量调度进行路径选择时没有考虑整网的负载分担使多条路径在同一个交换机处形成交叉。要在all-to-all流量模型下实现无损网络,达成无丢包损失、无时延损失、无吞吐损失,需要引入负载分担,目的是控制多个one到one的流量不要在交换机上形成交叉,如下图所示,流量从server1到spine1再到server2、从server4到spine3再到server3,整网无阻塞。
事实上,报文转发、统计复用就意味着有队列、有buffer,不会存在完美的负载分担而不损失经济性。如果采用大buffer吸收拥塞队列,则成本非常高且在大规模或大容量下无法实现,比如这里单纯使用大buffer保证不丢包,spine2的buffer必须是所有下接leaf的buffer总和。为了整网不丢包,除了buffer以外,还得有流量控制机制以确保点到点间不丢包。如下图所示,all-to-all流量模型下,采用的是“小buffer交换机芯片+流量控制”,由小buffer的spine2向leaf1和leaf3发送流量控制信号,让leaf1和leaf3抑制流量的发送速率,缓解spine2的拥塞。
拥塞控制是一个全局性的过程,目的是让网络能承受现有的网络负荷。解决网络拥塞,往往需要交换机、流量发送端、流量接收端协同作用,并结合网络中的拥塞反馈机制来调节整网流量才能起到缓解拥塞、解除拥塞的效果。
智算集群IB组网的优势
InfiniBand(也称为“无限带宽”,缩写为 IB)是一个用于高性能计算的计算机网络通信标准,它具有极高的吞吐量和极低的延迟,可用于服务器与服务器之间的数据互连、服务器与存储系统之间的直接或交换互连、以及存储系统之间的互连。IB实现了无丢包传输,不会因缓冲区溢出而丢失数据;支持端点之间的拥塞通知,类似于TCP/IP中的ECN;提供卓越的服务质量,允许对某些类型的流量进行优先处理,降低延迟,防止丢包等能力。随着人工智能的兴起,IB成为GPU服务器的首选网络互连技术。那么IB组网在智算集群环境中具有哪些优势?1. 高带宽IB网络提供高带宽的数据传输能力,通常支持数百Gb/s甚至更高的带宽,取决于网络设备和配置。高带宽使得节点之间可以以高速进行数据交换,适用于大规模数据传输、并行计算和存储系统等应用。2. RDMA技术加速计算的一个关键技术,是CPU卸载,让IB网络架构可以以最少的CPU资源来传输数据,实现方式如下:
-
RDMA技术,把一台服务器内存中的数据直接写入另一台的内存,不需要CPU的参与
-
GPU Direct技术,可以直接访问GPU内存中的数据,将GPU内存中的数据传输到其他节点
3. 低延迟IB网络以其极低的延迟而著称。RDMA零拷贝网络减少了操作系统开销,使得数据能够在网络中快速移动,网络延迟可低质0.7微秒。
4. 扩展性IB网络具有出色的可扩展性,适用于构建大规模计算集群和数据中心。它支持多级拓扑结构,如全局互连网络、树状结构和扁平结构,可以根据应用需求和规模进行灵活配置和扩展。此外,IB网络还支持多个子网的互连,使得不同子网之间的节点可以进行通信和数据交换。IB支持多种网络拓扑:
规模较小时,建议选用2层fat-tree;更大规模可以采用3层fat-tree的组网拓扑;一定规模以上,可以采用Dragonfly+的拓扑节约一部分成本。
5. 网络稳定性和弹性长期运行的网络不可避免的会出现一些故障,NVIDIA IB解决方案提供一个机制,叫做Self-Healing Networking的自愈网络,它是基于IB交换机的硬件能力。自愈网络可以让链路故障恢复的时间仅仅需要1毫秒,比普通的恢复时间快5000x倍。
在 AI 发展的浪潮中,我们深知强大算力对于推动 AI 创新的关键作用。英智未来专注于提供高效、稳定、灵活的算力租赁服务,助力您的 AI 项目飞速发展。
无论您是科研机构、创新企业还是个人开发者,英智未来的算力租赁都能为您量身定制解决方案,让您无需为高昂的硬件投入和复杂的运维烦恼,轻松拥抱 AI 新时代!
标签:智算,buffer,网络,流量,拥塞,server2,IB,组网 From: https://www.cnblogs.com/ai2nv/p/18335228