Dokumen ini menjelaskan dynamic slicing di Google Kubernetes Engine (GKE) untuk Cloud TPU. Dynamic slicing meningkatkan efisiensi dan fleksibilitas TPU dengan memisahkan penyediaan TPU dari kebutuhan slice TPU workload. Dynamic slicing membantu meningkatkan pemanfaatan resource TPU dengan mengurangi waktu startup workload hingga lima kali, dan waktu pemulihan hingga 4,5 kali.
Dynamic slicing ditujukan untuk engineer Machine Learning (ML) dan engineer Platform yang ingin mengoptimalkan pemanfaatan TPU, mengurangi waktu penyediaan, dan meningkatkan toleransi fault untuk workload pelatihan dan inferensi berskala besar.
Sebelum membaca dokumen ini, Anda harus memahami hal berikut:
- TPU di GKE.
- Ringkasan mode Semua Kapasitas TPU. Fitur dynamic slicing hanya tersedia di TPU yang menggunakan mode Semua Kapasitas.
Apa yang dimaksud dengan dynamic slicing?
Dynamic slicing 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 di pool statis yang gagal, seluruh node pool akan terpengaruh. Topologi workload Anda juga harus cocok dengan topologi TPU node pool agar dijadwalkan, yang dapat memerlukan penyediaan ulang infrastruktur TPU yang sering untuk workload yang berbeda.
Dynamic slicing memungkinkan GKE mengonfigurasi slice TPU saat runtime saat workload dijadwalkan. Daripada membuat node pool secara manual dengan topologi TPU yang tepat yang diperlukan untuk setiap workload baru, Anda dapat menyediakan seluruh kapasitas TPU ke dalam node pool berukuran tetap dan terperinci. Untuk Ironwood (TPU7x),
setiap node pool terdiri dari topologi 4x4x4, yang juga dikenal sebagai
sub-block. Sub-block mewakili grup 16 node VM TPU tanpa mesh topologi Inter-Chip Interconnect (ICI) aktif. Saat runtime, saat workload dijadwalkan, dynamic slicing GKE mengonfigurasi ulang interkoneksi jaringan TPU untuk menggabungkan beberapa node pool ke dalam 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 dynamic slicing
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 membentuk ulang slice aktif dan mengonfigurasi ulang jaringan untuk mengganti partisi yang rusak dengan partisi cadangan yang berfungsi. Proses ini meningkatkan ketahanan atau waktu rata-rata untuk pemulihan (MTTR) hingga 4,5 kali dibandingkan dengan membuat ulang seluruh node pool.
- Startup Tugas yang dipercepat: slice workload dapat dibentuk secara dinamis, yang menawarkan peningkatan latensi startup Tugas hingga lima kali dibandingkan dengan membuat node pool statis.
- Isolasi kegagalan: kegagalan hardware diisolasi ke partisi tertentu tempat terjadinya fault. Isolasi ini membantu melindungi tugas serentak lainnya di cluster dari kegagalan berjenjang.
- Pemanfaatan resource yang dioptimalkan: dynamic slicing membantu menghilangkan kapasitas yang terdampar atau kurang dimanfaatkan. Karena slice dikonfigurasi agar sesuai dengan permintaan workload, dynamic slicing membantu memaksimalkan pemanfaatan fleet dan meminimalkan hardware yang tidak digunakan.
- Orkestrasi deklaratif: dynamic slicing menggunakan resource dan anotasi kustom native Kubernetes, seperti
JobSetdan Kueue. Pendekatan ini secara otomatis mengelola orkestrasi hardware dan jaringan tingkat rendah.
Konfigurasi dynamic slicing
Dynamic slicing menawarkan konfigurasi berikut:
Super-slicing dinamis: menggabungkan beberapa node pool TPU yang disediakan sebelumnya dan terpisah secara fisik untuk membentuk satu slice virtual pada waktu penjadwalan workload. Misalnya, Anda dapat menggabungkan dua node pool
4x4x4untuk membentuk topologi4x4x8. Kemampuan ini memungkinkan Anda membuat slice yang sama dengan atau lebih besar dari topologi4x4x4. 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 rack hardware independen. Dari perspektif workload, sub-block gabungan beroperasi sebagai satu mesh toroidal. Dalam mesh toroidal, koneksi akan digabungkan. 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 ini akan membentuk torus (bentuk cincin).
Sub-slicing dinamis: mempartisi satu node pool TPU yang 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-block, khususnya
2x2x1,2x2x2,2x2x4, dan2x4x4. Misalnya, Anda dapat mempartisi sub-block4x4x4menjadi satu sub-slice2x2x4dan dua sub-slice2x2x2. Konfigurasi ini memerlukan versi 1.36.0-gke.3712000 atau yang lebih baru di saluran Cepat.Dengan sub-slicing dinamis, Anda dapat menjalankan beberapa workload di satu node pool fisik. Misalnya, Anda dapat menjalankan penyetelan halus, eksperimen, dan inferensi online secara serentak. Sub-slicing menyediakan isolasi listrik dan jaringan antara sub-slice ini, yang membantu mengisolasi kegagalan atau dampak performa antar-workload.
Karakteristik utama konfigurasi dynamic slicing
Konfigurasi dynamic slicing memiliki karakteristik berikut:
- Penyediaan node pool yang toleran terhadap fault secara inkremental: dynamic slicing menggunakan penyediaan inkremental, yang merupakan model penyediaan node pool yang toleran terhadap fault. Model ini mengonversi semua kapasitas TPU Anda menjadi node pool yang terdiri dari grup 16 node VM Ironwood (TPU7x), yang memungkinkan Anda terus menyediakan dan menggunakan bahkan kubus yang sebagian tidak responsif.
- Pengontrol slice: pengontrol Resource Kustom Kubernetes yang berjalan dalam bidang kontrol GKE yang mengelola dynamic slicing. Pengontrol slice mengelola siklus proses Resource kustom Slice resource, yang mewakili slice dinamis (menangani pembuatan, pemantauan berkelanjutan, dan penghapusan). Pengontrol ini juga menyebarkan data kesehatan infrastruktur (host, ICI, OCS) ke label node untuk membantu mengidentifikasi node kandidat yang berfungsi.
- 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-block (super-slicing) atau mengisolasi topologi yang lebih kecil dalam satu sub-block (sub-slicing). Anda dapat memeriksa progres atau kesehatan pembentukan slice dinamis dengan memeriksa kolom status resource kustom Slice.
Persyaratan
Untuk menggunakan dynamic slicing di GKE, Anda harus memenuhi persyaratan berikut:
- Gunakan cluster Standar di saluran Cepat dalam 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.
- Untuk konfigurasi super-slicing dinamis (topologi yang sama dengan atau lebih besar dari
- Gunakan versi Ironwood (TPU7x).
- Gunakan image Container-Optimized OS untuk node Anda.
- Untuk menggunakan penyediaan inkremental, gunakan reservasi mode Semua Kapasitas. Mode Semua Kapasitas adalah fitur yang diaktifkan oleh Cluster Director TPU.
- Untuk sub-slicing dinamis, pastikan node Anda memiliki peristiwa pemeliharaan yang tertunda. Pantau instance Anda untuk peristiwa pemeliharaan yang tertunda. Jika salah satu node Anda memiliki peristiwa pemeliharaan yang tertunda dengan waktu berakhir antara 18 September 2026 dan 30 September 2026, Anda harus memicu peristiwa pemeliharaan host secara manual di node tersebut sebelum dapat menggunakan sub-slicing.
Menggunakan penjadwal untuk dynamic slicing
Untuk menggunakan dynamic slicing, Anda dapat menggunakan salah satu opsi berikut:
- Gunakan penjadwal Anda sendiri untuk mengelola resource kustom Slice. Opsi ini berguna jika Anda memiliki persyaratan penjadwalan yang kompleks atau jika Anda ingin mengintegrasikan dynamic slicing dengan infrastruktur penjadwalan yang ada. Untuk memulai, lihat Menggunakan dynamic slicing dengan penjadwal kustom .
- Gunakan penjadwal untuk membuat resource kustom Slice secara otomatis. Anda dapat mengonfigurasi Kueue dan Topology Aware Scheduling (TAS) untuk membuat resource kustom Slice secara otomatis. Untuk memulai, lihat Menjadwalkan slice dinamis dengan Kueue dan TAS.
Langkah berikutnya
- Meminta kapasitas TPU dalam mode Semua Kapasitas.
- Menjadwalkan slice dinamis dengan Kueue dan TAS.
- Menggunakan dynamic slicing dengan penjadwal kustom.