Megascale 统计信息工具

您可以使用 Megascale Stats 工具来分析跨多个 TPU 切片(通过数据中心网络 [DCN] 进行通信)的工作负载的切片间通信性能。

Megascale Stats 工具中显示的所有指标都是按每个 TPU 生成的。

支持的平台

Megascale Stats 工具仅在 TPU 上受支持。

该工具会显示与 TPU 切片之间的通信相关的指标,这些指标涉及以下操作:

  • send:中断主机以启动直接内存访问 (DMA),并向主机提供已填充的缓冲区以启动数据传输。
  • send-done:向主机发出数据传输已完成的信号。
  • recv:为主机提供一个空缓冲区,以填充传输的数据。
  • recv-done:向主机发出已接收数据的信号。

集合send 操作启动,并由匹配的 recv-done 操作完成。实际发送数据在发送操作完成后发生。send-done 操作在发送数据后发生。同样,数据在 recv 操作完成后接收。recv-done 操作在收到数据后发生。

界面组件

该工具会显示一个包含以下列的表格,其中每一行对应一次已分析的集体操作:

  • DCN 集合名称:由 XLA 分配。
  • 接收操作名称:TPU recv-done 操作名称。这样一来,您就可以轻松地在 Trace Viewer 中搜索相应的集合 TPU 操作。
  • 发送操作名称:TPU send 操作名称。
  • 空闲时间:定义为集合传输数据时与网络无关的时间。它是衡量集合可用于发送和接收数据的时间,不包括 sendsend-donerecvrecv-done 操作。增加空闲时间可降低集合的 TPU 发生停滞的可能性。例如,假设存在以下时间轴:

显示宽裕时间的时间轴

Slack time is calculated in this example as:

Slack time = t<sub>1</sub> + t<sub>2</sub> + t<sub>3</sub>
  • 观测到的时长:每个集合观测到的时长。它是指从 send 操作开始到相应 recv-done 操作结束之间的时间间隔,包括发送和接收数据所用的时间。例如,假设存在以下时间轴:

显示观测时长的的时间轴

Observed duration is calculated as:

Observed duration = t<sub>send</sub> + t<sub>1</sub> + t<sub>send-done</sub> + t<sub>2</sub> + t<sub>recv</sub> + t<sub>3</sub> + t<sub>recv-done</sub>
  • 停滞时长:集合使 TPU 停滞的时长。这是集合在 sendsend-donerecvrecv-done 操作中花费的总时长,不包括传输数据所花费的时间。例如,假设存在以下时间轴:

显示停滞时长的时间轴

Stall duration is calculated in this example as:

Stall duration = t<sub>send</sub> + t<sub>send-done</sub> + t<sub>recv</sub> + t<sub>recv-done</sub>
  • 次数:在性能分析时段内,集合启动和完成的总次数。send 操作及其匹配的 recv-done 操作必须在性能分析时长内发生,才能包含在此指标中。
  • 汇总的总停滞时间:在性能分析时段内,集合使 TPU 停滞的总时长。汇总的总停滞时间的计算公式如下:
    • 汇总的总停滞时间 = 停滞时长 * 出现次数
  • 传输的数据大小:集合通过网络传输的数据量,根据 XLA 操作形状计算得出。
  • 所需带宽:在提供的空闲时间内传送数据所需的带宽。您可以使用此指标查看在性能分析时段内争用网络带宽的集合数量。所需带宽的计算方式如下:
    • 所需带宽 = 传送的数据大小 / 空闲时间

分析 Megascale 统计信息工具数据

如需分析该工具中显示的数据,请执行以下操作:

  1. Aggregated Total Stall 对表格进行降序排序。
  2. 确定 Aggregated Total Stall 最高的 DCN 集合名称。 如果该值明显高于其他值,则可能表示存在瓶颈。
  3. 将 DCN 集合的 Required Bandwidth 乘以核心数(例如,每个 v4 TPU 主机 8 个)。如果此值大于 TPU 的网络带宽上限,则可能表明网络出现拥塞。尝试更改分片机制以减少所需的带宽。
  4. 生成 HLO 转储,以检查是否存在编译器问题。展开 sendrecv-done 操作可以调度更多重叠的 HLO 操作,并缩短 TPU 停滞时间。
  5. 在跟踪记录查看器中,查看汇总的总停滞时间最长的集合的 recv-done 操作时长。如果传输时长较高,则可能表示存在带宽瓶颈,因为 recv-done 操作通常会在网络上被阻止。
  6. 如果 recv-done 操作的时长与空闲时间相比并不太长,则可能表示存在硬件问题。