通信性能指标

针对同一通信算子在不同卡之间通信时间的波动的分析,其主要目的在于需要识别一些可能存在的通信算子内部瓶颈单元。在分析过程中,主要采用以下几个指标:
  1. 算子的执行时间以及内部等待耗时的变化和比例

    该指标可以用来初步识别是否存在慢卡瓶颈,对每块卡上的wait_ratio,通过比较max_wait_ratio (等待时间长) 与wait_ratio_threshold(当前设置为0.2)的关系,识别是否存在慢节点,慢节点为min_wait_ratio(等待时间短)对应的卡。

  2. 通信带宽分析

    当通信算子内部不存在慢节点时,进行通信带宽分析,主要有如下步骤:

    1. 对比该通信算子在各卡上的 数据传输耗时 ,得到 通信带宽最慢的rank;
    2. 计算该rank上的sdma_bwrdma_bw,并结合sdma_transit_timerdma_transit_time给出对应平均带宽:

    同时,我们会设置一个经验带宽,一般设置为最大带宽的0.8;

    • 只有SDMA通信:

      SDMA平均带宽接近经验带宽,表示该通信算子瓶颈是SDMA带宽;SDMA平均带宽小于经验带宽,表示该通信算子瓶颈是SDMA通信效率低。

    • 只有RDMA通信:

      RDMA平均带宽接近经验带宽,表示该通信算子瓶颈是RDMA带宽;RDMA平均带宽小于经验带宽,表示该通信算子瓶颈是RDMA通信效率低。

    • SDMA通信和RDMA通信:

      SDMA耗时最长,表示当前通信算子主要瓶颈在于SDMA通信,并给出瓶颈是SDMA带宽或SDMA通信效率低;RDMA耗时最长,表示当前通信算子主要瓶颈在于RDMA通信,并给出瓶颈是RDMA带宽或RDMA通信效率低。