Membuat profil lingkungan Multislice

Lingkungan Cloud TPU Multislice terdiri dari beberapa slice TPU yang berkomunikasi melalui Jaringan Pusat Data (DCN). Anda dapat menggunakan alat statistik Megascale di XProf untuk melihat informasi tentang seberapa efektif lingkungan Multislice Anda memanfaatkan jaringan DCN. Secara khusus, alat Statistik Skala Besar memungkinkan Anda:

  • Melihat dan memahami performa jaringan antar-slice berdasarkan data yang dikumpulkan
  • Mengidentifikasi hambatan performa
  • Mengoptimalkan performa model Anda

Semua metrik dalam alat statistik Megascale dibuat berdasarkan per-TPU. Untuk mengaktifkan alat ini, ikuti langkah-langkah yang sama untuk merekam profil di framework Anda dan gunakan library XProfiler untuk menyiapkan instance TensorBoard XProf guna melihat profil Anda. Selama workload Anda dijalankan sebagai workload multislice, TensorBoard akan menampilkan alat "Statistik megaskala" untuk workload multislice apa pun.

Untuk mengetahui detail selengkapnya tentang alat statistik Megascale di XProf, lihat panduan Alat Statistik Megascale.

Terminologi

Alat statistik kolektif DCN menampilkan metrik yang menjelaskan komunikasi yang terjadi antara slice TPU dalam lingkungan Multi-slice. Saat runtime TPU memulai komunikasi antar-slice, serangkaian operasi akan digunakan:

  • send: Menginterupsi host untuk memulai Akses Memori Langsung (DMA) dan menyediakan buffer yang terisi ke host untuk memulai transfer data.
  • send-done: Memberi sinyal kepada host bahwa transfer data telah selesai.
  • recv: Menyediakan buffer kosong agar host dapat mengisinya dengan data yang ditransfer.
  • recv-done: Memberi sinyal kepada host bahwa data telah diterima.

Kolektif dimulai saat operasi send terjadi dan selesai saat operasi recv-done yang cocok terjadi.

Waktu Santai

Ukuran waktu saat kolektif dapat mengirim dan menerima data. Ini tidak mencakup operasi send, send-done, recv, atau recv-done. Misalnya, dengan linimasa berikut:

Chip Pod v5e

Waktu kelonggaran dalam contoh ini dihitung sebagai:

Waktu jeda = t1 + t2 + t3

Meningkatkan waktu jeda akan mengurangi peluang untuk menghentikan TPU secara kolektif. Anda dapat meningkatkan waktu kelonggaran dengan memilih metode penyiapan lain.

Durasi penundaan

Durasi rata-rata waktu yang dihabiskan kolektif dalam operasi pengiriman, pengiriman selesai, penerimaan, dan penerimaan selesai. Perhatikan bahwa hal ini tidak mencakup waktu yang dihabiskan untuk mengirimkan data. Misalnya, dengan linimasa berikut:

Chip Pod v5e

Durasi jeda dalam contoh ini dihitung sebagai:

Durasi jeda = tsend + tsend-done + trecv + trecv-done

Durasi yang diamati

Durasi waktu antara operasi send dan recv-done, termasuk waktu pengiriman dan penerimaan data. Misalnya, dengan linimasa berikut:

Chip Pod v5e

Durasi yang diamati dihitung sebagai:

Durasi yang diamati = tsend + t1 + tsend-done + t2 + trecv + t3 + trecv-done

Kejadian

Jumlah koleksi yang dimulai dan diselesaikan selama durasi profil. Koleksi dimulai saat operasi send terjadi dan selesai saat operasi recv-end yang cocok terjadi. Operasi send dan operasi recv-done yang cocok harus terjadi dalam durasi profil agar disertakan dalam metrik ini.

Total jeda gabungan

Total waktu kolektif menghentikan TPU selama durasi profil. Penghentian total agregasi dihitung sebagai:

Total jeda gabungan = durasi jeda * kemunculan

Ukuran data yang ditransmisikan

Jumlah data yang ditransmisikan melalui jaringan untuk kolektif selama durasi profil.

Bandwidth yang diperlukan

Bandwidth yang diperlukan untuk mengirimkan data dalam rentang waktu yang diberikan. Anda dapat menggunakan metrik ini untuk melihat jumlah kolektif yang bersaing untuk mendapatkan bandwidth jaringan selama durasi profil. Bandwidth yang diperlukan dihitung sebagai:

Bandwidth yang diperlukan = ukuran data yang ditransmisikan / waktu jeda

Status alat

Tabel berikut menunjukkan versi TensorFlow atau versi runtime TPU yang diperlukan untuk setiap metrik yang ditampilkan di alat Statistik Kolektif DCN.

Statistik Kolektif DCN Versi runtime TPU TensorFlow yang didukung
Waktu luang TensorFlow 2.15.0, TensorBoard 2.15.1, dan tensorboard-plugin-profile 2.15.0
Durasi penundaan TensorFlow 2.15.0, TensorBoard 2.15.1, dan tensorboard-plugin-profile 2.15.0
Durasi yang diamati TensorFlow 2.15.0, TensorBoard 2.15.1, dan tensorboard-plugin-profile 2.15.0
Kejadian TensorFlow 2.15.0, TensorBoard 2.15.1, dan tensorboard-plugin-profile 2.15.0
Total jeda gabungan tf-nightly, tb-nightly, tbp-nightly
Ukuran data yang ditransmisikan tf-nightly, tb-nightly, tbp-nightly
Bandwidth yang diperlukan tf-nightly, tb-nightly, tbp-nightly

Cara Menganalisis alat Statistik Kolektif DCN

  1. Jalankan server TensorBoard dan buka tab Profile.

  2. Urutkan tabel di alat statistik kolektif DCN menurut Total Penghentian Gabungan dalam urutan menurun.

  3. Identifikasi nama kolektif DCN yang memiliki Total Penghentian Gabungan tertinggi. Jika durasi jeda gabungan kolektif ini jauh lebih tinggi dibandingkan dengan yang lain, hal ini dapat menunjukkan bahwa ada hambatan dalam kolektif DCN.

  4. Kalikan bandwidth yang diperlukan untuk kolektif DCN dengan jumlah core. Ada 8 core per host TPU v4, sehingga bandwidth yang diperlukan untuk kolektif adalah 8 x nilai yang ditampilkan. Jika bandwidth yang diperlukan lebih besar daripada bandwidth jaringan maksimum TPU, hal ini mungkin berarti jaringan mengalami kemacetan. Untuk mengurangi bandwidth yang diperlukan, coba ubah mekanisme sharding yang Anda gunakan. Untuk mengetahui informasi selengkapnya tentang mekanisme sharding, lihat Ringkasan Multi-slice Cloud TPU.

  5. Buat dump HLO untuk menentukan apakah ada masalah compiler. Sebaiknya lakukan operasi send dan recv-done untuk kolektif agar memungkinkan penjadwalan lebih banyak Operasi HLO yang tumpang-tindih. Tumpang-tindih lebih banyak operasi HLO akan mengurangi waktu jeda TPU.

  6. Periksa durasi operasi recv-done di Trace Viewer untuk kolektif DCN yang memiliki total penghentian gabungan maksimum. Jika durasi transfer tinggi, mungkin ada hambatan bandwidth karena operasi recv-done biasanya diblokir di jaringan untuk mendapatkan data.

  7. Jika durasi operasi recv-done tidak terlalu tinggi dibandingkan dengan waktu jeda, hal ini dapat menunjukkan masalah hardware.