跳到主要内容

服务质量

可能从通信中受益的应用程序可能会从网络服务质量(QoS)功能中受益。MCCL允许应用程序为每个通信器分配一个流量类别(TC),以标识通信器的通信需求。通信器上的所有网络操作都将使用分配的TC。

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

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

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

Infiniband网络通过使用服务级别(SL)支持QoS。每个IB SL映射到虚拟车道(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。