Topik ini memperkenalkan solusi berbagi GPU yang disediakan oleh Alibaba Cloud, menjelaskan manfaat GPU Sharing Edisi Profesional, serta membandingkan fitur dan skenario penggunaan GPU Sharing Edisi Dasar dan GPU Sharing Edisi Profesional untuk membantu Anda memahami dan menggunakan berbagi GPU secara lebih efektif.
Informasi latar belakang
Berbagi GPU memungkinkan Anda menjalankan beberapa kontainer pada perangkat GPU yang sama. Setelah Container Service for Kubernetes (ACK) dari Alibaba Cloud membuka sumber berbagi GPU, Anda dapat menerapkan kerangka kerja berbagi GPU pada kluster kontainer baik di Alibaba Cloud maupun di pusat data lokal. Hal ini memungkinkan beberapa kontainer berbagi perangkat GPU yang sama, sehingga mengurangi biaya penggunaan.
Namun, selain mencapai efisiensi biaya, penting juga untuk memastikan operasi kontainer yang stabil pada GPU. Dengan mengisolasi sumber daya GPU yang dialokasikan ke setiap kontainer, penggunaan sumber daya tiap kontainer pada GPU yang sama dapat dibatasi, sehingga mencegah gangguan timbal balik akibat penggunaan sumber daya yang berlebihan. Untuk mengatasi masalah ini, industri komputasi menyediakan berbagai solusi, seperti NVIDIA vGPU, Multi-Process Service (MPS), dan vCUDA, guna mencapai manajemen penggunaan GPU yang lebih terperinci.
Untuk memenuhi kebutuhan tersebut, ACK memperkenalkan solusi berbagi GPU. Solusi ini tidak hanya memungkinkan satu GPU digunakan bersama oleh beberapa tugas, tetapi juga mencapai isolasi memori dan partisi 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 pemanfaatan driver dasar GPU NVIDIA yang lebih efisien. 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 unggul. Untuk mengganti library Compute Unified Device Architecture (CUDA) pada aplikasi AI, Anda tidak perlu mengompilasi ulang aplikasi atau membuat gambar kontainer baru.
Stabilitas: Berbagi GPU menyediakan operasi dasar yang stabil pada GPU NVIDIA. Operasi API pada library CUDA dan beberapa operasi API privat pada CUDA Deep Neural Network (cuDNN) sulit dipanggil.
Isolasi sumber daya: Berbagi GPU memastikan bahwa memori GPU dan daya komputasi yang dialokasikan tidak saling memengaruhi.
Berbagi GPU menyediakan solusi yang hemat biaya, andal, dan mudah digunakan 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 GPU eksklusif maupun GPU bersama. |
Gratis | Anda harus mengaktifkan cloud-native AI suite sebelum menggunakan berbagi GPU. Mulai pukul 00:00:00 (UTC+8) tanggal 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 satu Pod menduduki satu atau beberapa 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 konflik sumber daya di antara Pod jika 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 melebihi nilai yang diminta, modul isolasi memori GPU akan memaksa Pod 1 gagal. 
Kebijakan penjadwalan GPU: binpack dan spread
Jika sebuah node yang telah diaktifkan fitur berbagi GPU memiliki beberapa GPU, Anda dapat memilih salah satu kebijakan pemilihan GPU berikut:
Binpack: Secara default, kebijakan binpack digunakan. Penjadwal mengalokasikan seluruh sumber daya GPU ke Pod sebelum beralih ke GPU lain. Hal ini membantu mencegah fragmentasi GPU.
Spread: Penjadwal berusaha menyebarkan Pod ke GPU yang berbeda pada node untuk mengantisipasi gangguan bisnis jika terjadi kegagalan pada suatu GPU.
Pada contoh ini, sebuah node memiliki dua GPU. Setiap GPU menyediakan memori sebesar 15 GiB. Pod1 meminta memori 2 GiB dan Pod2 meminta memori 3 GiB.
Berbagi GPU tunggal dan berbagi multi-GPU
Berbagi GPU tunggal: Satu Pod dapat meminta sumber daya GPU yang dialokasikan hanya oleh satu GPU.
Berbagi multi-GPU: Satu Pod dapat meminta sumber daya GPU yang dialokasikan secara merata oleh beberapa GPU.