大规模集群,大语言模型(LLM)训练流量特点,ECMP(Equal-Cost Multi-Path Routing)流量极化拥塞原因。
视频分享在这:
2.1 ECMP等价多路由,大模型训练流量特点,拥塞冲突极化产生原因_哔哩哔哩_bilibili
一、ECMP介绍
ECMP(Equal-Cost Multi-Path Routing)等价多路径路由
未开启ECMP,无法充分利用路径资源。如图1所示,假设从S0到Server的为S0-S1-S2-S4即图中橘色路径,那么即便存在另一条等价路径,蓝色路径,路由器仍然会每次选择第一条橘色路径转发数据。除非此条路径发生拥塞,才会重新选择路径。
开启ECMP,便可同时利用这两条路径,进行基于流的负载均衡,例如主机A到Server的数据流选择橘色路径,主机B到Server的数据流选择蓝色路径。
ECMP是一个逐跳的基于流的负载均衡策略,当路由器发现同一目的地址出现多个最优路径时,会更新路由表,为此目的地址添加多条规则,对应于多个下一跳。可同时利用这些路径转发数据,增加带宽。
ECMP的路径选择策略:
ECMP的路径选择策略有多种方法:
- 哈希,例如根据源IP地址的哈希为流选择路径。
- 轮询,各个流在多条路径之间轮询传输。
- 基于路径权重,根据路径的权重分配流,权重大的路径分配的流数量更多。
哈哈哈,稍微详细的解释是这样的。
基于流负载分担(哈希):路由器根据IP报文的五元组信息(是指源IP地址,源端口,目的IP地址,目的端口,和传输层协议这五个量组成的一个集合。 例如:192.168.1.1 10000 TCP 121.14.88.76 80 就构成了一个五元组)将数据分成不同的流。具有相同五元组信息的IP报文属于同一个流。转发数据时,路由器把不同的数据流根据算法从多个路径上依次发送出去。
基于包负载分担(轮询):转发数据时,路由器把数据包从多个路径上依次发送出去。
基于带宽的非平衡负载分担(基于路径权重):报文按接口物理带宽进行负载分担(即基于报文的负载分担)。当用户为接口配置了指定的负载带宽后,设备将按用户指定的接口带宽进行负载分担,即根据各接口物理带宽比例关系进行分配。
二、ECMP面临的问题
然而ECMP是一种较为简单的负载均衡策略,实际使用中面临如下问题。
1.可能增加链路的拥塞
ECMP并没有拥塞感知的机制,只是将流分散到不同的路径上转发。对于已经产生拥塞的路径来说,很可能加剧路径的拥塞。而使用哈希的方法,产生哈希碰撞也会增加链路的拥塞可能。
2.非对称网络使用效果不好
例如图2中,A与h3之间的通信,ECMP只是均匀的将流通过B,D两条路径分别转发,但实际上,在B处可以承担更多的流量。因为B后面还有两条路径可以到达h3。
3.基于流的负载均衡效果不好
ECMP对于流大小相差不多的情况效果更好,而对于流大小差异较大,例如大象流和老鼠流并存的情况下,效果不好。如图2,主机h1到A的流量为15,h2到A的流量为5。那么无论为h1的流量选择哪条路径都会发生拥塞。但若将h1的流拆分成两部分传输,可以避免拥塞的情况。,在数据中心这种突发性流量多,大象流与老鼠流并存的环境中,需要慎重考虑选择的负载均衡策略,ECMP简单易部署但也存在较多问题需要注意。
三、大模型训练ECMP极化问题
案例针对大型语言模型(LLM)的网络设计HPN
流量模式挑战1:
云计算流量模式
一般云计算产生数百万个小流量(例如,低于10Gbps),网卡(NIC)利用率低,通常低于NIC容量的20%(简单点说,就是带宽没利用满)。一般云计算的流量模式如下图所示:
大语言训练流量模式
而LLM训练在每个主机上产生少量周期性的、突发的流量(例如,400Gbps),导致网卡带宽的高利用率,突发流量可直接达到网卡容量上限。400 Gbps的生产集群上,大语言模型训练的流量模式如下图所示:
这种突发的大流量,利用ECMP导致突发流量冲撞到同一链路上,就会发生严重拥塞。
大语言模型训练这种流量模式破坏了我们传统数据中心网络中广泛部署的等成本多路径(ECMP)负载平衡方案。由于ECMP采用散列算法在所有等效路径上均匀分布流量,因此ECMP可以在具有高熵和低利用率流量模式的网络(即传统的数据中心网络)中很好地工作。但在LLM训练的情况下则不然,由于LLM训练的流量模式是大流量同时转发。
传统数据中心网络的三层架构特性,大流量的转发会经过三次哈希(即ToR、汇聚层和核心层)。由于每次哈希的输入(即流量的五元组)保持不变,这种"级联"哈希的效果可能导致更严重的负载不平衡(即哈希极化),导致大流量需要在同一链路上转发,出现拥塞或者丢包。
参考资料
数据中心内负载均衡-ECMP的使用分析 | SDNLAB | 专注网络创新技术
多路径路由算法选择(1)------ECMP、WCMP - 多看多学多记多实践 - 博客园 (cnblogs.com)
Alibaba HPN: A Data Center Network for Large Language Model Training (ennanzhai.github.io)
下期预告:
阿里如何解决流量极化冲突问题