Skip to main content

服务质量

存在通信重叠的应用程序,可能会受益于网络服务质量(Quality of Service,QoS)特性。MCCL 允许应用程序为每个通信器分配一个流量类别(Traffic Class,TC),以标识通信器的通信需求。通信器上的所有网络操作都将使用分配的 TC。

TC 的含义特定于通信器使用的网络插件(例如,IB 网络使用服务级别(Service Level,SL),RoCE 网络使用服务类型)。TC 由系统配置定义。应用程序必须了解系统上可用的 TC 及其相对行为,以便有效地使用它们。

TC 在通信器创建期间使用 mcclConfig_t 指定。

mcclConfig_t config = MCCL_CONFIG_INITIALIZER;
config.trafficClass = 1;
CHECK(mcclCommInitRankConfig(&comm, nranks, id, rank, &config));

相关链接:

InfiniBand 网络通过使用服务级别(Service Level,SL)支持 QoS。每个 IB SL 映射到虚拟车道(Virtual Lane,VL),定义了流量的相对优先级。SL 行为在子网管理器中定义,例如 OpenSM。有关更多详细信息,请参阅子网管理器文档。下面是一个示例配置。


qos_max_vls 2
qos_high_limit 255
qos_vlarb_high 1:4
qos_vlarb_low 0:1,1:4
qos_sl2vl 0,1

max_op_vls 2
....

示例定义了一个低优先级和一个高优先级 VL,分别映射到 SL 0 和 1。高优先级 SL 将在每个端口获得更大的网络带宽份额。在 MCCL 中,通信器的流量类别对应于 IB 网络上的 SL。使用此配置,应用程序可以为低优先级通信器分配 TC 0,为高优先级通信器分配 TC 1。

在 RoCE 网络上,MCCL 通信器 trafficClass 被解释为 IP 服务类型(ToS)。请参阅网络管理工具,了解如何为给定的工作负载配置 QoS。