Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

选择性动态负载平衡 (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 操作码和相应过滤器的路径。

图 1:按流和按数据包 Per-Flow and Per-Packet Load Balancing负载平衡

配置语句

您可以通过两种方式有选择地启用 DLB。无论哪种情况,您都需要首先在按数据包模式下配置 DLB。每数据包是在启用 DLB 时使用的 DLB 模式。

全局禁用 DLB 并有选择地启用 DLB

如果需要 DLB 的数据包非常少,则可以在全局级别禁用 DLB,并按流有选择地启用它。首先,将 DLB 置于按数据包模式。然后,通过为所有以太网类型关闭 DLB 来全局禁用 DLB。默认情况下,所有数据包都将获得基于哈希的负载平衡。

现在,您可以配置防火墙过滤器以匹配 BTH+ 标头中的特定 RDMA 操作码。在该防火墙过滤器中启用按数据包的 DLB,以仅将 DLB 应用于这些数据包。例如:

其他数据包继续获取 SLB。

全局启用 DLB 并有选择地禁用 DLB

如果大多数数据包将受益于 DLB,请首先在全局级别为所有数据包配置 DLB。

现在,您可以配置防火墙过滤器以匹配 BTH+ 标头中的特定 RDMA 操作码。在该防火墙过滤器中禁用每数据包的 DLB,以查找要使用 SLB 处理的数据包。例如:

实施说明

(可选)您可以使用在小流模式下配置的 DLB 启用此功能。

您不能在同一设备上同时以每流和每数据包模式配置 DLB。

验证和故障排除