Dokumen ini menjelaskan cara men-deploy dan mengelola workload menggunakan fitur mode Semua Kapasitas TPU di GKE. Pemesanan mode Semua Kapasitas memberikan kontrol yang lebih baik atas resource TPU Anda, yang memungkinkan Anda menempatkan workload dengan kontrol mendetail dalam kapasitas yang Anda pesan.
Dokumen ini ditujukan untuk Engineer machine learning (ML) dan Admin serta operator platform yang ingin menggunakan orkestrasi container Kubernetes dengan kontrol mendetail atas deployment TPU.
Sebelum membaca dokumen ini, pastikan Anda memahami hal berikut:
Apa yang dimaksud dengan mode Semua Kapasitas TPU?
Mode Semua Kapasitas TPU, yang diaktifkan oleh TPU Cluster Director, memberi Anda kontrol penuh atas kapasitas TPU yang Anda pesan. TPU Cluster Director adalah layanan pengelolaan yang memberi Anda kontrol berbasis pemesanan atas TPU Anda.
Tidak seperti mode terkelola sebelumnya, yang Google Cloud mencadangkan sebagian kapasitas Anda untuk menangani kegagalan hardware, mode Semua Kapasitas memberi Anda akses ke seluruh resource TPU yang Anda pesan. 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 | Core | 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. Versi gcloud CLI yang lebih lama mungkin tidak mendukung perintah yang ada dalam dokumen ini.
- Pastikan Anda memiliki cluster Standar yang ada dalam 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.
- Pelajari TPU Cluster Director.
- Minta kapasitas TPU dalam mode Semua Kapasitas.
- Lihat topologi dan status kesehatan pemesanan mode Semua Kapasitas.
- Selesaikan langkah-langkah dalam dokumen ini:
- Mengelola peristiwa pemeliharaan dengan TPU dalam mode Semua Kapasitas.
- Melaporkan dan memperbaiki host yang rusak dengan TPU dalam mode Semua Kapasitas.
Membuat node pool dalam pemesanan mode Semua Kapasitas
Mode Semua Kapasitas di GKE memungkinkan Anda membuat node pool dengan cara berikut:
- Node pool tempat GKE memilih blok atau sub-blok dalam pemesanan Semua Kapasitas TPU Anda.
- Node pool dengan yang menargetkan blok atau sub-blok tertentu dalam pemesanan mode Semua Kapasitas TPU.
GKE memilih blok atau sub-blok dalam pemesanan Semua Kapasitas TPU Anda
Dalam mode ini, GKE memilih penempatan node pool dalam pemesanan Semua Kapasitas TPU Anda. Proses ini mirip dengan pembuatan node pool dengan opsi penyediaan TPU lainnya, seperti VM sesuai permintaan atau Spot.
Untuk membuat node pool, gunakan perintah gcloud container node-pools create dengan flag --reservation.
Tentukan nama resource lengkap pemesanan TPU Anda sebagai nilai untuk flag --reservation.
Untuk contoh perintah pembuatan node pool, lihat Membuat node pool secara manual.
Menargetkan blok atau sub-blok dalam pemesanan
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 pemesanan mode Semua Kapasitas.
Buat kebijakan workload:
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). Misalnya,2x2x2. Untuk melihat semua topologi Ironwood (TPU7x) yang didukung, lihat Merencanakan TPU di GKE.PROJECT_ID: Project ID Google Cloud 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 pemesanan, gunakan flag
--reservationuntuk menentukan nama resource lengkap blok atau sub-blok target dalam pemesanan Anda.Untuk menargetkan blok tertentu dalam pemesanan 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: Project ID Anda Google Cloud .RESERVATION_NAME: nama pemesanan TPU Anda.BLOCK_NAME: blok tertentu dalam pemesanan Anda.SUB_BLOCK_NAME: sub-blok tertentu dalam pemesanan Anda.
Dalam perintah sebelumnya, Anda
Menjadwalkan workload
Setelah membuat node pool dengan VM TPU dalam mode Semua Kapasitas, Anda dapat men-deploy workload seperti node pool TPU lainnya. Untuk mode Semua Kapasitas TPU, tidak ada perbedaan tambahan dalam menjadwalkan workload dibandingkan dengan node pool yang menggunakan pemesanan yang didukung SLO standar.
Untuk mengetahui informasi selengkapnya dan contoh workload yang menggunakan TPU, lihat Menjalankan workload Anda di node slice TPU dan Menjalankan workload Multislice.
Mengelola kegagalan node
Pemesanan mode Semua Kapasitas TPU adalah pemesanan tanpa penahanan. 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 pertahankan kapasitas cadangan untuk mengakomodasi penjadwalan ulang workload selama 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 menampilkan status node GKE keREADY. - VM TPU memasuki status perbaikan dan workload apa pun yang berjalan di node tersebut mungkin gagal, bergantung pada kebijakan failover-nya. Status node pool tidak berubah menjadi
ERRORmeskipun satu atau beberapa VM-nya mengalami kegagalan.
Untuk memantau status kesehatan node Anda, ikuti langkah-langkah berikut:
Cantumkan 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 pemesanan 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 pemesanan 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 Google Cloud akun Anda, hapus
TPU node pool yang tidak lagi memiliki workload terjadwal. Jika workload yang berjalan harus dihentikan secara terkontrol, gunakan perintah kubectl drain untuk membersihkan workload 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 TPU di GKE lebih lanjut.
- Pelajari cara Men-deploy workload TPU di GKE Standard.
- Pelajari TPU Cluster Director lebih lanjut.