Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

RDMA 流的队列对散列

概述

负载均衡算法使用散列机制从链路聚合组 (LAG) 或 ECMP 束中选择最佳传出接口。大多数负载平衡算法会根据五元组信息进行哈希处理(即在链路之间划分流量负载)。5 元组信息涵盖第 2 层 (L2),其中包括源和目标 MAC 地址;第 3 层 (L3),包括源 IP 地址和目标 IP 地址;第 4 层 (L4),包括 TCP/UDP 端口。然而,在 AI-ML 训练网络中,大多数流量使用通过融合以太网的远程直接内存访问 (RDMA) 版本 2 (RoCEv2) 进行传输。ROCEv2 流量在 L4 端口上可能没有差异。这会导致熵减少,并可能导致负载平衡效率降低。

在使用 RoCEv2 进行应用程序流量传输的网络中,RDMA 连接在发送队列上发送流量,并在接收队列上接收流量。这些队列构成 RDMA 连接。发送队列和接收队列统称为队列对。每个队列对都有一个可识别的前缀。ROCEv2 使用目标队列对作为流标识字段。

您可以通过在哈希计算中包含目标队列对来增强 AI-ML 训练网络上的负载平衡。这称为队列对哈希。将目标队列对添加到哈希计算中,可以增加系统的熵,提高整体负载平衡效率。在支持此功能的设备和版本上,默认情况下会为所有 ROCEv2 流量启用队列对散列。

注意:

在设备上启用动态负载平衡 (DLB) 后,链路聚合组 (LAG) 接口上的队列对散列会自动禁用。

配置

验证队列对散列

默认情况下,负载平衡算法将 RDMA 队列对作为 RDMA 流量(IPv4 和 IPv6)散列计算的一部分。无需配置。

要确认已启用该功能,请使用以下命令并确认输出中的“RDMA 队列对”字段标记为“是”:

禁用队列对散列

要从负载平衡哈希计算中排除队列对,请配置以下内容:

  1. 使用命令检查show forwarding-options enhanced-hash-key设备上配置的散列模式。
    在此示例中,散列模式是默认 layer2-payload的 。为清楚起见,输出已缩短。
  2. 使用语句配置hash-mode散列模式。

    即使设备已在此示例中识别 layer2-payload 为散列模式,如上一步所示,您仍必须在 CLI 中进行配置。否则,提交将失败。

  3. 为 IPv4 或 IPv6 配置no-queue-pair选项。
  4. 提交配置。

平台支持

请参阅 功能浏览器, 了解平台和版本支持。