选择性动态负载平衡 (DLB)
概述
在 AI-ML 工作负载中,大多数应用程序流量使用融合以太网版本 2 (RoCEv2) 上的远程直接内存访问 (RDMA) 进行传输。动态负载平衡 (DLB) 非常适合在 RoCEv2 网络中实现高效负载平衡和防止拥塞。但是,静态负载平衡 (SLB) 对于某些类型的流量可能更有效。借助 选择性 DLB,您不再需要在 DLB 和 SLB 之间为遍历设备的所有流量做出选择。您可以在全局级别配置首选的 DLB 模式,然后有选择地为某些类型的流量启用 DLB。
您可以通过两种方式启用负载平衡:按流或按数据包。每流负载均衡是最广泛使用的,因为它一次处理的数据包数量最多。设备将具有相同 5 元组数据包标头的数据包分类为单个流。设备对流中的所有数据包给予相同的负载均衡处理。基于流的负载平衡适用于常规 TCP 和 UDP 流量,因为流量相当平等地利用所有链路。但是,按数据包的负载平衡可能会对某些数据包重新排序,这可能会影响性能。
许多人工智能集群通过智能网络接口卡 (SmartNIC) 将应用程序连接到网络,这些卡可以处理无序数据包。要提高性能,请在网络上启用按数据包的 DLB。然后,仅为那些能够处理无序数据包的端点服务器启用 DLB。您的设备会实时查看这些数据包的 BTH+ 报头中的 RDMA 操作码(操作码)。使用任何防火墙过滤器匹配条件,您可以根据这些操作码有选择地启用或禁用 DLB。其他流继续使用默认的基于哈希的负载均衡,也称为 SLB。
当大象流遇到对于整个数据流来说太小的链接时,选择性 DLB 也很有用。在这种情况下,选择性 DLB 可以计算数据中心交换矩阵中链路可用带宽的最佳使用情况。当您为大象流启用选择性的每数据包 DLB 时,算法会首先将数据包定向到质量最好的链路。随着链路质量的变化,算法会将后续数据包定向到下一个质量最佳的链路。
好处
-
改进大型数据流的网络处理。
-
在同一流量流中使用按数据包和按流的负载平衡以提高性能。
-
根据任何防火墙过滤器匹配条件自定义负载平衡。
平台支持
有关平台和版本支持,请参阅 功能资源管理器 。从 Junos OS 演化版 23.4R2 开始,以下平台支持此功能:
-
QFX5230-64光盘
-
QFX5240-64OD
-
QFX5240-64QD
拓扑学
在此拓扑中,DLB 以每数据包模式全局配置,然后有选择地启用。对于 Flow1,未启用 DLB,因此设备默认为负载平衡配置。在这种情况下,负载均衡配置为按流模式,因此流将定向到单个设备。
对于 Flow2,设备在流的数据包标头中检测触发过滤器匹配条件的 RDMA 操作码。由于 DLB 是在按数据包模式下全局配置的,因此设备将此流拆分为数据包。DLB 将每个数据包分配到基于数据包标头中的 RDMA 操作码和相应过滤器的路径。
配置语句
您可以通过两种方式有选择地启用 DLB。无论哪种情况,您都需要首先在按数据包模式下配置 DLB。每数据包是在启用 DLB 时使用的 DLB 模式。
全局禁用 DLB 并有选择地启用 DLB
如果需要 DLB 的数据包非常少,则可以在全局级别禁用 DLB,并按流有选择地启用它。首先,将 DLB 置于按数据包模式。然后,通过为所有以太网类型关闭 DLB 来全局禁用 DLB。默认情况下,所有数据包都将获得基于哈希的负载平衡。
set system packet-forwarding-options firewall profiles <inet | inet6 | ethernet-switching> udf-profile-name set forwarding-options enhanced-hash-key ecmp-dlb per-packet set forwarding-options enhanced-hash-key ecmp-dlb ether-type none
现在,您可以配置防火墙过滤器以匹配 BTH+ 标头中的特定 RDMA 操作码。在该防火墙过滤器中启用按数据包的 DLB,以仅将 DLB 应用于这些数据包。例如:
set firewall family inet filter f1 term t1 from rdma-opcode 10 set firewall family inet filter f1 term t1 then dynamic-load-balance enable set firewall family inet filter f1 term default then accept
其他数据包继续获取 SLB。
全局启用 DLB 并有选择地禁用 DLB
如果大多数数据包将受益于 DLB,请首先在全局级别为所有数据包配置 DLB。
set system packet-forwarding-options firewall profiles <inet | inet6 | ethernet-switching> udf-profile-name set forwarding-options enhanced-hash-key ecmp-dlb per-packet
现在,您可以配置防火墙过滤器以匹配 BTH+ 标头中的特定 RDMA 操作码。在该防火墙过滤器中禁用每数据包的 DLB,以查找要使用 SLB 处理的数据包。例如:
set firewall family inet filter f1 term t1 from rdma-opcode 10 set firewall family inet filter f1 term t1 then accept set firewall family inet filter f1 term t1 then dynamic-load-balance disable set firewall family inet filter f1 term default then accept
实施说明
(可选)您可以使用在小流模式下配置的 DLB 启用此功能。
您不能在同一设备上同时以每流和每数据包模式配置 DLB。
验证和故障排除
show forwarding-options enhanced-hash-key show pfe filter hw profile-info