昇腾社区首页
中文
注册
开发者
下载

性能调优建议

该功能为msprof工具解析后输出调优建议的功能,已不再演进,分析性能数据并输出调优建议更多的功能请参见《msprof-analyze》。

支持的型号

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas A3 训练系列产品/Atlas A3 推理系列产品

集群或多卡通信场景下,在执行完性能数据export导出命令后,会在屏幕打印相关性能调优建议,具体如下:

  1. 基于通信耗时分析得到优化建议。

    由于集合通信算子是同步执行的,若集群中存在慢节点,则会由于木桶效应,拖累整个集群的性能。

    优化建议原则:

    1. 查看一个迭代内是否存在通信算子等待时长比例(Wait Time Ratio)大于阈值(0.2)的卡:
      1. 若存在,此迭代存在通信瓶颈,可通过1.b进一步查看。
      2. 若不存在,初步断定此迭代不存在通信瓶颈,可进一步查看总体带宽使用率情况。
    2. 找到通信算子等待时长比例(Wait Time Ratio)最大的卡,查看其传输前同步时长比例(Synchronization Time Ratio Before Transit)是否大于阈值(0.2):
      1. 如果大于,则存在慢卡(等待时长比例最小的卡),需查看慢卡的前向反向计算时间;若该慢卡的前向反向计算时间远大于其他卡,则需要检查负载是否均衡和处理器是否故障;若该卡的前向反向计算时间基本和其他卡相同,则需检查数据预处理时间;
      2. 否则,存在链路异常的情况,需查看是否有链路故障或者通信量过小的情况。
    • 等待时长比例(Wait Time Ratio) = 等待时长(Wait Time)/ (等待时长(Wait Time) + 通信时长(Transit Time)),等待时长比例越大代表卡的等待时长占总通信耗时越长,通信效率越低。
    • 传输前同步时长比例(Synchronization Time Ratio Before Transit) = 传输开始前同步时长(Synchronization Time) / (传输开始前同步时长(Synchronization Time) + 通信时长(Transit Time)),同步时长(Synchronization Time)指第一次传输数据前的同步时长,传输前同步时长比例越大说明通信效率越低,可能存在慢卡的情况。
    图1 基于通信耗时分析
  2. 基于通信矩阵分析得到优化建议。

    集群场景中的慢链路一般有以下两种情况:

    • 个别的慢链路导致少数卡之间的通信时间增长,其他卡需等待其通信完成,从而拖累整个集群的性能。
    • 存在带宽或通信算子异常的情况,导致全网链路无法达到正常的带宽速率,所有卡的通信时间增长,这种情况下没有典型的慢卡和慢链路。

    通过通信矩阵对HCCS、PCIE和RDMA进行分析,针对每种链路类型的平均情况,给出瓶颈分析及调优建议;针对存在慢链路的情况,给出慢链路的全部信息及调优建议。

    分析建议如下:
    1. 三种链路类型的耗时占比信息。
    2. 每种链路类型的具体情况:
      1. 链路平均信息:包含传输总耗时,平均带宽及平均大包传输率,根据信息给出调优建议。
      2. 最慢链路信息:链路带宽小于平均带宽20%时输出最慢链路相关信息,包含传输时长、传输大小、传输带宽、带宽利用率以及大包比例,根据信息给出调优建议。
    优化建议原则:
    1. 若带宽使用率大于0.8,说明带宽使用正常,全网链路无瓶颈,可参考2.b进一步查看;
    2. 若通信包比例大于0.8,说明通信包尺寸无异常,则链路配置有问题或存在链路劣化问题,可参考2.c进一步查看;
    3. 若通信包尺寸过小,说明每次通信传输的包太小,导致带宽使用率不高,存在带宽的瓶颈。
    图2 基于通信矩阵分析