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 kebijakan berbagi GPU dan isolasi memori yang fleksibel. |
|
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. 
Mode eksklusif memungkinkan pod menempati satu atau lebih GPU secara eksklusif, seperti yang ditunjukkan pada gambar berikut. 
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. 
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.