Memantau VM Cloud TPU
Panduan ini menjelaskan cara menggunakan Google Cloud Monitoring untuk memantau VM Cloud TPU Anda. Google Cloud Monitoring otomatis mengumpulkan metrik dan log dari Cloud TPU Anda dan Compute Engine host-nya. Data ini dapat digunakan untuk memantau kondisi Cloud TPU dan Compute Engine Anda.
Metrik memungkinkan Anda melacak kuantitas numerik dari waktu ke waktu, misalnya, penggunaan CPU, penggunaan jaringan, atau durasi tidak ada aktivitas TensorCore. Log merekam peristiwa pada titik waktu tertentu. Entri log ditulis oleh kode Anda sendiri, layanan Google Cloud, aplikasi pihak ketiga, dan infrastruktur 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.
Panduan ini membahas Google Cloud Monitoring dan menunjukkan cara:
- Melihat metrik Cloud TPU
- Menyiapkan kebijakan pemberitahuan metrik Cloud TPU
- Mengkueri log Cloud TPU
- Membuat metrik berbasis log untuk menyiapkan pemberitahuan dan memvisualisasikan dasbor
Prasyarat
Dokumen ini mengasumsikan bahwa Anda memiliki pengetahuan dasar tentang Google Cloud Monitoring. Anda harus memiliki VM Compute Engine dan resource Cloud TPU yang dibuat sebelum dapat mulai membuat dan menggunakan Google Cloud Monitoring. Lihat Panduan Memulai Cloud TPU untuk mengetahui detail selengkapnya.
Metrik
Metrik Google Cloud dihasilkan secara otomatis oleh VM Compute Engine dan runtime Cloud TPU. Metrik berikut dihasilkan oleh VM Cloud TPU:
memory/usage
network/received_bytes_count
network/sent_bytes_count
cpu/utilization
tpu/tensorcore/idle_duration
accelerator/tensorcore_utilization
accelerator/memory_bandwidth_utilization
accelerator/duty_cycle
accelerator/memory_total
accelerator/memory_used
Perlu waktu hingga 180 detik antara saat nilai metrik dihasilkan dan saat ditampilkan di Metric Explorer.
Untuk mengetahui daftar lengkap metrik yang dihasilkan oleh Cloud TPU, lihat Metrik Cloud TPU Google Cloud.
Penggunaan memori
Metrik memory/usage
dihasilkan untuk resource TPU Worker
dan melacak
memori yang digunakan oleh VM TPU dalam byte. Metrik ini diambil sampelnya setiap 60 detik.
Jumlah byte yang diterima jaringan
Metrik network/received_bytes_count
dihasilkan untuk resource TPU Worker
dan melacak jumlah byte kumulatif data yang diterima VM TPU melalui jaringan pada suatu waktu.
Jumlah byte yang dikirim jaringan
Metrik network/sent_bytes_count
dihasilkan untuk resource TPU Worker
dan melacak jumlah byte kumulatif yang dikirim VM TPU melalui jaringan pada
titik waktu tertentu.
Pemakaian CPU
Metrik cpu/utilization
dihasilkan untuk resource TPU Worker
dan
melacak penggunaan CPU saat ini pada pekerja TPU, yang direpresentasikan sebagai persentase,
yang diambil sampelnya sekali per menit. Nilai biasanya antara 0,0 dan 100,0, tetapi mungkin melebihi 100,0.
Durasi tidak ada aktivitas TensorCore
Metrik tpu/tensorcore/idle_duration
dibuat untuk resource TPU Worker
dan melacak jumlah detik setiap TensorCore chip TPU tidak ada aktivitas. Metrik ini tersedia untuk setiap chip di semua TPU yang digunakan. Jika TensorCore
sedang digunakan, nilai durasi tidak ada aktivitas akan direset ke nol. Jika TensorCore tidak
lagi digunakan, nilai durasi tidak ada aktivitas akan mulai meningkat.
Grafik berikut menunjukkan metrik tpu/tensorcore/idle_duration
untuk VM TPU v2-8
yang memiliki satu pekerja. Setiap pekerja memiliki empat chip. Dalam contoh ini, keempat
chip memiliki nilai yang sama untuk tpu/tensorcore/idle_duration
, sehingga
grafik ditempatkan di atas satu sama lain.
Penggunaan TensorCore
Metrik accelerator/tensorcore_utilization
dibuat untuk resource GCE TPU
Worker
dan melacak persentase TensorCore saat ini yang
digunakan. Metrik ini dihitung dengan membagi jumlah operasi
TensorCore yang dilakukan selama periode sampel dengan jumlah maksimum operasi
yang dapat dilakukan selama periode sampel yang sama. Nilai yang lebih besar berarti penggunaan yang lebih baik. Metrik penggunaan TensorCore didukung oleh generasi TPU v4 dan yang lebih baru.
Penggunaan Bandwidth Memori
Metrik accelerator/memory_bandwidth_utilization
dihasilkan untuk
resource GCE TPU Worker
dan melacak persentase bandwidth memori
akselerator saat ini yang sedang digunakan. Metrik ini dihitung dengan membagi
bandwidth memori yang digunakan selama periode sampel dengan bandwidth maksimum yang didukung
selama periode sampel yang sama. Nilai yang lebih besar berarti pemakaian yang lebih baik. Metrik Penggunaan Bandwidth
Memori didukung oleh generasi TPU v4 dan yang lebih baru.
Siklus Tugas Akselerator
Metrik accelerator/duty_cycle
dihasilkan untuk resource GCE TPU Worker
dan melacak persentase waktu selama periode sampel saat TensorCore akselerator secara aktif memproses. Nilainya berkisar antara 0
hingga 100. Nilai yang lebih besar berarti pemakaian TensorCore yang lebih baik. Metrik ini
dilaporkan saat beban kerja machine learning berjalan di VM TPU. Metrik
Accelerator Duty Cycle didukung untuk JAX
0.4.14 dan yang lebih baru,
PyTorch
2.1 dan yang lebih baru, serta
TensorFlow
2.14.0 dan
yang lebih baru.
Total Memori Akselerator
Metrik accelerator/memory_total
dihasilkan untuk resource GCE TPU Worker
dan melacak total memori akselerator yang dialokasikan dalam byte.
Metrik ini dilaporkan saat beban kerja machine learning berjalan di VM TPU. Metrik Total Memori Akselerator didukung untuk JAX
0.4.14 dan yang lebih baru,
PyTorch
2.1 dan yang lebih baru, serta
TensorFlow
2.14.0 dan
yang lebih baru.
Memori Akselerator yang Digunakan
Metrik accelerator/memory_used
dihasilkan untuk resource GCE TPU Worker
dan melacak total memori akselerator yang digunakan dalam byte. Metrik ini
dilaporkan saat beban kerja machine learning berjalan di VM TPU. Metrik
Accelerator Memory Used didukung untuk JAX
0.4.14 dan yang lebih baru,
PyTorch
2.1 dan yang lebih baru, serta
TensorFlow
2.14.0 dan
yang lebih baru.
Melihat metrik
Anda dapat melihat metrik menggunakan Metrics Explorer di konsol Google Cloud.
Di Metrics explorer, klik Select a metric dan telusuri TPU Worker
atau GCE TPU Worker
, bergantung pada metrik yang Anda minati.
Pilih resource untuk menampilkan semua metrik yang tersedia untuk resource tersebut.
Jika Aktif diaktifkan, hanya metrik dengan data deret waktu dalam 25 jam
terakhir yang tercantum. Nonaktifkan Active untuk mencantumkan semua metrik.
Anda juga dapat mengakses metrik menggunakan panggilan HTTP curl
.
Gunakan tombol Coba di dokumentasi projects.timeSeries.query untuk mengambil nilai metrik dalam jangka waktu yang ditentukan.
- Isi nama dalam format berikut:
projects/{project-name}
. Tambahkan kueri ke bagian Isi permintaan. Berikut adalah contoh kueri untuk mengambil metrik durasi tidak ada aktivitas untuk zona yang ditentukan selama lima menit terakhir.
fetch tpu_worker | filter zone = 'us-central2-b' | metric tpu.googleapis.com/tpu/tensorcore/idle_duration | within 5m
Klik Execute untuk melakukan panggilan dan melihat hasil pesan HTTP POST.
Dokumen Referensi Bahasa Kueri Monitoring memiliki informasi selengkapnya tentang cara menyesuaikan kueri ini.
Membuat pemberitahuan
Anda dapat membuat kebijakan pemberitahuan yang memberi tahu Cloud Monitoring untuk mengirim pemberitahuan saat kondisi terpenuhi.
Langkah-langkah di bagian ini menunjukkan contoh cara menambahkan kebijakan pemberitahuan untuk metrik Durasi Tidak Ada Aktivitas TensorCore. Setiap kali metrik ini melebihi 24 jam, Cloud Monitoring akan mengirim email ke alamat email terdaftar.
- Buka konsol Monitoring.
- Di panel navigasi, klik Pemberitahuan.
- Klik Edit notification channels.
- Di bagian Email, klik Tambahkan baru. Ketik alamat email, nama tampilan, lalu klik Simpan.
- Di halaman Pemberitahuan, klik Buat kebijakan.
- Klik Select a metric, lalu pilih Tensorcore Idle Duration dan klik Apply.
- Klik Berikutnya, lalu Batas.
- Untuk Pemicu pemberitahuan, pilih Deret waktu mana pun melanggar.
- Untuk Threshold position, pilih Above threshold.
- Untuk Threshold value, ketik
86400000
. - Klik Berikutnya.
- Di bagian Saluran notifikasi, pilih saluran notifikasi email Anda, lalu klik Oke.
- Ketik nama untuk kebijakan pemberitahuan.
- Klik Berikutnya, lalu Buat kebijakan.
Jika Durasi Tidak Ada Aktivitas TensorCore melebihi 24 jam, email akan dikirim ke alamat email yang Anda tentukan.
Logging
Entri log ditulis oleh layanan Google Cloud, layanan pihak ketiga, framework ML, atau kode Anda. Anda dapat melihat log menggunakan Logs Explorer atau Logging API. Untuk mengetahui informasi selengkapnya tentang logging Google Cloud, lihat Logging Google Cloud.
Log Pekerja TPU berisi informasi tentang pekerja Cloud TPU tertentu di zona tertentu, misalnya jumlah memori yang tersedia di pekerja Cloud TPU (system_available_memory_GiB
).
Log Resource yang Diaudit berisi informasi tentang kapan
API Cloud TPU
tertentu dipanggil dan siapa yang melakukan panggilan tersebut. Misalnya, Anda dapat menemukan informasi
tentang panggilan ke API CreateNode
, UpdateNode
, dan DeleteNode
.
Framework ML dapat menghasilkan log ke output standar dan error standar. Log ini dikontrol oleh variabel lingkungan dan dibaca oleh skrip pelatihan Anda.
Kode Anda dapat menulis log ke Google Cloud Logging. Untuk informasi selengkapnya, lihat Menulis log standar dan Menulis log terstruktur.
Mengkueri log Google Cloud
Saat Anda melihat log di konsol Google Cloud, halaman akan menjalankan kueri default.
Anda dapat melihat kueri dengan memilih tombol Show query
. Anda dapat mengubah kueri default atau membuat kueri baru. Untuk mengetahui informasi selengkapnya, lihat
Mem-build Kueri di Logs Explorer.
Log resource yang diaudit
Untuk melihat log Resource yang Diaudit:
- Buka Logs Explorer Google Cloud.
- Klik drop-down Semua resource.
- Klik Audited Resource, lalu Cloud TPU.
- Pilih Cloud TPU API yang Anda minati.
- Klik Terapkan. Log ditampilkan di hasil kueri.
Klik entri log mana pun untuk meluaskannya. Setiap entri log memiliki beberapa kolom, termasuk:
- logName: nama log
- protoPayload -> @type: jenis log
- protoPayload -> resourceName: nama Cloud TPU Anda
- protoPayload -> methodName: nama metode yang dipanggil (khusus log audit)
- protoPayload -> request -> @type: jenis permintaan
- protoPayload -> request -> node: detail tentang node Cloud TPU
- protoPayload -> request -> node_id: nama TPU
- severity: tingkat keparahan log
Log Pekerja TPU
Untuk melihat log TPU Worker:
- Buka Logs Explorer Google Cloud.
- Klik drop-down Semua resource.
- Klik TPU Worker.
- Pilih zona.
- Pilih Cloud TPU yang Anda minati.
- Klik Terapkan. Log ditampilkan di hasil kueri.
Klik entri log mana pun untuk meluaskannya. Setiap entri log memiliki kolom yang disebut
jsonPayload
. Luaskan jsonPayload
untuk melihat beberapa kolom, termasuk:
- accelerator_type: jenis akselerator
- consumer_project: project tempat Cloud TPU berada
- evententry_timestamp: waktu pembuatan log
- system_available_memory_GiB: memori yang tersedia di pekerja Cloud TPU (0 ~ 350 GiB)
Membuat metrik berbasis log
Bagian ini menjelaskan cara membuat metrik berbasis log yang digunakan untuk menyiapkan dasbor dan pemberitahuan pemantauan. Untuk informasi tentang cara membuat metrik berbasis log secara terprogram, lihat Membuat metrik berbasis log secara terprogram menggunakan Cloud Logging REST API.
Contoh berikut menggunakan subkolom system_available_memory_GiB untuk menunjukkan cara membuat metrik berbasis log untuk memantau memori pekerja Cloud TPU yang tersedia.
- Buka Logs Explorer Google Cloud.
Di kotak kueri, masukkan kueri berikut untuk mengekstrak semua entri log yang memiliki system_available_memory_GiB yang ditentukan untuk pekerja Cloud TPU utama:
resource.type=tpu_worker resource.labels.project_id=your-project resource.labels.zone=your-tpu-zone resource.labels.node_id=your-tpu-name resource.labels.worker_id=0 logName=projects/your-project/logs/tpu.googleapis.com%2Fruntime_monitor jsonPayload.system_available_memory_GiB:*
Klik Create metric untuk menampilkan Metric Editor.
Di bagian Metric Type, pilih Distribution.
Ketik nama, deskripsi opsional, dan satuan pengukuran untuk metrik Anda. Untuk contoh ini, ketik "matrix_unit_utilization_percent" dan "MXU utilization" di kolom Name dan Description. Filter ini diisi otomatis dengan skrip yang Anda masukkan di Logs Explorer.
Klik Create metric.
Klik Lihat di Metrics Explorer untuk melihat metrik baru Anda. Mungkin perlu waktu beberapa menit sebelum metrik Anda ditampilkan.
Membuat metrik berbasis log dengan Cloud Logging REST API
Anda juga dapat membuat metrik berbasis log melalui Cloud Logging API. Untuk mengetahui informasi selengkapnya, lihat Membuat metrik distribusi.
Membuat dasbor dan pemberitahuan menggunakan metrik berbasis log
Dasbor berguna untuk memvisualisasikan metrik (perkirakan keterlambatan ~2 menit); pemberitahuan berguna untuk mengirim notifikasi saat error terjadi. Untuk informasi selengkapnya, lihat:
- Dasbor pemantauan dan logging
- Mengelola dasbor kustom
- Membuat kebijakan pemberitahuan berbasis metrik
Membuat dasbor
Untuk membuat dasbor di Cloud Monitoring untuk metrik Durasi tidak ada aktivitas Tensorcore:
- Buka konsol Monitoring.
- Di panel navigasi, klik Dasbor.
- Klik Buat dasbor, lalu Tambahkan widget.
- Pilih jenis diagram yang ingin Anda tambahkan. Untuk contoh ini, pilih Garis.
- Ketik judul untuk widget.
- Klik menu drop-down Select a metric, lalu ketik "Tensorcore idle duration" di kolom filter.
- Dalam daftar metrik, pilih TPU Worker -> Tpu -> Tensorcore idle duration.
- Untuk memfilter konten dasbor, klik menu drop-down Filter.
- Di bagian Resource labels, pilih project_id.
- Pilih pembanding dan ketik nilai di kolom Value.
- Klik Terapkan.