Tentang pengirisan dinamis GKE

Dokumen ini menjelaskan slicing dinamis di Google Kubernetes Engine (GKE) untuk Cloud TPU. Slicing dinamis meningkatkan efisiensi dan fleksibilitas TPU dengan memisahkan penyediaan TPU dari kebutuhan slice TPU workload. Slicing dinamis membantu meningkatkan pemanfaatan resource TPU dengan mengurangi waktu startup workload hingga lima kali lipat, dan waktu pemulihan hingga 4,5 kali lipat.

Slicing dinamis ditujukan untuk Engineer machine learning (ML) dan Engineer platform yang ingin mengoptimalkan pemanfaatan TPU, mengurangi waktu penyediaan, dan meningkatkan fault tolerance untuk workload pelatihan dan inferensi berskala besar.

Sebelum membaca dokumen ini, Anda harus memahami hal-hal berikut:

Apa itu slicing dinamis?

Slicing dinamis adalah fitur pengoptimalan TPU GKE yang memisahkan penyediaan hardware TPU fisik dan statis dari alokasi slice TPU saat runtime saat workload dijadwalkan.

Saat Anda menggunakan topologi TPU statis, node pool GKE terikat ke topologi tertentu yang Anda konfigurasi selama pembuatan. Karena batasan ini, jika ada node dalam pool statis yang gagal, seluruh node pool akan terpengaruh. Topologi workload Anda juga harus sama persis dengan topologi TPU node pool agar dapat dijadwalkan, yang mungkin memerlukan penyediaan ulang infrastruktur TPU secara berkala untuk workload yang berbeda.

Slicing dinamis memungkinkan GKE mengonfigurasi slice TPU saat runtime ketika workload dijadwalkan. Daripada membuat node pool secara manual dengan topologi TPU yang tepat yang diperlukan untuk setiap workload baru, Anda dapat melakukan pra-penyediaan seluruh kapasitas TPU ke dalam node pool terperinci berukuran tetap. Untuk Ironwood (TPU7x), setiap node pool terdiri dari topologi 4x4x4, yang juga dikenal sebagai sub-blok. Sub-blok mewakili grup 16 node VM TPU tanpa mesh topologi Inter-Chip Interconnect (ICI) aktif. Saat runtime, ketika workload dijadwalkan, slicing dinamis GKE akan mengonfigurasi ulang interkoneksi jaringan TPU untuk menggabungkan beberapa node pool menjadi slice TPU besar yang diperlukan atau membagi node pool untuk membentuk slice TPU yang lebih kecil. Konfigurasi ulang ini membuat topologi multi-dimensi yang tepat yang diminta oleh workload dalam hitungan detik.

Manfaat slicing dinamis

Menerapkan arsitektur TPU dinamis di GKE memberikan keuntungan berikut:

  • Pemulihan workload yang lebih cepat: jika terjadi kegagalan hardware fisik, GKE akan mengisolasi masalah ke satu partisi. Pengontrol slice GKE secara otomatis mengubah bentuk slice aktif dan mengonfigurasi ulang jaringan untuk mengganti partisi yang rusak dengan cadangan yang responsif. Proses ini meningkatkan ketahanan atau waktu pemulihan rata-rata (MTTR) hingga 4,5 kali lipat dibandingkan dengan membuat ulang seluruh node pool.
  • Mempercepat startup Tugas: slice workload dapat dibentuk secara dinamis, yang menawarkan peningkatan latensi startup Tugas hingga lima kali lipat dibandingkan dengan membuat node pool statis.
  • Isolasi kegagalan: kegagalan hardware diisolasi ke partisi tertentu tempat kesalahan terjadi. Isolasi ini membantu melindungi tugas serentak lainnya di cluster dari kegagalan beruntun.
  • Pemanfaatan resource yang dioptimalkan: slicing dinamis membantu menghilangkan kapasitas yang tidak terpakai atau kurang dimanfaatkan. Karena slice dikonfigurasi agar sesuai dengan permintaan workload, slicing dinamis membantu memaksimalkan pemanfaatan fleet dan meminimalkan hardware yang tidak digunakan.
  • Orkestrasi deklaratif: slicing dinamis menggunakan resource dan anotasi kustom berbasis Kubernetes, seperti JobSet dan Kueue. Pendekatan ini secara otomatis mengelola jaringan tingkat rendah dan orkestrasi hardware.

Konfigurasi slicing dinamis

Slicing dinamis menawarkan konfigurasi berikut:

  • Super-slicing dinamis: menggabungkan beberapa node pool TPU yang terpisah secara fisik dan telah disediakan sebelumnya untuk membentuk satu slice virtual pada waktu penjadwalan workload. Misalnya, Anda dapat menggabungkan dua node pool 4x4x4 untuk membentuk topologi 4x4x8. Kemampuan ini memungkinkan Anda membuat slice yang sama dengan atau lebih besar dari topologi 4x4x4. Konfigurasi ini memerlukan versi 1.35.2-gke.1842000 atau yang lebih baru. Anda dapat menggunakan super-slicing dinamis untuk melatih model dasar besar yang melebihi kapasitas satu blok hardware fisik.

    Pengontrol slice mengatur konfigurasi ulang fisik dalam fabric jaringan Optical Circuit Switch (OCS). Dengan mengonfigurasi ulang OCS secara dinamis, GKE memperluas jaringan Inter-Chip Interconnect (ICI) di seluruh rak hardware independen. Dari perspektif workload, sub-blok gabungan beroperasi sebagai mesh toroidal tunggal. Dalam mesh toroidal, koneksi akan melingkar. Chip di tepi kanan terhubung langsung kembali ke chip di tepi kiri, dan bagian atas terhubung ke bagian bawah. Jika Anda memvisualisasikan pengaturan ini, pengaturan tersebut akan membentuk bentuk torus (bentuk cincin).

  • Sub-slicing dinamis: mempartisi satu node pool TPU yang telah disediakan sebelumnya menjadi beberapa unit yang lebih kecil dan independen di tingkat workload. Sub-slicing dinamis memungkinkan Anda membuat topologi yang lebih kecil dalam satu sub-blok, khususnya 2x2x1, 2x2x2, 2x2x4, dan 2x4x4. Misalnya, Anda dapat mempartisi sub-blok 4x4x4 menjadi satu sub-slice 2x2x4 dan dua sub-slice 2x2x2. Konfigurasi ini memerlukan versi 1.36.0-gke.3712000 atau yang lebih baru di saluran Rapid.

    Dengan sub-slicing dinamis, Anda menjalankan beberapa workload di satu node pool fisik. Misalnya, Anda dapat menjalankan fine-tuning, eksperimen, dan inferensi online secara serentak. Sub-slicing memberikan isolasi listrik dan jaringan antara sub-slice ini, yang membantu mengisolasi kegagalan atau dampak performa antar-workload.

Karakteristik utama konfigurasi slicing dinamis

Konfigurasi slicing dinamis memiliki karakteristik berikut:

  • Penyediaan inkremental node pool: slicing dinamis menggunakan penyediaan inkremental, yang merupakan model penyediaan node pool yang fault-tolerant. Model ini mengonversi semua kapasitas TPU Anda menjadi node pool yang terdiri dari grup 16 node VM Ironwood (TPU7x), sehingga Anda dapat terus menyediakan dan memanfaatkan kubus yang bahkan sebagian tidak responsif.
  • Slice controller: pengontrol Resource Kustom Kubernetes yang berjalan dalam bidang kontrol GKE yang mengelola slicing dinamis. Pengontrol slice mengelola siklus proses resource kustom Slice, yang mewakili slice dinamis (menangani pembuatan, pemantauan berkelanjutan, dan penghapusan). Fitur ini juga menyebarkan data kondisi infrastruktur (host, ICI, OCS) ke label node untuk membantu mengidentifikasi node kandidat yang responsif.
  • Resource kustom slice: mewakili slice logis dan memulai konfigurasi dinamis link antar-node (ICI dan OCS) untuk membentuk topologi TPU yang diminta. Proses ini menggabungkan beberapa sub-blok (super-slicing) atau mengisolasi topologi yang lebih kecil dalam satu sub-blok (sub-slicing). Anda dapat memeriksa progres atau kondisi pembentukan slice dinamis dengan memeriksa kolom status resource kustom Slice.

Persyaratan

Untuk menggunakan slicing dinamis di GKE, Anda harus memenuhi persyaratan berikut:

  • Gunakan cluster Standard di saluran Rapid di salah satu versi berikut:
    • Untuk konfigurasi super-slicing dinamis (topologi yang sama dengan atau lebih besar dari 4x4x4), gunakan versi 1.35.2-gke.1842000 atau yang lebih baru.
    • Untuk konfigurasi sub-slicing dinamis (topologi yang lebih kecil dari 4x4x4), gunakan versi 1.36.0-gke.3712000 atau yang lebih baru.
  • Gunakan versi Ironwood (TPU7x).
  • Gunakan image Container-Optimized OS untuk node Anda.
  • Untuk menggunakan penyediaan inkremental, gunakan pemesanan mode Semua Kapasitas. Mode All Capacity adalah fitur yang diaktifkan oleh TPU Cluster Director.
  • Untuk sub-slicing dinamis, pastikan node Anda memiliki peristiwa pemeliharaan yang tertunda. Pantau instance Anda untuk mengetahui peristiwa pemeliharaan yang tertunda. Jika ada node Anda yang memiliki peristiwa pemeliharaan tertunda dengan waktu berakhir antara 18 September 2026 dan 30 September 2026, Anda harus memicu peristiwa pemeliharaan host secara manual pada node tersebut sebelum dapat menggunakan sub-slicing.

Menggunakan penjadwal untuk slicing dinamis

Untuk menggunakan slicing dinamis, Anda dapat menggunakan salah satu opsi berikut:

Langkah berikutnya