Dalam ACK managed cluster Pro, Anda dapat menetapkan label penjadwalan ke node GPU untuk mengoptimalkan pemanfaatan sumber daya dan menjadwalkan aplikasi secara tepat. Label tersebut menentukan properti seperti akses eksklusif, penggunaan bersama, kesadaran topologi, serta model kartu GPU tertentu.
Ikhtisar label penjadwalan
Label penjadwalan GPU mengidentifikasi model GPU dan kebijakan alokasi sumber daya guna mendukung manajemen sumber daya detail halus serta penjadwalan yang efisien.
Mode penjadwalan | Nilai label | Skenario |
Penjadwalan eksklusif (Default) |
| Tugas-tugas yang kritis terhadap kinerja dan memerlukan akses eksklusif ke seluruh GPU, seperti pelatihan model dan komputasi kinerja tinggi (HPC). |
Penjadwalan bersama |
| Meningkatkan pemanfaatan GPU. Ideal untuk skenario dengan banyak tugas ringan konkuren, seperti multitenansi dan inferensi.
|
| Mengoptimalkan strategi alokasi sumber daya pada node multi-GPU saat berbagi
| |
Penjadwalan sadar topologi |
| Secara otomatis menetapkan kombinasi optimal GPU ke suatu pod berdasarkan topologi fisik GPU pada satu node. Ini cocok untuk tugas yang sensitif terhadap latensi komunikasi antar-GPU. |
Penjadwalan model kartu |
Gunakan label-label ini dengan penjadwalan model kartu untuk mengatur memori GPU dan jumlah total kartu GPU untuk suatu pekerjaan GPU. | Menjadwalkan tugas ke node dengan model GPU tertentu atau menghindari node dengan model tertentu. |
Aktifkan fitur penjadwalan
Satu node hanya dapat menggunakan satu mode penjadwalan GPU dalam satu waktu: eksklusif, bersama, atau sadar topologi. Saat salah satu mode diaktifkan, sumber daya ekstensi untuk mode lainnya secara otomatis diatur ke 0.
Penjadwalan eksklusif
Jika suatu node tidak memiliki label penjadwalan GPU, penjadwalan eksklusif diaktifkan secara default. Dalam mode ini, node mengalokasikan sumber daya GPU ke pod dalam satuan kartu utuh.
Jika Anda telah mengaktifkan mode penjadwalan GPU lain, menghapus label tersebut tidak akan mengembalikan penjadwalan eksklusif. Untuk mengembalikannya, ubah nilai label secara manual menjadi ack.node.gpu.schedule: default.Penjadwalan bersama
Penjadwalan bersama hanya tersedia untuk ACK managed cluster Pro. Untuk informasi selengkapnya, lihat Batasan.
Instal komponen
ack-ai-installer.Login ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Cloud-native AI Suite, klik Deploy. Di halaman Deploy Cloud-native AI Suite, pilih Scheduling Policy Extension (Batch Task Scheduling, GPU Sharing, Topology-aware GPU Scheduling).
Untuk informasi selengkapnya tentang cara mengatur kebijakan penjadwalan daya komputasi untuk layanan cGPU, lihat Instal dan gunakan layanan cGPU.
Di halaman Cloud-native AI Suite, klik Deploy Cloud-native AI Suite.
Di halaman Cloud-native AI Suite, verifikasi bahwa komponen ack-ai-installer muncul dalam daftar komponen yang diinstal.
Aktifkan penjadwalan bersama.
Di halaman Clusters, klik nama kluster target Anda. Di panel navigasi kiri, pilih .
Di halaman Node Pools, klik Create Node Pool, konfigurasikan label node, lalu klik Confirm.
Anda dapat mempertahankan nilai default untuk item konfigurasi lainnya. Untuk informasi selengkapnya tentang fungsi setiap label, lihat Ikhtisar label penjadwalan.
Konfigurasikan penjadwalan bersama dasar.
Klik ikon
untuk Node Labels, atur Key menjadi ack.node.gpu.schedule, dan pilih nilai seperticgpu,core_mem,share, ataumps(memerlukan instalasi komponen MPS Control Daemon).Konfigurasikan penjadwalan bersama multi-kartu.
Pada node multi-GPU, Anda dapat menambahkan kebijakan penempatan ke konfigurasi penjadwalan bersama dasar untuk mengoptimalkan alokasi sumber daya.
Klik ikon
untuk Node Labels, atur Key menjadi ack.node.gpu.placement, dan pilihbinpackatauspreadsebagai nilai label.
Verifikasi bahwa penjadwalan bersama telah diaktifkan.
cgpu/share/mpsGanti <NODE_NAME> dengan nama node di kelompok node target dan jalankan perintah berikut untuk memverifikasi bahwa penjadwalan bersama
cgpu,share, ataumpstelah diaktifkan pada node tersebut.kubectl get nodes <NODE_NAME> -o yaml | grep -q "aliyun.com/gpu-mem"Output yang diharapkan:
aliyun.com/gpu-mem: "60"Jika bidang
aliyun.com/gpu-memtidak bernilai 0, penjadwalan bersamacgpu,share, ataumpstelah diaktifkan.core_memGanti
<NODE_NAME>dengan nama node di kelompok node target dan jalankan perintah berikut untuk memverifikasi bahwa penjadwalan bersamacore_memtelah diaktifkan.kubectl get nodes <NODE_NAME> -o yaml | grep -E 'aliyun\.com/gpu-core\.percentage|aliyun\.com/gpu-mem'Output yang diharapkan:
aliyun.com/gpu-core.percentage:"80" aliyun.com/gpu-mem:"6"Jika bidang
aliyun.com/gpu-core.percentagedanaliyun.com/gpu-memkeduanya tidak nol, penjadwalan bersamacore_memtelah diaktifkan.binpackGunakan tool kueri sumber daya GPU bersama untuk memeriksa alokasi sumber daya GPU pada node:
kubectl inspect cgpuOutput yang diharapkan:
NAME IPADDRESS GPU0(Allocated/Total) GPU1(Allocated/Total) GPU2(Allocated/Total) GPU3(Allocated/Total) GPU Memory(GiB) cn-shanghai.192.0.2.109 192.0.2.109 15/15 9/15 0/15 0/15 24/60 -------------------------------------------------------------------------------------- Allocated/Total GPU Memory In Cluster: 24/60 (40%)Output menunjukkan bahwa GPU0 dialokasikan penuh (15/15) sedangkan GPU1 dialokasikan sebagian (9/15). Hal ini mengonfirmasi bahwa kebijakan
binpackaktif. Kebijakan ini mengisi satu GPU sepenuhnya sebelum mengalokasikan sumber daya pada GPU berikutnya.spreadGunakan tool kueri sumber daya GPU penjadwalan bersama untuk memeriksa alokasi sumber daya GPU pada node:
kubectl inspect cgpuOutput yang diharapkan:
NAME IPADDRESS GPU0(Allocated/Total) GPU1(Allocated/Total) GPU2(Allocated/Total) GPU3(Allocated/Total) GPU Memory(GiB) cn-shanghai.192.0.2.109 192.0.2.109 4/15 4/15 0/15 4/15 12/60 -------------------------------------------------------------------------------------- Allocated/Total GPU Memory In Cluster: 12/60 (20%)Output menunjukkan alokasi sumber daya sebesar 4/15 pada GPU0, 4/15 pada GPU1, dan 4/15 pada GPU3. Hal ini konsisten dengan kebijakan penjadwalan yang memprioritaskan penyebaran pod ke GPU berbeda, yang mengonfirmasi bahwa kebijakan
spreadsedang berlaku.
Penjadwalan sadar topologi
Penjadwalan sadar topologi hanya tersedia untuk ACK managed cluster Pro. Untuk informasi selengkapnya, lihat Persyaratan versi komponen sistem.
Aktifkan penjadwalan sadar topologi.
Ganti <NODE_NAME> dengan nama node target Anda dan jalankan perintah berikut untuk menambahkan label ke node dan mengaktifkan penjadwalan GPU sadar topologi.
kubectl label node <NODE_NAME> ack.node.gpu.schedule=topologySetelah Anda mengaktifkan penjadwalan sadar topologi pada suatu node, node tersebut tidak lagi mendukung beban kerja GPU yang tidak sadar topologi. Untuk mengembalikan penjadwalan eksklusif, jalankan perintah
kubectl label node <NODE_NAME> ack.node.gpu.schedule=default --overwrite.Verifikasi bahwa penjadwalan sadar topologi telah diaktifkan.
Ganti <NODE_NAME> dengan nama node target Anda dan jalankan perintah berikut untuk memverifikasi bahwa penjadwalan sadar topologi
topologytelah diaktifkan.kubectl get nodes <NODE_NAME> -o yaml | grep aliyun.com/gpuOutput yang diharapkan:
aliyun.com/gpu: "2"Jika bidang
aliyun.com/gputidak bernilai 0, penjadwalan sadar topologitopologytelah diaktifkan.
Penjadwalan model kartu
Anda dapat menjadwalkan Pekerjaan ke node dengan model GPU tertentu atau menghindari node dengan model tertentu.
Lihat model kartu GPU pada node.
Jalankan perintah berikut untuk mengkueri model kartu GPU pada node di kluster Anda.
Bidang NVIDIA_NAME menunjukkan model kartu GPU.
kubectl get nodes -L aliyun.accelerator/nvidia_nameOutput yang diharapkan mirip dengan berikut:
NAME STATUS ROLES AGE VERSION NVIDIA_NAME cn-shanghai.192.XX.XX.176 Ready <none> 17d v1.26.3-aliyun.1 Tesla-V100-SXM2-32GB cn-shanghai.192.XX.XX.177 Ready <none> 17d v1.26.3-aliyun.1 Tesla-V100-SXM2-32GBAktifkan penjadwalan model kartu.
Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel navigasi kiri, pilih .
Di halaman Jobs, klik Create From YAML. Gunakan contoh berikut untuk membuat aplikasi dan mengaktifkan penjadwalan model kartu.

Tentukan model kartu tertentu
Gunakan label penjadwalan model kartu GPU untuk memastikan aplikasi Anda berjalan pada node dengan model kartu tertentu.
Dalam kode
aliyun.accelerator/nvidia_name: "Tesla-V100-SXM2-32GB", gantiTesla-V100-SXM2-32GBdengan model kartu node Anda.Setelah pekerjaan dibuat, pilih dari panel navigasi kiri. Daftar pod menunjukkan bahwa pod contoh dijadwalkan ke node yang sesuai. Hal ini mengonfirmasi bahwa penjadwalan berdasarkan label model kartu GPU berfungsi.
Kecualikan model kartu tertentu
Gunakan label penjadwalan model kartu GPU dengan afinitas dan anti-afinitas node untuk mencegah aplikasi Anda berjalan pada model kartu tertentu.
Dalam
values: - "Tesla-V100-SXM2-32GB", gantiTesla-V100-SXM2-32GBdengan model kartu node Anda.Setelah pekerjaan dibuat, aplikasi tidak dijadwalkan pada node dengan kunci tag
aliyun.accelerator/nvidia_namedan nilai tagTesla-V100-SXM2-32GB. Namun, aplikasi dapat dijadwalkan pada node GPU lainnya.
