Dokumen ini menjelaskan cara men-deploy dan mengelola workload menggunakan fitur mode Semua Kapasitas TPU di GKE. Semua reservasi mode Kapasitas memberikan kontrol yang ditingkatkan atas resource TPU Anda, yang memungkinkan Anda menempatkan workload dengan kontrol terperinci dalam kapasitas yang dipesan.
Dokumen ini ditujukan untuk engineer Machine Learning (ML) serta Admin dan operator platform yang ingin menggunakan orkestrasi container Kubernetes dengan kontrol terperinci atas deployment TPU.
Sebelum membaca dokumen ini, pastikan Anda memahami hal-hal berikut:
Apa itu mode Semua Kapasitas TPU?
Mode Semua Kapasitas TPU, yang diaktifkan oleh TPU Cluster Director, memberi Anda kontrol penuh atas kapasitas TPU yang dicadangkan. TPU Cluster Director adalah layanan pengelolaan yang memberi Anda kontrol berbasis reservasi atas TPU Anda.
Tidak seperti mode terkelola sebelumnya, yang mencadangkan sebagian kapasitas Anda untuk menangani kegagalan hardware, mode Semua Kapasitas memberi Anda akses ke seluruh resource TPU yang dipesan. Google Cloud Mode ini dilengkapi dengan visibilitas penuh ke status hardware, tetapi juga mengalihkan tanggung jawab pengelolaan kegagalan node dan pemeliharaan terencana kepada Anda.
Untuk mengetahui informasi selengkapnya tentang fitur utama Mode Semua Kapasitas, lihat Mode Semua Kapasitas dalam ringkasan TPU Cluster Director.
Terminologi yang terkait dengan mode Semua Kapasitas di GKE
Tabel berikut mencakup istilah dan kesetaraan yang ditentukan oleh ukuran
blok, sub-blok, dan kubus dalam versi Ironwood (TPU7x). Kubus adalah topologi 4x4x4 dari chip TPU yang saling terhubung, yang hanya berlaku untuk topologi dalam 3 tuple ({A}x{B}x{C}).
| Resource TPU | Cores | Chip | Host | Kubus |
|---|---|---|---|---|
| 1 chip | 2 | 1 | - | - |
| 1 host | 8 | 4 | 1 | - |
| 1 sub-blok | 128 | 64 | 16 | 1 |
| Satu blok berisi 144 sub-blok | 18432 | 9216 | 2304 | 144 |
Untuk mengetahui informasi selengkapnya tentang topologi yang diizinkan dalam blok, lihat Memilih topologi.
Sebelum memulai
Sebelum memulai, pastikan Anda telah melakukan tugas berikut:
- Aktifkan Google Kubernetes Engine API. Aktifkan Google Kubernetes Engine API
- Jika ingin menggunakan Google Cloud CLI untuk tugas ini,
instal lalu
lakukan inisialisasi
gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan perintah
gcloud components update. gcloud CLI versi sebelumnya mungkin tidak mendukung menjalankan perintah dalam dokumen ini.
- Pastikan Anda memiliki cluster Standard yang ada di versi 1.34.0-gke.2201000 atau yang lebih baru. Untuk membuat cluster baru, lihat Membuat cluster regional.
- Pastikan Anda memiliki kuota yang cukup untuk TPU di region yang ingin Anda gunakan.
- Instal JobSet v0.2.3 atau yang lebih baru.
Batasan
Mode Semua Kapasitas TPU di GKE hanya mendukung versi Ironwood (TPU7x).
Menggunakan mode Semua Kapasitas TPU di GKE
Bagian ini menjelaskan alur kerja untuk menggunakan mode Semua Kapasitas TPU di GKE.
- Pahami TPU Cluster Director.
- Minta kapasitas TPU dalam mode Semua Kapasitas.
- Melihat topologi dan status respons pemesanan mode Semua Kapasitas.
- Selesaikan langkah-langkah dalam dokumen ini:
- Mengelola peristiwa pemeliharaan dengan TPU dalam mode Semua Kapasitas.
- Laporkan dan perbaiki host yang rusak dengan TPU dalam mode Semua Kapasitas.
Membuat node pool dalam reservasi mode Semua Kapasitas
Semua mode Kapasitas di GKE memungkinkan Anda membuat node pool dengan cara berikut:
- Node pool tempat GKE memilih blok atau sub-blok dalam reservasi TPU All Capacity Anda.
- Node pool yang menargetkan blok atau sub-blok tertentu dalam pemesanan mode Semua Kapasitas TPU.
GKE memilih blok atau sub-blok dalam reservasi Semua Kapasitas TPU Anda
Dalam mode ini, GKE memilih penempatan node pool dalam reservasi TPU All Capacity Anda. Proses ini mirip dengan membuat node pool dengan opsi penyediaan TPU lainnya, seperti VM on-demand atau Spot VM.
Untuk membuat node pool, gunakan
perintah gcloud container node-pools create dengan flag --reservation.
Tentukan nama resource lengkap pemesanan TPU Anda sebagai nilai untuk tanda
--reservation.
Untuk contoh perintah pembuatan node pool, lihat Membuat node pool secara manual.
Menargetkan blok atau sub-blok dalam reservasi
Mode Semua Kapasitas TPU memungkinkan Anda menargetkan blok atau sub-blok tertentu dalam pemesanan TPU untuk workload paralel. Kemampuan ini berguna untuk workload yang memerlukan kedekatan antara chip TPU untuk meminimalkan latensi.
Lihat konfigurasi blok, sub-blok, dan host yang tersedia. Selesaikan langkah-langkah dalam dokumen Melihat topologi dan status kesehatan reservasi mode Semua Kapasitas.
Buat kebijakan beban kerja:
gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=HIGH_THROUGHPUT \ --accelerator-topology=TPU_TOPOLOGY \ --project=PROJECT_ID \ --region=REGIONGanti kode berikut:
WORKLOAD_POLICY_NAME: nama untuk kebijakan workload Anda.TPU_TOPOLOGY: topologi TPU Ironwood (TPU7x). Contoh,2x2x2. Untuk melihat semua topologi Ironwood (TPU7x) yang didukung, lihat Merencanakan TPU di GKE.PROJECT_ID: Google Cloud Project ID Anda.REGION: region untuk kebijakan workload. Kebijakan workload adalah resource regional dan dapat digunakan kembali di seluruh node pool yang memiliki topologi yang sama.
Untuk membuat node pool dan menargetkan blok atau sub-blok tertentu dari reservasi, gunakan flag
--reservationuntuk menentukan nama resource lengkap dari blok atau sub-blok target dalam reservasi Anda.Untuk menargetkan blok tertentu dalam reservasi Anda, gunakan perintah berikut:
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --machine-type=tpu7x-standard-4t \ --placement-policy=WORKLOAD_POLICY_NAME \ --zone=ZONE \ --reservation=project/PROJECT/reservation/RESERVATION_NAME/reservationBlocks/BLOCK_NAMEUntuk menargetkan sub-blok tertentu dalam blok, gunakan perintah berikut:
gcloud container node-pools create NODE_POOL_NAME \ --cluster=CLUSTER_NAME \ --machine-type=tpu7x-standard-4t \ --placement-policy=WORKLOAD_POLICY_NAME \ --zone=ZONE \ --reservation=project/PROJECT/reservation/RESERVATION_NAME/reservationBlocks/BLOCK_NAME/reservationSubBlocks/SUB_BLOCK_NAMEGanti kode berikut:
NODE_POOL_NAME: nama node pool baru.CLUSTER_NAME: nama cluster GKE Anda.WORKLOAD_POLICY_NAME: nama kebijakan workload yang Anda buat.ZONE: zona untuk node pool, misalnya,us-central1-a.PROJECT: Google Cloud Project ID Anda.RESERVATION_NAME: nama reservasi TPU Anda.BLOCK_NAME: blok tertentu dalam reservasi Anda.SUB_BLOCK_NAME: sub-blok tertentu dalam reservasi Anda.
Dalam perintah sebelumnya, Anda
Menjadwalkan workload
Setelah membuat node pool dengan VM TPU dalam mode Semua Kapasitas, Anda dapat men-deploy beban kerja seperti node pool TPU lainnya. Untuk mode Semua Kapasitas TPU, tidak ada perbedaan tambahan dalam penjadwalan workload dibandingkan dengan node pool yang menggunakan pemesanan standar yang didukung SLO.
Untuk mengetahui informasi dan contoh workload yang menggunakan TPU, lihat Menjalankan workload Anda di node slice TPU dan Menjalankan workload Multi-slice.
Mengelola kegagalan node
Pemesanan mode Semua Kapasitas TPU adalah pemesanan tanpa penundaan. Tanpa penahanan berarti Anda menerima kapasitas TPU penuh, yang mencakup bagian yang Google Cloud biasanya dipertahankan untuk failover dalam mode kapasitas terkelola.
Dalam mode Semua Kapasitas TPU, jika VM gagal karena masalah seperti kegagalan hardware, Google Cloud akan mencoba memulihkan VM di host yang sama (perbaikan di tempat). Oleh karena itu, sebaiknya Anda mempertahankan kapasitas cadangan untuk mengakomodasi penjadwalan ulang beban kerja selama terjadi kegagalan infrastruktur.
Kegagalan dan pemulihan node
Jika node gagal dalam pemesanan mode Semua Kapasitas TPU, peristiwa berikut akan terjadi:
- Google Cloud
memulai peristiwa perbaikan untuk instance VM Compute Engine yang gagal. Proses ini mencoba memulihkan VM ke status
RUNNINGdan mengembalikan status node GKE keREADY. - VM TPU akan memasuki status perbaikan dan setiap
beban kerja yang berjalan di node tersebut mungkin gagal, bergantung pada kebijakan failover-nya. Status
kumpulan node tidak berubah menjadi
ERRORmeskipun satu atau beberapa VM-nya mengalami kegagalan.
Untuk memantau status kondisi node Anda, ikuti langkah-langkah berikut:
Mencantumkan node di node pool:
kubectl get nodesNode yang gagal memiliki status
NotReady.Pantau status node Compute Engine:
Untuk VM TPU dalam mode Semua Kapasitas, gunakan
gcloud compute instances describe. Perintah ini juga memberikan status fisik topologi untuk menemukan detail host, sub-blok, dan blok.gcloud compute instances describe VM_NAME \ --format="table[box,title=VM-Position](resourceStatus.physical_host_topology:label=location)" \ --zone=ZONEGanti kode berikut:
VM_NAME: nama instance VM TPU.ZONE: zona VM, misalnya,us-central1-a.
Untuk mengetahui langkah-langkah selengkapnya tentang cara mengambil informasi topologi dan kesehatan tentang kapasitas mode Semua Kapasitas, lihat Melihat topologi dan status kesehatan reservasi Mode Semua Kapasitas.
Mengelola pemeliharaan
Untuk menangani potensi gangguan dan membantu memastikan workload Anda tetap tangguh, Anda dapat mengelola pemeliharaan untuk setiap node menggunakan kebijakan pemeliharaan GKE. Untuk mengetahui informasi selengkapnya, lihat Masa pemeliharaan dan pengecualian pemeliharaan.
GKE tidak mendukung pemeliharaan grup untuk VM TPU dalam reservasi mode Semua Kapasitas. Untuk melakukan pemeliharaan grup di tingkat sub-blok, blok, atau pemesanan, gunakan Compute Engine API. Untuk mengetahui informasi selengkapnya, lihat Mengelola peristiwa pemeliharaan dengan TPU dalam mode Semua Kapasitas.
Pembersihan
Agar tidak menimbulkan biaya yang tidak diinginkan pada akun Anda, hapus TPU node pool yang tidak lagi memiliki workload terjadwal. Google Cloud Jika beban kerja yang berjalan harus dihentikan secara terkontrol, gunakan perintah kubectl drain untuk membersihkan beban kerja sebelum Anda menghapus node pool.
Hapus TPU node pool:
gcloud container node-pools delete NODE_POOL_NAME \ --location=LOCATION \ --cluster=CLUSTER_NAMEGanti kode berikut:
NODE_POOL_NAME: nama node pool.CLUSTER_NAME: nama cluster.LOCATION: lokasi komputasi cluster.
Langkah berikutnya
- Pelajari lebih lanjut TPU di GKE.
- Pelajari cara Men-deploy workload TPU di GKE Standard.
- Pelajari TPU Cluster Director lebih lanjut.