全部产品
Search
文档中心

Container Service for Kubernetes:Ikhtisar Berbagi GPU

更新时间:Jul 06, 2025

Topik ini memperkenalkan solusi berbagi GPU dari Alibaba Cloud, menjelaskan manfaat Edisi Profesional Berbagi GPU, serta membandingkan fitur dan skenario penggunaan antara Edisi Dasar dan Edisi Profesional Berbagi GPU. Ini membantu Anda lebih memahami dan menggunakan solusi berbagi GPU.

Informasi Latar Belakang

Berbagi GPU memungkinkan Anda menjalankan beberapa kontainer pada perangkat GPU yang sama. Setelah Container Service for Kubernetes (ACK) membuat berbagi GPU menjadi open-source, Anda dapat mengimplementasikan kerangka kerja berbagi GPU pada kluster kontainer baik di Alibaba Cloud maupun pusat data lokal. Hal ini memungkinkan beberapa kontainer untuk berbagi perangkat GPU yang sama, sehingga mengurangi biaya penggunaan.

Namun, selain mencapai efisiensi biaya, penting juga untuk memastikan operasi stabil kontainer pada GPU. Dengan mengisolasi sumber daya GPU yang dialokasikan ke setiap kontainer, penggunaan sumber daya setiap kontainer pada GPU yang sama dapat dibatasi, mencegah gangguan timbal balik akibat penggunaan sumber daya berlebihan. Untuk menyelesaikan masalah ini, industri komputasi telah mengembangkan berbagai solusi seperti NVIDIA vGPU, Multi-Process Service (MPS), dan vCUDA, guna mencapai manajemen penggunaan GPU yang lebih halus.

Untuk memenuhi kebutuhan ini, ACK memperkenalkan solusi berbagi GPU. Solusi ini tidak hanya memungkinkan satu GPU dibagikan oleh beberapa tugas, tetapi juga mencapai isolasi memori dan pembagian daya komputasi GPU untuk aplikasi yang berbeda pada GPU yang sama.

Fitur dan Manfaat

Solusi berbagi GPU menggunakan driver kernel server yang dikembangkan oleh Alibaba Cloud untuk memberikan penggunaan yang lebih efisien terhadap driver dasar GPU NVIDIA. Berbagi GPU menyediakan fitur-fitur berikut:

  • Kompatibilitas tinggi: Berbagi GPU kompatibel dengan solusi open source standar, seperti Kubernetes dan NVIDIA Docker.

  • Kemudahan penggunaan: Berbagi GPU memberikan pengalaman pengguna yang sangat baik. Untuk mengganti pustaka Compute Unified Device Architecture (CUDA) dari aplikasi AI, Anda tidak perlu mengkompilasi ulang aplikasi atau membuat gambar kontainer baru.

  • Stabilitas: Berbagi GPU memberikan operasi dasar yang stabil pada GPU NVIDIA. Operasi API pada pustaka CUDA dan beberapa operasi API pribadi pada CUDA Deep Neural Network (cuDNN) sulit dipanggil.

  • Isolasi sumber daya: Berbagi GPU memastikan bahwa alokasi memori GPU dan daya komputasi tidak saling mempengaruhi.

Berbagi GPU memberikan solusi yang hemat biaya, andal, dan ramah pengguna yang memungkinkan Anda mengaktifkan penjadwalan GPU dan isolasi memori.

Manfaat

Deskripsi

Mendukung berbagi GPU, penjadwalan, dan isolasi memori.

  • Mendukung berbagi GPU, penjadwalan, dan isolasi memori berbasis satu-pod-satu-GPU. Ini umum digunakan dalam skenario inferensi model.

  • Mendukung berbagi GPU, penjadwalan, dan isolasi memori berbasis satu-pod-multi-GPU. Ini umum digunakan untuk membangun kode untuk melatih model terdistribusi.

Mendukung kebijakan berbagi GPU dan isolasi memori yang fleksibel.

  • Mendukung alokasi GPU dengan menggunakan algoritma binpack dan spread.

    • Binpack: Sistem secara preferensial membagikan satu GPU dengan beberapa pod. Ini berlaku untuk skenario di mana pemanfaatan GPU tinggi diperlukan.

    • Spread: Sistem mencoba mengalokasikan satu GPU ke setiap pod. Ini berlaku untuk skenario di mana ketersediaan tinggi GPU diperlukan. Sistem mencoba menghindari mengalokasikan GPU yang sama ke pod replika yang berbeda dari suatu aplikasi.

  • Mendukung berbagi GPU tanpa isolasi memori. Ini berlaku untuk skenario pembelajaran mendalam di mana aplikasi dikonfigurasikan dengan sistem isolasi yang ditentukan pengguna di lapisan aplikasi.

  • Mendukung berbagi GPU pada beberapa GPU dan isolasi memori.

Mendukung pemantauan komprehensif terhadap sumber daya GPU.

Mendukung pemantauan baik GPU eksklusif maupun GPU bersama.

Tidak dikenakan biaya

Anda harus mengaktifkan suite AI cloud-native sebelum menggunakan berbagi GPU. Mulai dari 00:00:00 (UTC+8) pada 6 Juni 2024, Cloud Native AI Suite sepenuhnya dibuka untuk penggunaan gratis.

Catatan Penggunaan

Berbagi GPU hanya mendukung kluster ACK Pro. Untuk informasi lebih lanjut tentang cara menginstal dan menggunakan berbagi GPU, lihat topik-topik berikut:

Anda juga dapat menggunakan fitur lanjutan berikut yang disediakan oleh berbagi GPU:

Istilah

Mode berbagi dan mode eksklusif

Mode berbagi memungkinkan beberapa pod berbagi satu GPU, seperti yang ditunjukkan pada gambar berikut. TU2.png

Mode eksklusif memungkinkan pod menempati satu atau lebih GPU secara eksklusif, seperti yang ditunjukkan pada gambar berikut. TU1.png

Isolasi memori GPU

Berbagi GPU hanya dapat memastikan bahwa beberapa pod berjalan pada satu GPU tetapi tidak dapat mencegah persaingan sumber daya di antara pod ketika isolasi memori GPU dinonaktifkan. Bagian berikut menunjukkan contohnya.

Pod 1 meminta 5 GiB memori GPU dan Pod 2 meminta 10 GiB memori GPU. Ketika isolasi memori GPU dinonaktifkan, Pod 1 dapat menggunakan hingga 10 GiB memori GPU, termasuk 5 GiB memori GPU yang diminta oleh Pod 2. Akibatnya, Pod 2 gagal diluncurkan karena kekurangan memori GPU. Setelah isolasi memori GPU diaktifkan, ketika Pod 1 mencoba menggunakan memori GPU lebih besar dari nilai yang diminta, modul isolasi memori GPU memaksa Pod 1 gagal. TU3.png

Kebijakan penjadwalan GPU: binpack dan spread

Jika sebuah node dengan fitur berbagi GPU diaktifkan memiliki beberapa GPU, Anda dapat memilih salah satu dari kebijakan pemilihan GPU berikut:

  • Binpack: Secara default, kebijakan binpack digunakan. Penjadwal mengalokasikan semua sumber daya GPU ke pod sebelum beralih ke GPU lain. Ini membantu mencegah fragmen GPU.

  • Spread: Penjadwal mencoba menyebarkan pod ke GPU yang berbeda pada node jika terjadi gangguan bisnis ketika GPU rusak.

Dalam contoh ini, sebuah node memiliki dua GPU. Setiap GPU menyediakan 15 GiB memori. Pod1 meminta 2 GiB memori dan Pod2 meminta 3 GiB memori.

Berbagi GPU tunggal dan berbagi GPU ganda

  • Berbagi GPU tunggal: Sebuah pod dapat meminta sumber daya GPU yang dialokasikan oleh hanya satu GPU.

  • Berbagi GPU ganda: Sebuah pod dapat meminta sumber daya GPU yang dialokasikan secara merata oleh beberapa GPU.