Memantau TPU

Panduan ini menjelaskan cara menggunakan Cloud Monitoring untuk memantau VM TPU Anda. Cloud Monitoring otomatis mengumpulkan metrik dan log dari TPU dan VM host-nya. Data ini dapat digunakan untuk memantau kondisi TPU dan Compute Engine Anda.

Metrik memungkinkan Anda melacak kuantitas numerik dari waktu ke waktu, misalnya, pemakaian CPU, penggunaan jaringan, atau durasi tidak ada aktivitas TensorCore. Log mencatat peristiwa pada titik waktu tertentu. Entri log ditulis oleh kode Anda sendiri, layanan, aplikasi pihak ketiga, dan infrastruktur.Google Cloud Google Cloud Anda juga dapat membuat metrik dari data yang ada dalam entri log dengan membuat metrik berbasis log. Anda juga dapat menetapkan kebijakan pemberitahuan berdasarkan nilai metrik atau entri log.

Untuk memantau TPU, Anda juga dapat menggunakan Capacity Planner (Pratinjau). Dengan Capacity Planner, Anda dapat melihat data penggunaan dan perkiraan TPU untuk project, folder, atau organisasi Anda. Data ini diperbarui setiap 24 jam, dan Anda dapat menggunakannya untuk menganalisis tren penggunaan dan merencanakan kebutuhan kapasitas di masa mendatang. Untuk mengetahui informasi selengkapnya, lihat Ringkasan Capacity Planner.

Mengakses metrik TPU

Compute Engine menghasilkan dua jenis metrik TPU: metrik runtime TPU dan metrik infrastruktur VM TPU. Anda bisa mendapatkan metrik dengan dua cara:

  • TPU Monitoring Library: Dapatkan metrik runtime TPU dari LibTPU SDK menggunakan TPU Monitoring Library. Hal ini memungkinkan aplikasi Anda mendapatkan telemetri real-time dari dalam lingkungan tamu. Untuk mengetahui informasi selengkapnya, lihat TPU Monitoring Library.

  • Pengumpul Telemetri AI: Dapatkan metrik runtime dan metrik infrastruktur VM melalui Pengumpul Telemetri AI. Pengumpul Telemetri AI berjalan di dalam VM TPU dan memungkinkan Anda mengakses metrik melalui Cloud Monitoring atau melalui pipeline pemantauan berbasis Prometheus Anda sendiri. Untuk mengetahui informasi selengkapnya, lihat Pengumpul Telemetri AI.

Metrik TPU

MetrikGoogle Cloud untuk Cloud TPU dibuat secara otomatis oleh VM Compute Engine dan runtime Cloud TPU. Metrik dalam tabel berikut dihasilkan oleh VM Compute Engine.

String "jenis metrik" dalam tabel ini harus diawali dengan compute.googleapis.com/. Awalan tersebut telah dihilangkan dari entri dalam tabel. Saat membuat kueri label, gunakan awalan metric.labels; misalnya, metric.labels.LABEL="VALUE".

Jenis metrik Tahap peluncuran(Tingkat hierarki resource)
Nama tampilan
Jenis, Tipe, Unit
Resource yang dimonitor
Deskripsi
Label
instance/tpu/accelerator/duty_cycle BETA(project)
Siklus Penggunaan Akselerator
GAUGEDOUBLE%
gce_instance
Persentase waktu selama periode sampel saat akselerator diproses secara aktif. Nilai berada dalam rentang [0,100].
accelerator_id: ID Perangkat Akselerator.
instance/tpu/accelerator/memory_bandwidth_utilization BETA(project)
Penggunaan Bandwidth Memori Akselerator
GAUGEDOUBLE%
gce_instance
Persentase bandwidth memori akselerator saat ini yang sedang digunakan. Dihitung dengan membagi bandwidth memori yang digunakan selama periode sampel dengan bandwidth maksimum yang didukung selama periode sampel yang sama.
accelerator_id: ID Perangkat Akselerator.
instance/tpu/accelerator/memory_total BETA(project)
Total Memori Akselerator
GAUGEINT64By
gce_instance
Total memori akselerator yang saat ini dialokasikan dalam byte.
accelerator_id: ID Perangkat Akselerator.
instance/tpu/accelerator/memory_used BETA(project)
Penggunaan Memori Akselerator
GAUGEINT64By
gce_instance
Total memori akselerator yang saat ini digunakan dalam byte.
accelerator_id: ID Perangkat Akselerator.
instance/tpu/accelerator/tensorcore_utilization BETA(project)
Penggunaan TensorCore Akselerator
GAUGEDOUBLE%
gce_instance
Persentase Tensorcore yang saat ini digunakan. Dihitung dengan membagi operasi Tensorcore yang dilakukan selama periode sampel dengan jumlah operasi Tensorcore yang didukung selama periode sampel yang sama.
accelerator_id: ID Perangkat Akselerator.
instance/tpu/active_chips BETA(project)
Jumlah Chip TPU Aktif
GAUGEINT641
gce_instance
Jumlah chip saat ini yang sedang digunakan secara aktif (yaitu) tidak dalam status idle.
accelerator_type: Jenis dan generasi akselerator.
reservation_id: ID reservasi mesin fisik.
provisioning_model: Model penyediaan terkait.
protection_tier: Model perlindungan terkait.
block_id: ID blok dalam cluster yang menghosting VM.
subblock_id: ID sub-blok yang menghosting VM.
is_exr: (BOOL) Menunjukkan apakah chip adalah bagian dari perpanjangan reservasi.
instance/tpu/chip_state BETA(project)
Jumlah Status Chip TPU
GAUGEINT641
gce_instance
Jumlah chip TPU dalam berbagai status seperti Sehat, Tidak Sehat, dan Tidak Diketahui.
state: Status chip.
accelerator_type: Jenis dan generasi akselerator.
block_id: ID blok dalam cluster yang menghosting VM.
subblock_id: ID sub-blok yang menghosting VM.
reservation_id: ID reservasi mesin fisik.
is_exr: (BOOL) Menunjukkan apakah chip adalah bagian dari perpanjangan reservasi.
instance/tpu/infra_health BETA(project)
Kondisi Instance TPU
GAUGEINT641
gce_instance
Menunjukkan status respons keseluruhan instance TPU. Label metrik membantu mengidentifikasi status respons dan alasan masalah tertentu pada instance TPU yang mengalami penurunan kualitas atau tidak responsif, yang terutama berfokus pada kondisi hardware dan sistem TPU. Perubahan status kesehatan mungkin memerlukan waktu beberapa menit untuk ditampilkan dalam metrik ini. Dibuat sampelnya setiap 60 detik. Setelah sampelnya dibuat, data tidak akan terlihat selama maksimal 420 detik.
health_status: Status respons keseluruhan instance TPU. Nilai yang mungkin: SEHAT (beroperasi seperti yang diharapkan), TIDAK SEHAT (masalah kritis terdeteksi), TERDEGRADASI (masalah yang memengaruhi performa), TIDAK DIKETAHUI (status tidak dapat ditentukan).
unhealthy_category: Penjelasan untuk status VM yang tidak sehat. Label ini diisi hanya jika nilai metrik adalah Tidak Sehat.
machine_type: Jenis mesin instance (misalnya, ct6e-standard-4t-tpu).
machine_id: ID mesin fisik yang menghosting VM.
block_id: ID blok dalam cluster yang menghosting VM.
cluster_id: ID cluster yang menghosting VM.
reservation_id: ID reservasi mesin fisik.
subblock_id: ID sub-blok yang menghosting VM.
instance/tpu/runtime/uptime BETA(project)
Uptime Runtime
GAUGEINT64s
gce_instance
Uptime ML Runtime sejak inisialisasi library runtime (libtpu.so) oleh tugas ML. Selama periode ini, library runtime memblokir perangkat TPU untuk digunakan oleh tugas ML.
ml_framework_name: Nama framework ML.
ml_framework_version: Versi framework ML.
instance/tpu/scheduled_chips BETA(project)
Jumlah Chip TPU yang Dijadwalkan
GAUGEINT641
gce_instance
Jumlah chip saat ini yang dialokasikan ke VM yang BERFUNGSI BAIK dan TIDAK DINONAKTIFKAN untuk pemeliharaan.
accelerator_type: Jenis dan generasi akselerator.
reservation_id: ID reservasi mesin fisik.
provisioning_model: Model penyediaan terkait.
protection_tier: Model perlindungan terkait.
block_id: ID blok dalam cluster yang menghosting VM.
subblock_id: ID sub-blok yang menghosting VM.
is_exr: (BOOL) Menunjukkan apakah chip adalah bagian dari perpanjangan reservasi.
instance/tpu/utilized_chips BETA(project)
Chip TPU yang Digunakan
GAUGEDOUBLE1
gce_instance
Kapasitas gabungan saat ini yang digunakan dinyatakan sebagai jumlah efektif chip aktif. Nilai ini setara dengan jumlah pemanfaatan fraksional (0,0 hingga 1,0) semua chip aktif.
accelerator_type: Jenis dan generasi akselerator.
reservation_id: ID reservasi mesin fisik.
provisioning_model: Model penyediaan terkait.
protection_tier: Model perlindungan terkait.
block_id: ID blok dalam cluster yang menghosting VM.
subblock_id: ID sub-blok yang menghosting VM.
is_exr: (BOOL) Menunjukkan apakah chip adalah bagian dari perpanjangan reservasi.
quota/tpus_per_tpu_family/exceeded ALFA(project)
Jumlah TPU per keluarga TPU. Terjadi error karena kuota terlampaui
DELTAINT641
compute.googleapis.com/Location
Jumlah upaya melebihi batas pada metrik kuota compute.googleapis.com/tpus_per_tpu_family. Setelah pengambilan sampel, data tidak akan terlihat selama maksimal 150 detik.
limit_name: Nama batas.
tpu_family: Dimensi kustom kelompok TPU.
quota/tpus_per_tpu_family/limit ALFA(project)
Jumlah TPU per keluarga TPU. Batas kuota
GAUGEINT641
compute.googleapis.com/Location
Batas saat ini pada penghitungan metrik kuota compute.googleapis.com/tpus_per_tpu_family. Dibuat sampelnya setiap 60 detik. Setelah pengambilan sampel, data tidak akan terlihat selama maksimal 150 detik.
limit_name: Nama batas.
tpu_family: Dimensi kustom kelompok TPU.
quota/tpus_per_tpu_family/usage ALFA(project)
Jumlah TPU per kelompok TPU. Penggunaan kuota
GAUGEINT641
compute.googleapis.com/Location
Penggunaan saat ini pada metrik kuota compute.googleapis.com/tpus_per_tpu_family. Setelah pengambilan sampel, data tidak akan terlihat selama maksimal 150 detik.
limit_name: Nama batas.
tpu_family: Dimensi kustom kelompok TPU.
tpu/multislice/accelerator/device_to_host_transfer_latencies BETA(project)
Latensi Transfer Perangkat ke Host
CUMULATIVEDISTRIBUTIONus
gce_instance
Distribusi kumulatif latensi transfer perangkat ke host untuk setiap bagian data. Latensi dimulai saat permintaan agar data ditransfer ke host dikeluarkan dan berakhir saat konfirmasi diterima bahwa transfer data telah selesai.
buffer_size: Ukuran buffer.
tpu/multislice/accelerator/host_to_device_transfer_latencies BETA(project)
Latensi Transfer Host ke Perangkat
CUMULATIVEDISTRIBUTIONus
gce_instance
Distribusi kumulatif latensi transfer host ke perangkat untuk setiap bagian data traffic multislice. Latensi dimulai saat permintaan agar data ditransfer ke perangkat dikeluarkan dan berakhir saat konfirmasi diterima bahwa transfer data telah selesai.
buffer_size: Ukuran buffer.
tpu/multislice/network/collective_end_to_end_latencies BETA(project)
Latensi End-to-End Kolektif
CUMULATIVEDISTRIBUTIONus
gce_instance
Distribusi kumulatif latensi kolektif end-to-end untuk traffic multislice. Latensi dimulai saat permintaan untuk kolektif dikeluarkan dan berakhir saat pengakuan diterima bahwa transfer data telah selesai.
input_size: Ukuran input operasi kolektif.
collective_type: Jenis operasi kolektif.
tpu/multislice/network/dcn_transfer_latencies BETA(project)
Latensi Transfer DCN
CUMULATIVEDISTRIBUTIONus
gce_instance
Distribusi kumulatif latensi transfer jaringan untuk traffic multislice. Latensi dimulai saat permintaan agar data ditransfer melalui DCN dikeluarkan dan berakhir saat konfirmasi diterima bahwa transfer data telah selesai.
buffer_size: Ukuran buffer.
type: Jenis.
tpu/multislice/network/grpc_client_call_latencies BETA(project)
Latensi Panggilan Klien gRPC
CUMULATIVEDISTRIBUTIONus
gce_instance
Distribusi kumulatif latensi transfer jaringan untuk penyelesaian RPC dari perspektif pemanggil yang dilakukan oleh library gRPC.
buffer_size: Ukuran buffer.
tpu/multislice/network/grpc_server_call_latencies BETA(project)
Latensi Panggilan Server gRPC
CUMULATIVEDISTRIBUTIONus
gce_instance
Distribusi kumulatif latensi transfer jaringan untuk server gRPC dalam menyelesaikan RPC dari perspektif transport.
buffer_size: Ukuran buffer.
tpu/multislice/network/grpc_tcp_delivery_rates BETA(project)
Rasio Pengiriman TCP gRPC
CUMULATIVEDISTRIBUTIONMb/s
gce_instance
Distribusi kumulatif kecepatan transfer data koneksi TCP. Setiap sampel adalah kecepatan transfer data rata-rata terbaru untuk koneksi TCP tertentu selama interval ACK TCP terakhir. Contoh kecepatan transfer data diambil dari Kernel TCP Linux setiap 20 detik, sehingga setiap koneksi TCP diperkirakan membuat sekitar 3 sampel per interval 60 detik.
tpu/multislice/network/grpc_tcp_min_round_trip_times BETA(project)
Waktu Perjalanan Bolak-Balik Minimum TCP gRPC
CUMULATIVEDISTRIBUTIONus
gce_instance
Distribusi kumulatif latensi transfer jaringan minimum per koneksi TCP.
tpu/multislice/network/grpc_tcp_packets_retransmitted_count BETA(project)
Jumlah Paket TCP gRPC yang Ditransmisikan Ulang
CUMULATIVEINT641
gce_instance
Jumlah total paket yang ditransmisikan ulang.
tpu/multislice/network/grpc_tcp_packets_sent_count BETA(project)
Jumlah Paket TCP gRPC yang Dikirim
CUMULATIVEINT641
gce_instance
Jumlah total paket yang dikirim TCP.
tpu/slice/capacity/available_chips BETA(project)
Jumlah Chip TPU yang Tersedia
GAUGEINT641
compute.googleapis.com/AcceleratorSlice
Jumlah chip TPU saat ini dari Reservasi yang Diperpanjang yang tersedia secara aktif dan siap digunakan. Dibuat sampelnya setiap 60 detik. Setelah sampelnya dibuat, data tidak akan terlihat selama maksimal 360 detik.
accelerator_type: Jenis dan generasi akselerator.
reservation_id: ID reservasi mesin fisik.
block_id: ID blok yang terkait dengan slice.
subblock_id: ID subblok yang terkait dengan slice.
provisioning_model: Model penyediaan terkait.
protection_tier: Model perlindungan terkait.
tpu/slice/capacity/committed_chips BETA(project)
Jumlah Chip TPU yang Dibeli
GAUGEINT641
compute.googleapis.com/AcceleratorSlice
Jumlah chip TPU yang dibeli saat ini untuk Pemesanan yang Diperpanjang. Dibuat sampelnya setiap 60 detik. Setelah sampelnya dibuat, data tidak akan terlihat selama maksimal 360 detik.
accelerator_type: Jenis dan generasi akselerator.
reservation_id: ID reservasi mesin fisik.
block_id: ID blok yang terkait dengan slice.
subblock_id: ID subblok yang terkait dengan slice.
provisioning_model: Model penyediaan terkait.
protection_tier: Model perlindungan terkait.

Untuk daftar lengkap metrik yang dihasilkan oleh Compute Engine, lihat Metrik Compute Engine.

Pengumpul Telemetri AI

Pengumpul Telemetri AI mengumpulkan dan memublikasikan metrik TPU di namespace compute.googleapis.com untuk TPU yang dibuat menggunakan Compute Engine API. Metrik ini adalah metrik sistem bawaan, yang memberikan visibilitas terhadap kondisi dan performa.

Arsitektur AI Telemetry Collector dirancang sebagai OpenTelemetry (OTEL) Collector khusus yang ringan. Konversi ini menggunakan dua penerima utama untuk merekam data:

  • Penerima Runtime TPU: Mengambil metrik runtime dan beban kerja (seperti siklus tugas dan penggunaan memori) langsung dari runtime TPU saat beban kerja machine learning aktif.
  • TPU Host Receiver: Mengumpulkan metrik pemanfaatan hardware, seperti Pemanfaatan TensorCore dan Pemanfaatan Bandwidth Memori, langsung dari perangkat, terlepas dari apakah workload sedang berjalan atau tidak.

Kemudian, Pengumpul Telemetri AI menggunakan prosesor untuk menerapkan tag resource yang diperlukan secara otomatis (seperti project_id, instance_id, dan zone) dan mengekspor telemetri secara aman langsung ke Cloud Monitoring.

Pengumpul Telemetri AI sudah diinstal sebelumnya di image Ubuntu LTS yang dioptimalkan untuk TPU Google, dan berjalan secara otomatis saat VM di-boot. Untuk menggunakan penyiapan ini, tentukan project dan family image akselerator Google resmi saat membuat instance VM TPU atau template instance. Setelah VM dimulai, Pengumpul Telemetri AI akan otomatis mengirimkan metrik ke dasbor Cloud Monitoring.

Jika Anda membuat image sistem operasi kustom, Anda dapat menggunakan Pengumpul Telemetri AI setelah menginstal dan menjalankan image Docker ai-telemetry-collector. Untuk mengetahui informasi selengkapnya, lihat Menggunakan image OS kustom.

Konfigurasi

Pengumpul Telemetri AI otomatis mengirimkan metrik ke dasbor Cloud Monitoring, dan tidak memerlukan langkah konfigurasi tambahan. Namun, Anda dapat mengonfigurasi paket Snap atau image Docker untuk menambahkan tujuan ekspor eksternal, mengubah interval pengumpulan metrik, dan menyertakan opsi penelusuran bug.

Anda dapat mengganti konfigurasi default dengan file konfigurasi baru, atau menambahkan file konfigurasi tambahan ke konfigurasi default yang ada. Saat menambahkan konfigurasi, kunci yang belum ada akan ditambahkan dan kunci yang sudah ada akan digantikan. Namun, array dan daftar tidak bersifat aditif, sehingga daftar baru harus menyertakan nilai yang sudah ada dan nilai baru.

File YAML berikut mengonfigurasi AI Telemetry Collector untuk mengirim metrik ke Prometheus, yaitu toolkit pemantauan dan pemberitahuan sistem open source. Selain itu, opsi ini juga mengaktifkan opsi proses debug, yang mencetak metrik dalam konsol.

exporters:
  prometheus:
    endpoint: 0.0.0.0:8889

service:
  pipelines:
    metrics:
      exporters:
      -   prometheus # For more: https://prometheus.io/docs/introduction/overview/
      -   googlecloud # If you do not include this, you'll lose Google Cloud Monitoring
      -   debug # print metrics within the console

OS Default

Jika Anda menggunakan image Ubuntu LTS yang dioptimalkan untuk TPU Google, jalankan perintah Snap berikut untuk menambahkan file config baru ke konfigurasi yang ada:

sudo snap set \
  ai-telemetry-collector \
  extra-flags="--config /home/username/additional-config.yaml"

Jika Anda ingin mengganti dan menggantikan konfigurasi yang ada, gunakan flag config-path, bukan extra-flags:

sudo snap set \
  ai-telemetry-collector \
  config-path="/home/username/new-config.yaml"

Perintah snap set akan memicu mulai ulang otomatis AI Telemetry Collector. Untuk memverifikasi bahwa pengumpul telah dimulai ulang dan berhasil menerapkan konfigurasi Anda, gunakan perintah berikut untuk melihat log:

sudo snap logs -f ai-telemetry-collector

OS Kustom

Jika Anda menggunakan OS kustom, jalankan perintah Docker berikut untuk menambahkan file konfigurasi baru ke konfigurasi yang ada:

# First apply the default configs via `--config=/etc/ai-telemetry-collector/config.yaml`
# Then apply your additional config by volume mount.

docker run --privileged --net=host                                                                   \
  -v <path>/additional-config.yaml:/etc/ai-telemetry-collector/additional-config.yaml \
  ai-telemetry-collector:latest                                                       \
  --config=/etc/ai-telemetry-collector/config.yaml                                    \
  --config=/etc/ai-telemetry-collector/additional-config.yaml

Jika Anda ingin mengganti dan mengganti konfigurasi yang ada, gunakan perintah Docker berikut:

# Mount a volume (your config file) to `/etc/ai-telemetry-collector/config.yaml`
# The binary automatically picks up this file.

docker run --privileged --net=host                                               \
  -v <path>/my-config.yaml:/etc/ai-telemetry-collector/config.yaml   \
  ai-telemetry-collector:latest

Log audit

LayananGoogle Cloud membuat log audit yang mencatat aktivitas administratif dan akses dalam resource Google Cloud Anda. Untuk mengetahui informasi selengkapnya, lihat Pencatatan log audit Compute Engine.