Communication Analysis

Communication Analysis通信性能分析,展示了集群场景中所有卡的通信性能以及全网链路性能。

MindStudio不支持集群场景的数据采集,可通过Import Result导入已采集的PROF_XXX的父目录来展示集群场景性能数据。

Communication Analysis界面分为Communication Duration Analysis和Communication Matrix两部分进行数据展示。
图1 Communication Duration Analysis
图2 Communication Matrix
图中各字段说明如表1所示。
表1 字段说明

字段

说明

Iteration ID

迭代ID,查看指定迭代的所有算子迭代数据。

Operator Name

通信算子名称,查看指定算子的迭代数据。

Rank ID

节点ID,查看指定节点的所有算子迭代数据。

  • 启用“Critical Path”时,Rank ID的下拉框支持选择。
  • 关闭“Critical Path”时,Rank ID的下拉框置灰,不支持选择。

Critical Path

关键路径,筛选出关键Task路径下的性能数据,用于分析和展示。默认启用。

Apply

数据导出按钮。

  • 先选择Communication Duration Analysis,再选择某个Iteration ID/Operator Name并单击该按钮,导出该迭代下指定算子的通信耗时分析数据。
  • 先选择Communication Matrix,再选择某个Iteration ID/Operator Name并单击该按钮,导出该迭代下指定算子的通信矩阵分析数据。

Communication Duration Analysis

通信耗时分析。

Guidance

指引。可根据指引信息进行查看,如检查Rank的等待时长比例是否大于阈值(0.2)。

Advisor

慢卡/慢节点分析建议。

Visualized Communication Time

可视化通信时长。

Time(ms)

时长。

Rank

节点。集群场景的某个节点。

Ratio

比例。包含Synchronization Time Ratio和Wait Time Ratio。

Data Analysis of Communication Time

算子的通信时长数据分析。

Rank ID

集群场景的节点ID。

Elapse Time(ms)

算子的通信总耗时。

Transit Time(ms)

通信时长。表示通信算子的通信耗时,如果通信耗时过长,可能是某条链路存在问题。

Synchronization Time(ms)

同步时长。卡之间进行同步需要的时长。

Wait Time(ms)

等待时长。卡之间进行通信前,首先会进行同步,确保通信的两张卡同步完成,再进行通信。

Synchronization Time Ratio

同步时长比例。

同步时长比例(Synchronization Time Ratio) = 同步时长(Synchronization Time) / (同步时长(Synchronization Time) + 通信时长(Transit Time)),通信前的同步时长比例越大说明通信效率越低,可能存在慢卡的情况。

Wait Time Ratio

通信算子的等待时长比例。

等待时长比例(Wait Time Ratio) = 等待时长(Wait Time)/ (等待时长(Wait Time) + 通信时长(Transit Time)),等待时长比例越大代表卡的等待时长占总通信耗时越长,通信效率越低。

Idle Time(ms)

通信算子下发耗时。

通信算子下发耗时(Idle Time)= 算子的通信总耗时(Elapse Time)- 通信时长(Transit Time)- 等待时长(Wait Time)。

Bandwidth Analysis

带宽分析。单击对应的“see more”后可查看指定算子的带宽详情,如图3 Bandwidth Analysis所示。

Communication Operators Details

通信算子的详情。单击对应的“see more”后可查看通信算子的链路详情,如图4所示。

Communication Matrix

通信矩阵。

Suggestions

分析建议。基于不同链路方式(HCCS、PCIe和RDMA)对全网链路信息给出分析建议,包含通信时长、通信带宽、通信量、通信带宽使用率以及慢链路等。

Matrix Model

矩阵模型。

Communication Matrix Type

通信矩阵类型。

  • Bandwidth(GB/s):带宽。
  • Transit Size(MB):通信尺寸。
  • Transport Type:链路类型。
  • Large Packet Ratio:大通信包比例。
  • Bandwidth(Utilization):带宽使用率。
  • Transit Time(ms):通信时长。

Src Rank Id

Source Rank Id,逻辑卡链路信息中源卡的节点Id。

Dst Rank Id

Destination Rank Id,逻辑卡链路信息中目的卡的节点Id。

图3 Bandwidth Analysis
图中各字段说明如表2所示。
表2 字段说明

字段

说明

Advisor

分析建议。

Transport Type

链路方式。

SDMA

SDMA链路。包括HCCS和PCIE两种。

HCCS

HCCS链路。

PCIE

PCIE链路。

RDMA

RDMA链路。

Packet Number

通信包数量。

Packet Size(MB)

通信包大小。

Transit Size(MB)

一次通信包的大小。

Transit Time(ms)

一次通信的时长。

Bandwidth(GB/s)

带宽。带宽一般为通信量除以通信时间。

Bandwidth(Utilization)

带宽使用率。如果实际带宽小于0.8倍的经验带宽,则说明带宽使用率不高,需进一步分析。

经验带宽参考值分别为RDMA_Bandwidth = 12.5, HCCS_Bandwidth = 18, PCIe_Bandwidth = 20。

Large Packet Ratio

大通信包比例。通信包的大小足以使得通信链路能达到经验带宽的包的比率。

图4 Communication Operators Details
图中各字段说明如表3所示。
表3 字段说明

字段

说明

Operator Name

通信算子名称。

Elapse Time(ms)

通信算子所有事件消耗时间之和,单位ms。

Transit Time(ms)

通信时长,单位ms。通信时长的计算方式为统计SDMA链路和RDMA链路的通信算子总耗时。

Synchronization Time(ms)

同步时长,单位ms。第一次传输数据前的等待时间。

Wait Time(ms)

等待时长,单位ms。逻辑卡之间进行通信前,首先会进行同步,确保通信的两张卡同步完成,再进行通信。

Synchronization Time Ratio

同步时长比例。计算公式为Synchronization Time / (Synchronization Time + Transit Time)。

Wait Time Ratio

等待时长比例。计算公式为Wait Time / (Wait Time + Transit Time)。

Idle Time(ms)

通信算子下发耗时。

通信算子下发耗时(Idle Time)= 算子的通信总耗时(Elapse Time)- 通信时长(Transit Time)- 等待时长(Wait Time)。