本文档介绍了如何使用 Cloud Monitoring 信息中心来监控您使用受预留约束的容量创建的 A4X Max、A4X、A4、A3 Ultra 和 A3 Mega 实例。借助这些信息中心,您可以识别并排查独立 Compute Engine 实例或 Slurm 集群中的性能瓶颈,从而最大限度地减少工作负载的停机时间。
通过创建自定义信息中心或使用预构建的 Monitoring 信息中心,您可以监控以下内容:
计算实例健康状况
GPU 性能
网络传输效率
块和子块之间的网络效率
机器学习 (ML) 工作负载效率
Straggler 检测
检测无响应的工作负载
如需使用 Cluster Director 监控集群,请参阅使用预建的信息中心监控集群性能。
准备工作
在监控工作负载之前,请先完成以下步骤(如果您尚未完成):
了解用于监控工作负载的 Google Cloud 服务:
当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。
限制
本文档中的指标仅适用于在满足以下所有条件的计算实例上运行的工作负载:
- 计算实例必须创建为独立的 Compute Engine 实例或 Slurm 集群的一部分。
- 计算实例必须是使用受预留约束的容量创建的。
- 计算实例必须使用 A4X Max、A4X、A4、A3 Ultra 或 A3 Mega 机器系列。
- 不过,离群点检测也支持使用 A3 Mega 机器系列的虚拟机 (VM) 实例。
本文档中的指标仅适用于在满足以下所有条件的计算实例上运行的工作负载:
- 计算实例必须创建为独立的 Compute Engine 实例或 Slurm 集群的一部分。
- 计算实例必须是使用预留容量创建的。
- 计算实例必须使用 A4X Max、A4X、A4、A3 Ultra 或 A3 Mega 机器系列。
如需监控机器学习工作负载指标,您必须为工作负载设置监控。
Straggler 检测限制
离群检测指标还存在以下限制:
- 对于 A3 Mega 以外的受支持的机器系列,落后者检测仅支持启用 Collective Communication Analyzer (CoMMA) 库以将 NCCL 遥测数据导出到 Google Cloud 服务的计算实例。如需了解详情,请参阅 CoMMA 概览。
- Straggler 检测功能通常最多需要 10 分钟才能报告 Straggler。
- 与本文档中的其他指标不同,您无法按集群、块、子块或计算实例过滤项目的落后者检测指标。不过,您可以按一个或多个疑似落后者的计算实例的 ID 来过滤查询,以获取落后者检测日志。
无响应工作负载检测的限制
无响应工作负载检测指标仅支持使用 Collective Communication Analyzer (CoMMA) 库将 NCCL 遥测数据导出到 Google Cloud 服务的计算实例。如需了解详情,请参阅 CoMMA 概览。
所需的角色
如需获得监控 AI Hypercomputer 工作负载的指标所需的权限,请让您的管理员为您授予以下 IAM 角色:
-
如需在 Cloud Monitoring 中查看指标,您需要拥有项目的 Monitoring Editor (
roles/monitoring.editor) 角色 -
如需在 Logging 中查看滞后检测日志,请为项目授予 Logs Viewer (
roles/logging.viewer) 角色
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含监控 AI Hypercomputer 工作负载的指标所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需监控 AI Hypercomputer 工作负载的指标,需要以下权限:
-
查看信息中心:项目的
monitoring.dashboards.get权限 -
创建信息中心:项目的
monitoring.dashboards.create权限 -
如需查看日志条目,请执行以下操作:
针对项目的
logging.logEntries.list权限
可用指标
根据您的使用场景,您可以使用以下指标来监控计算实例和 Slurm 集群:
如需监控附加到计算实例的 GPU 的运行状况、性能和网络性能,请参阅基础架构指标。
如需监控机器学习工作负载中 GPU 的效率,请参阅机器学习工作负载指标。
如需监控性能缓慢的机器学习工作负载中疑似拖延的计算实例,请参阅拖延检测指标。
如需了解如何查看这些指标,请参阅本文档中的直观呈现指标。
基础架构指标
如需监控附加到计算实例的 GPU 的健康状况、性能和网络性能,您可以使用以下指标:
如需大致了解 Compute Engine 中的可用指标,请参阅Google Cloud 指标。
GPU 健康指标
如需监控 GPU 的健康状况,请使用以下指标:
| 名称 | 指标类型 | 支持的机器系列 | 说明 |
|---|---|---|---|
| 机器状态 | machine/machine_status |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 计算实例所用机器的健康状况,或机器健康状况不佳且需要维修。 |
| NVSwitch 状态 | instance/gpu/nvswitch_status |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 连接到计算实例的 NVIDIA GPU 上的 NVLink 交换机是否遇到问题。 |
| 虚拟机基础设施健康状况 | instance/gpu/infra_health |
A4X、A4、A3 Ultra 或 A3 Mega | 集群、块、子块以及运行计算实例的主机的健康状况。如果此指标显示计算实例的基础设施运行状况不佳,则该指标还会描述相应问题。 |
| 虚拟机故障预测得分 | instance/gpu/failure_prediction_score |
A4X、A4、A3 Ultra 或 A3 Mega |
计算实例运行所在的主机在未来 5 小时内性能下降的可能性。此值介于 0.0 到 1.0 之间。如果该值在一段时间内持续接近 1.0,则计算实例的性能可能会下降。在这种情况下,我们建议您将作业移至其他计算实例,如果遇到计算实例问题,请报告其主机存在故障。
|
GPU 性能指标
如需监控 GPU 的性能,请使用以下指标:
| 名称 | 指标类型 | 支持的机器系列 | 说明 |
|---|---|---|---|
| 累积上下文利用率 | instance/gpu/accumulated_context_utilization_seconds |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | GPU 忙于处理工作负载的总时间(以秒为单位)。 |
| GPU 功耗 | instance/gpu/power_consumption |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 主机上各个 GPU 的功耗(以瓦特 [W] 为单位,以十进制值表示)。对于附加了多个 GPU 的计算实例,该指标会分别提供主机上每个 GPU 的功耗。 |
| SM 利用率 | instance/gpu/sm_utilization |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 非零值表示 GPU 上的流式多处理器 (SM) 正在被积极使用。 |
| GPU 温度 | instance/gpu/temperature |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 主机上各个 GPU 的温度(以摄氏度 [℃] 为单位,以十进制值表示)。对于挂接了多个 GPU 的计算实例,该指标会分别提供主机上每个 GPU 的温度。 |
| GPU 热工裕量 | instance/gpu/tlimit |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 各个 GPU 在因温度过高而需要减速之前所具有的散热空间(以摄氏度 [℃] 为单位,以十进制值表示)。对于挂接了多个 GPU 的计算实例,该指标会分别提供主机上每个 GPU 的散热空间。 |
GPU 网络性能指标
如需监控 GPU 的网络性能,请使用以下指标。如需监控后端 ToR 网络交换机,请参阅 ToR 交换机指标。
| 名称 | 指标类型 | 支持的机器系列 | 说明 |
|---|---|---|---|
| 关联运营商变更 | instance/gpu/link_carrier_changes |
A4X、A4、A3 Ultra 或 A3 Mega | 网络链路载波在一分钟内变化的次数。 |
| 网络 RTT | instance/gpu/network_rtt |
A4X、A4、A3 Ultra 或 A3 Mega | 网络数据在来源和目标位置之间往返所需的时间(以微秒为单位)。 |
| 块间网络流量 | instance/gpu/network/inter_block_tx |
A4X、A4、A3 Ultra 或 A3 Mega | 块之间的网络流量字节数。 |
| 子块间的网络流量 | instance/gpu/network/inter_subblock_tx |
A4X、A4、A3 Ultra 或 A3 Mega | 子块之间的网络流量字节数。 |
| 子块内网络流量 | instance/gpu/network/intra_subblock_tx |
A4X、A4、A3 Ultra 或 A3 Mega | 单个子块内的网络流量字节数。 |
| NVLink 有效速度 | instance/gpu/nvlink_active_speed |
A4X Max、A4X、A4、A3 Ultra 或 A3 Mega | 当前接入链路端口速度(以 GBps 为单位)。 |
| 吞吐量(接收字节数) | instance/gpu/throughput_rx_bytes |
A4X、A4、A3 Ultra 或 A3 Mega | 从网络流量接收的字节数。 |
| 吞吐量(发送字节数) | instance/gpu/throughput_tx_bytes |
A4X、A4、A3 Ultra 或 A3 Mega | 传输到网络流量的字节数。 |
ToR 交换机指标
对于 A4X Max 和 A4X 集群,您可以在分布式机器学习训练期间监控后端 ToR 网络交换机遥测数据,以执行以下操作:
- 观察交换机和端口的健康状况。
- 评估可用带宽容量和缓冲区队列深度。
- 诊断丢包、错误、接口抖动和拥塞管理事件。
这些指标使用 compute.googleapis.com/NetworkSwitch 受监控的资源类型和 compute.googleapis.com/ 指标类型前缀。在 Metrics Explorer 中,选择 NetworkSwitch 资源类型 (compute.googleapis.com/NetworkSwitch)。
转换指标分为以下几类:
切换健康状况和状态指标
您可以使用本部分中列出的指标执行以下操作:
- 验证交换机端口的运行状态。
- 监控交换机 CPU 和内存利用率。
- 检查启动时间,以检测意外重启。
| 名称 | 指标类型 | 支持的机器系列 | 说明 |
|---|---|---|---|
| 携号转网状态 | network_switch/port_status |
A4X Max 或 A4X | 表示网络交换机上物理接口(端口)的运行状态。对于聚合,指标值始终为 1;实际状态在 status 标签中提供(例如 UP 或 DOWN)。关键标签: port_identifier、status、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| CPU 利用率 | network_switch/cpu_utilization |
A4X Max 或 A4X | 网络交换机的 CPU 利用率,以介于 0.0 到 1.0 之间的分数表示。键标签: subblock_id、block_id、reservation_id、switch_type。
|
| 内存用量 | network_switch/memory_used |
A4X Max 或 A4X | 网络交换机使用的内存(以字节为单位)。 键标签: subblock_id、block_id、reservation_id、switch_type。
|
| 总内存 | network_switch/total_memory_bytes |
A4X Max 或 A4X | 网络交换机的总内存容量(以字节为单位)。 键标签: subblock_id、block_id、reservation_id、switch_type。
|
| 启动时间 | network_switch/boot_time_in_ns |
A4X Max 或 A4X | 网络交换机的启动时间戳,以自 Unix 纪元以来的纳秒数表示。 键标签: subblock_id、block_id、reservation_id、switch_type。
|
切换容量和队列指标
如需跟踪基准网络容量与可用网络容量,并监控交换机上的缓冲区队列深度和队列丢弃情况,请使用以下指标:
| 名称 | 指标类型 | 支持的机器系列 | 说明 |
|---|---|---|---|
| 基准容量 | network_switch/baseline_capacity_kbps |
A4X Max 或 A4X | 从 ToR 交换机到超块的连接的总潜在基准带宽容量,以千位/秒 (kbit/s) 为单位。 键标签: subblock_id、block_id、reservation_id、switch_type。
|
| 有效容量 | network_switch/effective_capacity_kbps |
A4X Max 或 A4X | 从架顶式 (ToR) 交换机到超级块的连接的可用运行容量,以千位/秒 (kbit/s) 为单位。此指标反映了因链路降级或离线而导致的容量减少。 键标签: subblock_id、block_id、reservation_id、switch_type。
|
| 出站流量最大队列深度 | network_switch/egress_max_queue_depth |
A4X Max 或 A4X | 在最近的测量周期内观察到的最大队列深度。 键标签: port_identifier、queue_name、subblock_id、block_id、reservation_id、switch_type。
|
| 出站队列丢弃 | network_switch/egress_queue_drops_count |
A4X Max 或 A4X | 由于队列拥塞或缓冲区耗尽而从出站队列中丢弃的数据包的累计数量。 键标签: port_identifier、queue_name、subblock_id、block_id、reservation_id、switch_type。
|
| 缓冲区舍弃 | network_switch/in_buffer_discards |
A4X Max 或 A4X | 由于缓冲区溢出而在入口处丢弃的入站数据包的累计数量。 键标签: port_identifier、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
交换机丢弃、错误和流控制指标
您可以使用本部分中的指标来诊断以下问题,这些问题可能会导致分布式训练停滞或集体通信超时(例如 NCCL 监控定时器超时):
- 数据包舍弃、传输错误和物理链路抖动。
- 前向纠错 (FEC) 字词错误。
- 拥塞管理事件,例如基于优先级的流量控制 (PFC) 暂停和显式拥塞通知 (ECN) 标记。
| 名称 | 指标类型 | 支持的机器系列 | 说明 |
|---|---|---|---|
| 接口盖 | network_switch/interface_flaps_count |
A4X Max 或 A4X | 交换机端口接口上物理链路状态转换(在 UP 和 DOWN 之间切换)的累计次数。关键标签: port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| FEC 字词错误 | network_switch/fec_word_error_count |
A4X Max 或 A4X | 前向纠错 (FEC) 字错误的累计数量。使用 correctable 布尔值标签(true 或 false)来区分可更正的错误和不可更正的错误。键标签: port_identifier、correctable、subblock_id、block_id、reservation_id、switch_type。
|
| 标记为 ECN 的数据包 | network_switch/ecn_marked_packets_count |
A4X Max 或 A4X | 因缓冲区阈值交叉而标记了显式拥塞通知 (ECN) 位的累计数据包数量。 关键标签: port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| PFC 接收数据包 | network_switch/pfc_rx_packets_count |
A4X Max 或 A4X | 端口上接收的基于优先级的流量控制 (PFC) 暂停帧的累计数量。 注意:仅适用于已启用 PFC 的专用环境。 键标签: port_identifier、priority_index、subblock_id、block_id、reservation_id、switch_type。
|
| PFC TX 数据包 | network_switch/pfc_tx_packets_count |
A4X Max 或 A4X | 从端口传出的基于优先级的流量控制 (PFC) 暂停帧的累计数量,用于限制传入流量。 注意:仅适用于已启用 PFC 的专用环境。 键标签: port_identifier、queue_name、subblock_id、block_id、reservation_id、switch_type。
|
| QoS 传输数据包 | network_switch/qos_tx_packets |
A4X Max 或 A4X | 在指定队列中传输的服务质量 (QoS) 数据包的累计数量。 键标签: port_identifier、queue_name、subblock_id、block_id、reservation_id、switch_type。
|
| 传入数据包数量 | network_switch/in_packets_count |
A4X Max 或 A4X | 交换机端口上接收的传入数据包的累计数量。 关键标签: port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 存在错误 | network_switch/in_errors |
A4X Max 或 A4X | 接收到的累计传入数据包数量,这些数据包存在错误,无法传送。 键标签: port_identifier、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 在“已丢弃”文件夹中 | network_switch/in_discards |
A4X Max 或 A4X | 已丢弃的有效传入数据包的累计数量(例如,由于缓冲区空间不足)。 键标签: port_identifier、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 输出错误 | network_switch/out_errors |
A4X Max 或 A4X | 因错误而未能成功传输的出站数据包的累计数量。 键标签: port_identifier、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 传出丢弃 | network_switch/out_discards |
A4X Max 或 A4X | 即使未检测到任何错误,仍选择丢弃的出站数据包的累计数量。 键标签: port_identifier、peer_target_identifier、peer_port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 入站字节数 | network_switch/in_bytes_count |
A4X Max 或 A4X | 交换机端口上接收的传入字节的累计数量。 关键标签: port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
| 出站字节数 | network_switch/out_bytes_count |
A4X Max 或 A4X | 从交换机端口传出的传出字节的累计数量。 关键标签: port_identifier、subblock_id、block_id、reservation_id、switch_type。
|
GPU 严重错误指标
如需监控 GPU 遇到的可能会导致计算实例停止或对其性能产生负面影响的错误,请使用以下指标:
| 名称 | 指标类型 | 支持的机器系列 | 说明 |
|---|---|---|---|
| NVLink 运行时错误 | instance/gpu/nvlink_runtime_error |
A4X Max 或 A4X | 是否发生了 NVLink 运行时错误。 |
| 无法更正的 DRAM ECC 错误 | instance/gpu/dram_uncorrectable_ecc_error_count |
A4X Max 或 A4X | GPU 动态随机存取存储器 (DRAM) 中无法更正的纠错码 (ECC) 的数量。 |
| 不可更正的 DRAM 行重新映射计数 | instance/gpu/dram_uncorrectable_row_remapping_count |
A4X Max 或 A4X | GPU DRAM 中因不可更正的错误而进行的行重新映射次数。 |
| 不可更正的 DRAM 行重新映射失败 | instance/gpu/dram_row_remapping_failed |
A4X Max 或 A4X | GPU DRAM 中的行重新映射是否因以下问题之一而失败:
|
| 无法更正的 PCIe 错误 | instance/gpu/pcie_fatal_error_count |
A4X Max 或 A4X | 无法更正的外部设备互联高速 (PCIe) 错误的数量。 |
| 无法更正的缓存 ECC 错误 | instance/gpu/cache_uncorrectable_ecc_error_count |
A4X Max 或 A4X | 缓存内存中不可更正的 ECC 数量。 |
机器学习工作负载指标
如需监控机器学习工作负载的效率(具体而言,是有效吞吐量),请使用以下指标:
| 名称 | 指标类型 | 支持的机器系列 | 说明 |
|---|---|---|---|
| 有效产出时间 | workload/goodput_time |
A4X、A4、A3 Ultra 或 A3 Mega | 工作负载花费在有效吞吐量活动上的时间(以秒为单位)。这些活动是核心的实用任务,例如模型训练期间的前向或后向传递。 |
| 非有效产出时间 | workload/badput_time |
A4X、A4、A3 Ultra 或 A3 Mega | 工作负载花费在 badput 活动上的时间(以秒为单位)。 这些活动是开销任务,例如加载或预处理用于训练的数据。 |
Straggler 检测指标
通过离群检测指标,您可以发现并精确定位疑似离群点。 Straggler 是指单点、非崩溃故障,最终会拖慢整个工作负载的速度。
如需监控虚拟机的拖延任务检测情况,请使用以下指标:
| 名称 | 指标类型 | 支持的机器系列 | 说明 |
|---|---|---|---|
| 疑似 Straggler | instance/gpu/straggler_status |
A4X、A4、A3 Ultra 或 A3 Mega | 虚拟机是否被怀疑为影响工作负载性能的落后者。我们建议您仅在其他指标表明工作负载存在问题时,才对疑似落后者采取行动。 |
您还可以在 A4X、A4、A3 Ultra 或 A3 Mega 实例的日志条目中查看落后者检测指标。例如,您可以使用以下查询:
| 说明 | 查询 |
|---|---|
| 特定虚拟机的疑似滞后者日志。使用此查询可检查项目中特定工作负载是否存在任何可疑的 Straggler。 |
logName=~ "/logs/compute.googleapis.com%2Fworkload_diagnostic" AND jsonPayload.suspectedStragglersDetection.numNodes > 0 AND jsonPayload.suspectedStragglersDetection.nodes.instanceId="INSTANCE_ID"
将
OR jsonPayload.suspectedStragglersDetection.nodes.instanceId="INSTANCE_ID"
|
| 项目中的所有异常检测日志。使用此查询可验证在未检测到可疑的落后者时,落后者检测服务是否正在运行。(由于存在限制,您无法按特定虚拟机过滤不含可疑滞留者的日志。) |
|
Straggler 检测指标对于大规模机器学习工作负载特别有用,原因如下:
大规模机器学习工作负载非常容易受到落后任务的影响。大规模机器学习工作负载使用同步和大规模分布式计算。(换句话说,它们具有许多高度相互依赖的组件,这些组件同时运行。)这种架构使得大规模机器学习工作负载非常容易受到单点故障(例如落后者)的影响。
在大规模机器学习工作负载中,发现并精确定位 Straggler 非常困难。 作为参考,请注意单点故障分为两种类型:
停止故障:导致整个系统停止的故障;例如主机错误和维护事件。 它们相对容易检测和解决。
缓慢失败:导致严重性能下降但不发生崩溃的失败。它们很难精确定位和调试。
由于 Straggler 的故障性质缓慢,因此很难发现和精确定位它们,尤其是在大规模同步工作负载中。
无响应工作负载检测指标
无响应工作负载检测指标可帮助您执行以下操作:
- 检测整个工作负载何时停滞(有时称为 NCCL 挂起)
- 了解工作负载停滞的原因,例如是否是由进程崩溃或网络停滞造成的
如需检测和诊断计算实例中无响应的工作负载,请使用以下指标:
| 名称 | 指标类型 | 支持的机器系列 | 说明 |
|---|---|---|---|
| 使用 NCCL 遥测检测到无响应的工作负载事件 | instance/gpu/nccl_hang |
A4X Max、A4X、A4 和 A3 Ultra | 检测到的无响应工作负载事件的数量,以时间序列的形式表示。 |
启用无响应工作负载检测
如需启用无响应工作负载检测,您必须启用 心跳遥测的 CoMMA,这是一种周期性 ping 信号,用于指示工作负载正在运行。对于最新版本的 CoMMA,此功能默认处于启用状态。不过,如果您使用的是 NICCL/gIB 软件包 1.1.1 版中的 CoMMA 版本,则必须手动启用心跳遥测。如需验证您使用的是哪个版本的 NICCL/gIB 软件包,请参阅检查 NCCL 和 gIB 版本。
如需手动为 CoMMA 启用心跳遥测,请在训练环境中指定以下环境变量:
NCCL_PROFILER_HEARTBEAT=true
NCCL_PROFILER_HEARTBEAT_UPLOAD_INTERVAL=10s
使用 NCCL_PROFILER_HEARTBEAT 可开启或关闭心跳遥测,使用 NCCL_PROFILER_HEARTBEAT_UPLOAD_INTERVAL 可指定心跳遥测的频率。如需了解详情,请参阅 CoMMA 环境变量。
关闭无响应工作负载检测
如需关闭无响应工作负载检测功能,请在训练环境中指定以下环境变量,以关闭 CoMMA 中的心跳遥测:
NCCL_PROFILER_HEARTBEAT=false
了解工作负载无响应的原因
如需了解工作负载无响应的原因,请完成以下步骤,检查标签 hang_reason 的值:
-
在 Google Cloud 控制台中,前往 leaderboard Metrics Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
搜索以下指标:
compute.googleapis.com/instance/gpu/nccl_hang使用汇总功能,然后选择以下标签:
instance_idhang_reason
下表列出了标签的可能值、这些值对工作负载的含义,以及建议采取的后续步骤。
| 标签值 | 说明 | 建议后续步骤 |
|---|---|---|
MissingHeartbeatIssue |
一个或多个等级的心跳遥测已停止,这通常表示进程或节点发生严重崩溃。 |
|
StalledRankIssue |
仍会收到心跳遥测数据,但 NCCL 操作的排名不会发生变化。 |
|
MissingCommunicatorIssue |
属于 NCCL 通信器的所有 rank 都已停止取得进展。 |
|
NoHangIssue |
默认值。未检测到任何问题。 |
|
查看指标
如需查看计算实例和 Slurm 集群的指标,请按如下方式使用监控信息中心:
如需查看基础架构指标和落后者检测指标,您可以执行以下操作:
如需快速了解基础架构的健康状况和性能,或自定义现有信息中心,请使用预构建的信息中心。
如需满足特定的监控需求,请创建自定义信息中心。
如需查看机器学习工作负载指标,请参阅有关如何为工作负载设置监控的文档。
如需查看落后者检测日志,请查看落后者检测日志。
如果您在使用信息中心时遇到问题,请参阅排查性能缓慢问题。
使用预构建的信息中心
您可以使用为 AI Hypercomputer 预建的 Monitoring 信息中心来查看计算实例和 Slurm 集群的指标。您还可以复制预建的信息中心,并根据需要对其进行修改。
如需使用 AI Hypercomputer 的预建信息中心,请执行以下操作:
-
在 Google Cloud 控制台中,前往 信息中心页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
在名称列中,根据要查看的指标,点击以下某个信息中心的名称:
如需监控计算实例健康状况、GPU 性能和落后者检测,请使用 Cluster Director 健康状况监控信息中心。
如需详细了解如何使用这些指标来识别和分析问题,您还可以使用 GCE 互动式剧本 - Cluster Director 健康状况监控剧本信息中心。
如需监控网络传输效率,请使用集群导向器传输效率信息中心。
如需监控块和子块之间的网络效率,请使用 Cluster Director Block Network 信息中心。
如需详细了解如何使用这些指标来识别和分析问题,您还可以使用 GCE 互动式剧本 - Cluster Director 阻止网络剧本信息中心。
系统会打开所选信息中心的详情页面。您可以使用工具栏中的时间范围选择器更改数据的时间范围。
可选:如需复制信息中心并根据需要进行自定义,请点击 复制信息中心。
创建自定义信息中心
如需创建自定义 Monitoring 信息中心,请执行以下操作:
选择要监控的指标。如果您尚未这样做,请参阅本文档中的可用指标。
查看 Straggler 检测日志
如需使用Logs Explorer查看落后者检测日志,请完成以下步骤:
-
在 Google Cloud 控制台中,前往 Logs Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
默认情况下,该页面会查询项目中的所有日志。点击停止查询。
使用工具栏中的时间范围选择器选择要分析的时间范围。
在查询窗格中,输入用于检测落后作业的日志的查询。
点击 Run Query。
以下是离群点检测日志条目的示例。
{
...
"jsonPayload": {
...
"@type": "type.googleapis.com/ml.aitelemetry.performancedebugging.output.NetworkStragglersOutput",
"suspectedStragglersDetection": {
"numNodes": 4,
"nodes": [
{
"latencyMs": 9,
"instanceId": "INSTANCE_ID_1"
},
{
"latencyMs": 9,
"instanceId": "INSTANCE_ID_2"
},
{
"instanceId": "INSTANCE_ID_3",
"latencyMs": 4
},
{
"instanceId": "INSTANCE_ID_4",
"latencyMs": 0
}
],
"message": "Suspected stragglers detected."
}
},
"resource": {
"type": "project",
"labels": {
"project_id": "PROJECT_NUMBER"
}
},
...
"severity": "INFO",
"logName": "projects/PROJECT_ID/logs/compute.googleapis.com%2Fworkload_diagnostic",
...
}
该日志条目包含以下字段:
numNodes:项目中检测到的疑似落后计算实例的数量。在此示例中,系统检测到 4 个疑似落后计算实例。instanceId:被检测为疑似落后者的计算实例的 ID。