Halaman ini menjelaskan GPU di Google Kubernetes Engine (GKE) untuk membantu Anda memilih konfigurasi GPU yang optimal untuk workload Anda. Anda dapat menggunakan GPU untuk mempercepat tugas yang membutuhkan banyak resource, seperti machine learning dan pemrosesan data. Informasi di halaman ini dapat membantu Anda melakukan hal berikut:
- Pastikan ketersediaan GPU saat diperlukan.
- Tentukan apakah akan menggunakan GPU dalam mode GKE Autopilot atau cluster mode GKE Standard.
- Pilih fitur terkait GPU untuk menggunakan kapasitas GPU secara efisien.
- Memantau metrik node GPU.
- Meningkatkan keandalan beban kerja GPU dengan menangani gangguan secara lebih efektif.
Halaman ini ditujukan untuk Admin dan operator platform dan Engineer machine learning (ML) yang ingin memastikan bahwa infrastruktur akselerator dioptimalkan untuk workload Anda.
Sebelum membaca halaman ini, pastikan Anda memahami hal-hal berikut:
Pemilihan GPU di GKE
Di GKE, cara Anda meminta hardware GPU bergantung pada apakah Anda menggunakan mode Autopilot atau Standard. Di Autopilot, Anda meminta hardware GPU dengan menentukan resource GPU dalam workload Anda. Dalam mode GKE Standard, Anda dapat memasang hardware GPU ke node dalam cluster, lalu mengalokasikan resource GPU ke workload dalam container yang berjalan di node tersebut. Untuk mendapatkan petunjuk mendetail tentang cara memasang dan menggunakan GPU dalam workload Anda, lihat Men-deploy workload GPU pada Autopilot atau Menjalankan GPU pada node pool Standard.
Hardware GPU yang tersedia untuk digunakan di GKE adalah subset GPU Compute Engine untuk workload komputasi. Hardware spesifik yang tersedia bergantung pada region Compute Engine atau zona cluster Anda. Untuk ketersediaan khusus, lihat region dan zona GPU.
GKE menawarkan beberapa fitur khusus GPU untuk meningkatkan pemanfaatan resource GPU yang efisien dari workload yang berjalan di node Anda, termasuk berbagi waktu, GPU multi-instance, dan GPU multi-instance dengan NVIDIA MPS.
Halaman ini membantu Anda mempertimbangkan pilihan untuk meminta GPU di GKE, termasuk hal berikut:
- Memilih kuota GPU, jumlah maksimum GPU yang dapat berjalan di project Anda
- Memutuskan antara mode Autopilot dan Standard
- Mengelola stack GPU melalui GKE atau NVIDIA GPU Operator di GKE
- Memilih fitur untuk mengurangi jumlah resource GPU yang kurang dimanfaatkan
- Mengakses library NVIDIA CUDA-X untuk aplikasi CUDA
- Memantau metrik node GPU
- Menangani gangguan karena pemeliharaan node
Merencanakan kuota GPU
Kuota GPU Anda adalah jumlah GPU maksimum yang dapat berjalan di project Google Cloud. Untuk menggunakan GPU di cluster GKE, project Anda harus memiliki kuota GPU yang cukup.
Kuota GPU Anda setidaknya harus sama dengan jumlah total GPU yang ingin Anda jalankan di cluster. Jika mengaktifkan penskalaan cluster, Anda harus meminta agar kuota GPU setidaknya setara dengan jumlah maksimum node cluster Anda dikalikan dengan jumlah GPU per node.
Misalnya, jika Anda ingin menggunakan tiga node dengan masing-masing dua GPU, maka enam adalah kuota GPU yang diperlukan untuk project Anda.
Untuk meminta kuota GPU tambahan, ikuti petunjuk di
Meminta batas kuota yang lebih tinggi, dengan menggunakan
gpus
sebagai metrik.
Memilih dukungan GPU menggunakan Autopilot atau Standard
GPU tersedia di cluster Autopilot dan Standard.
Gunakan cluster Autopilot untuk pengalaman Kubernetes yang dikelola sepenuhnya. Dalam mode Autopilot, GKE mengelola penginstalan driver, penskalaan node, isolasi Pod, dan penyediaan node.
Tabel berikut memberikan ringkasan perbedaan antara dukungan Autopilot dan GPU Standard:
Deskripsi | Autopilot | Standard |
---|---|---|
Meminta hardware GPU | Tentukan resource GPU dalam workload Anda. | Pasang hardware GPU ke node dalam cluster, lalu alokasikan resource GPU ke workload dalam container yang berjalan pada node tersebut. |
Ketersediaan hardware GPU |
|
Semua jenis GPU yang didukung oleh Compute Engine |
Memilih GPU | Anda meminta jumlah dan jenis GPU dalam spesifikasi workload. Secara default, Autopilot menginstal driver default untuk versi GKE tersebut dan mengelola node Anda. Untuk memilih versi driver tertentu di Autopilot, lihat Pemilihan driver NVIDIA untuk Pod GPU Autopilot. |
Anda melakukan langkah-langkah yang dijelaskan di Menjalankan GPU pada node pool Standard:
|
Meningkatkan penggunaan GPU | ||
Keamanan | GPU dengan GKE Sandbox | GPU dengan GKE Sandbox |
Harga | Harga Pod GPU Autopilot | Harga GPU Compute Engine |
Untuk memilih mode operasi GKE yang paling sesuai untuk workload Anda, lihat Memilih mode operasi GKE.
Mengelola stack GPU melalui GKE atau Operator GPU NVIDIA di GKE
Secara default, GKE mengelola seluruh siklus proses node GPU, termasuk penginstalan driver GPU otomatis, memantau beban kerja GPU di GKE dengan NVIDIA Data Center GPU Manager (DCGM), dan strategi berbagi GPU.
Gunakan GKE untuk mengelola node GPU, karena GKE sepenuhnya mengelola siklus proses node GPU.
Mulai menggunakan GKE untuk pengelolaan node GPU dengan memilih salah satu opsi berikut:
Operator GPU NVIDIA dapat digunakan sebagai alternatif untuk dukungan GPU yang dikelola sepenuhnya di GKE pada image node Container-Optimized OS (COS) dan Ubuntu. Pilih opsi ini jika Anda mencari pengalaman yang konsisten di beberapa penyedia layanan cloud, Anda sudah menggunakan Operator GPU NVIDIA, atau jika Anda menggunakan software yang bergantung pada operator GPU NVIDIA. Untuk mempelajari lebih lanjut, lihat Mengelola stack GPU dengan NVIDIA GPU Operator.
Untuk memilih opsi terbaik bagi kasus penggunaan Anda, lihat tabel berikut yang membandingkan dua metode pengelolaan node GPU di GKE.
Deskripsi | Menggunakan GKE untuk mengelola node GPU | Menggunakan Operator GPU NVIDIA di GKE |
---|---|---|
Pengelolaan siklus proses node GPU (penginstalan, upgrade) | Dikelola sepenuhnya oleh GKE. | Dikelola oleh pengguna. |
Penginstalan driver | Penginstalan driver GPU otomatis dan manual. | Penginstalan driver GPU secara manual. |
Pemilih node | cloud.google.com/gke-gpu=true |
nvidia.com/gpu=true |
Strategi berbagi GPU |
|
|
Pemeriksaan kondisi node GPU |
|
|
Metrik dan kemampuan observasi |
|
|
Mengoptimalkan penggunaan resource menggunakan fitur GPU di GKE
Secara default, Kubernetes hanya mendukung penetapan GPU secara keseluruhan ke container, tetapi GKE menyediakan fitur tambahan yang dapat Anda gunakan untuk mengoptimalkan penggunaan resource workload GPU.
Fitur berikut tersedia di GKE untuk mengurangi jumlah resource GPU yang kurang dimanfaatkan:
Fitur GPU | |
---|---|
GPU multi-instance |
Tersedia di: Autopilot dan Standard Pisahkan satu GPU menjadi hingga tujuh instance yang dipisahkan hardware yang dapat ditetapkan sebagai GPU individual ke container pada sebuah node. Setiap container yang ditetapkan akan mendapatkan resource yang tersedia untuk instance tersebut. |
GPU berbagi waktu |
Tersedia di: Autopilot dan Standard Menampilkan satu GPU dalam bentuk beberapa unit ke beberapa container pada sebuah node. Driver GPU beralih konteks dan mengalokasikan seluruh resource GPU ke setiap container yang ditetapkan sesuai kebutuhan dari waktu ke waktu. |
NVIDIA MPS |
Tersedia di: Standard Membagikan satu GPU NVIDIA fisik di beberapa container. NVIDIA MPS adalah implementasi CUDA API alternatif yang kompatibel dengan biner yang dirancang untuk memungkinkan aplikasi CUDA multiproses kooperatif berjalan secara serentak di satu perangkat GPU secara transparan. |
Mengakses library NVIDIA CUDA-X untuk aplikasi CUDA
CUDA
adalah model pemrograman dan platform komputasi paralel NVIDIA untuk GPU. Untuk
menggunakan aplikasi CUDA, gambar yang Anda gunakan harus memiliki library. Untuk menambahkan library NVIDIA CUDA-X, Anda dapat mem-build dan menggunakan image Anda sendiri dengan menyertakan nilai berikut dalam variabel lingkungan LD_LIBRARY_PATH
di spesifikasi penampung:
/usr/local/cuda-CUDA_VERSION/lib64
: lokasi library NVIDIA CUDA-X pada node.Ganti
CUDA_VERSION
dengan versi image CUDA-X yang Anda gunakan. Beberapa versi juga berisi utilitas debug di/usr/local/nvidia/bin
. Untuk mengetahui detailnya, lihat image CUDA NVIDIA di DockerHub.Untuk memeriksa versi driver GPU minimum yang diperlukan untuk versi CUDA, lihat Toolkit CUDA dan Versi Driver yang Kompatibel.
/usr/local/nvidia/lib64
: lokasi driver perangkat NVIDIA.
Dalam cluster Autopilot, GKE mengelola pemilihan dan penginstalan versi driver.
Memantau performa beban kerja node GPU
Jika cluster GKE Anda telah mengaktifkan metrik sistem, metrik berikut akan tersedia di Cloud Monitoring untuk memantau performa workload GPU Anda:
- Siklus Tugas (
container/accelerator/duty_cycle
): Persentase waktu selama periode sampel terakhir (10 detik) di mana akselerator secara aktif berproses. Antara 1 dan 100. - Penggunaan Memori (
container/accelerator/memory_used
): Jumlah memori akselerator yang dialokasikan dalam byte. - Kapasitas Memori (
container/accelerator/memory_total
): Total memori akselerator dalam byte.
Anda dapat menggunakan dasbor standar untuk memantau cluster dengan node GPU. Untuk informasi selengkapnya, lihat Melihat metrik kemampuan observasi. Untuk informasi umum tentang pemantauan cluster dan resource-nya, lihat Observabilitas untuk GKE.
Melihat metrik penggunaan untuk workload
Anda dapat melihat metrik penggunaan GPU workload dari dasbor Beban kerja di Konsol Google Cloud.
Untuk melihat penggunaan GPU workload Anda, lakukan langkah-langkah berikut:
Buka halaman Workload di Konsol Google Cloud.
Buka Workload- Pilih beban kerja
Dasbor Workload menampilkan diagram untuk penggunaan dan kapasitas memori GPU, serta siklus tugas GPU.
Melihat metrik NVIDIA Data Center GPU Manager (DCGM)
Anda dapat mengumpulkan dan memvisualisasikan metrik NVIDIA DCGM menggunakan Google Cloud Managed Service for Prometheus. Untuk cluster Autopilot, GKE menginstal driver. Untuk cluster Standard, Anda harus menginstal driver NVIDIA.
Untuk petunjuk cara men-deploy paket DCGM yang dikelola GKE, lihat Mengumpulkan dan melihat metrik NVIDIA Data Center GPU Manager (DCGM).
Menangani gangguan karena pemeliharaan node
Node GKE yang menghosting GPU tunduk pada peristiwa pemeliharaan atau gangguan lainnya yang dapat menyebabkan penonaktifan node. Di cluster GKE dengan control plane yang menjalankan versi 1.29.1-gke.1425000 dan yang lebih baru, Anda dapat mengurangi gangguan pada workload dengan mengonfigurasi GKE untuk menghentikan workload dengan baik.
Untuk memahami, mengonfigurasi, dan memantau peristiwa gangguan yang mungkin terjadi pada node GKE yang menjalankan beban kerja AI/ML, lihat Mengelola gangguan node GKE untuk GPU dan TPU.