Saat men-deploy pekerjaan komputasi GPU di ACK managed cluster Pro, Anda dapat menetapkan label properti penjadwalan ke node GPU. Label-label tersebut—seperti penjadwalan eksklusif, bersama (shared), dan topology-aware scheduling—serta label model kartu membantu mengoptimalkan pemanfaatan sumber daya dan memungkinkan penjadwalan aplikasi yang presisi.
Label penjadwalan
Label penjadwalan GPU mengidentifikasi model GPU dan kebijakan alokasi sumber daya, sehingga memungkinkan manajemen sumber daya detail halus serta penjadwalan yang efisien.
Fitur penjadwalan | Nilai label | Skenario |
Penjadwalan eksklusif (Bawaan) |
| Pekerjaan berkinerja tinggi yang memerlukan penggunaan eksklusif seluruh kartu GPU, seperti pelatihan model dan HPC. |
Penjadwalan bersama |
| Meningkatkan pemanfaatan GPU. Cocok untuk skenario di mana beberapa pekerjaan ringan berjalan secara konkuren, seperti pada beban kerja multitenancy atau inferensi.
|
| Ini berlaku untuk mengoptimalkan kebijakan alokasi sumber daya untuk beberapa kartu GPU pada satu node setelah fitur penjadwalan bersama
| |
Penjadwalan Sadar Topologi |
| Secara otomatis menetapkan pod ke kombinasi GPU dengan bandwidth komunikasi optimal berdasarkan topologi fisik GPU dalam satu node. Cocok untuk pekerjaan yang sensitif terhadap latensi komunikasi antar-GPU. |
Penjadwalan model kartu |
Gunakan bersama penjadwalan model kartu untuk mengatur kapasitas video memory dan jumlah total kartu GPU untuk suatu pekerjaan GPU. | Menjadwalkan pekerjaan ke node dengan model GPU tertentu atau menghindari node dengan model tertentu. |
Aktifkan fitur penjadwalan
Penjadwalan eksklusif
Jika sebuah node tidak memiliki label penjadwalan GPU, penjadwalan eksklusif diaktifkan secara bawaan. Dalam mode ini, node mengalokasikan sumber daya GPU ke pod dalam satuan satu GPU.
Jika fitur penjadwalan GPU lain diaktifkan, menghapus label tidak akan mengembalikan penjadwalan eksklusif. Anda harus mengubah nilai label secara manual menjadi ack.node.gpu.schedule: default untuk mengembalikan penjadwalan eksklusif.Penjadwalan bersama
Penjadwalan bersama hanya didukung di ACK managed cluster Pro. Untuk informasi selengkapnya, lihat Batasan.
Instal komponen penjadwalan bersama
ack-ai-installer.Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang diinginkan dan klik namanya. Di panel navigasi kiri, pilih .
Di halaman Cloud-native AI Suite, klik Deploy. Di halaman Deploy Cloud-native AI Suite, pilih Scheduling Policy Extension (Batch Scheduling, GPU Sharing, GPU Topology Awareness).
Untuk informasi selengkapnya tentang cara mengatur kebijakan penjadwalan daya komputasi untuk cGPU, lihat Instal dan gunakan komponen cGPU.
Di halaman Cloud-native AI Suite, klik Deploy Cloud-native AI Suite.
Di halaman Cloud-native AI Suite, temukan komponen GPU bersama yang telah diinstal ack-ai-installer dalam daftar komponen.
Aktifkan fitur penjadwalan bersama.
Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih .
Di halaman Node Pools, klik Create Node Pool, konfigurasikan label node, lalu klik Confirm.
Anda dapat mempertahankan pengaturan bawaan untuk item konfigurasi lainnya. Untuk informasi selengkapnya tentang skenario untuk label node, lihat Label penjadwalan.
Konfigurasikan penjadwalan bersama dasar.
Klik ikon
untuk Node Labels, atur Key menjadi ack.node.gpu.schedule, dan pilih salah satu nilai tag berikut:cgpu,core_mem,share, ataumps(memerlukan Anda untuk menginstal komponen MPS Control Daemon).Konfigurasikan penjadwalan bersama multi-kartu.
Jika sebuah node memiliki beberapa GPU, Anda dapat mengonfigurasi penjadwalan bersama multi-kartu untuk mengoptimalkan alokasi sumber daya.
Klik ikon
untuk Node Labels, atur Key menjadi ack.node.gpu.placement, dan atur nilai tag menjadibinpackatauspread.
Verifikasi bahwa penjadwalan bersama telah diaktifkan.
cgpu/share/mpsGanti <NODE_NAME> dengan nama node target Anda dan jalankan perintah berikut untuk memverifikasi bahwa penjadwalan bersama
cgpu,share, ataumpstelah diaktifkan untuk kelompok node tersebut.kubectl get nodes <NODE_NAME> -o yaml | grep -q "aliyun.com/gpu-mem"Keluaran yang diharapkan:
aliyun.com/gpu-mem: "60"Jika nilai bidang
aliyun.com/gpu-membukan 0, penjadwalan bersamacgpu,share, ataumpstelah diaktifkan.core_memGanti
<NODE_NAME>dengan nama node target Anda dan jalankan perintah berikut untuk memverifikasi bahwa penjadwalan bersamacore_memtelah diaktifkan untuk kelompok node tersebut.kubectl get nodes <NODE_NAME> -o yaml | grep -E 'aliyun\.com/gpu-core\.percentage|aliyun\.com/gpu-mem'Keluaran yang diharapkan:
aliyun.com/gpu-core.percentage:"80" aliyun.com/gpu-mem:"6"Jika nilai bidang
aliyun.com/gpu-core.percentagedanaliyun.com/gpu-membukan 0, penjadwalan bersamacore_memtelah diaktifkan.binpackGunakan alat kueri sumber daya GPU penjadwalan GPU bersama dan jalankan perintah berikut untuk mengkueri alokasi sumber daya GPU pada node:
kubectl inspect cgpuKeluaran 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%)Keluaran menunjukkan bahwa GPU0 dialokasikan penuh (15/15) dan GPU1 dialokasikan sebagian (9/15). Hal ini sesuai dengan strategi mengisi satu GPU sebelum mengalokasikan sumber daya ke GPU berikutnya, yang mengonfirmasi bahwa kebijakan
binpacksedang berlaku.spreadGunakan alat kueri sumber daya GPU penjadwalan bersama dan jalankan perintah berikut untuk mengkueri alokasi sumber daya GPU pada node:
kubectl inspect cgpuKeluaran 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%)Keluaran menunjukkan bahwa 4/15 sumber daya dialokasikan ke GPU0, 4/15 ke GPU1, dan 4/15 ke GPU3. Hal ini mengonfirmasi bahwa kebijakan
spreadsedang berlaku karena pod-pod didistribusikan ke GPU-GPU berbeda.
Penjadwalan topology-aware
Penjadwalan topology-aware hanya didukung di ACK managed cluster Pro. Untuk informasi selengkapnya, lihat Persyaratan versi komponen sistem.
Aktifkan penjadwalan topology-aware.
Ganti <NODE_NAME> dengan nama node target Anda dan jalankan perintah berikut untuk menambahkan label ke node tersebut. Hal ini mengaktifkan fitur penjadwalan topology-aware untuk node tersebut.
kubectl label node <NODE_NAME> ack.node.gpu.schedule=topologySetelah Anda mengaktifkan penjadwalan topology-aware untuk sebuah node, node tersebut tidak lagi mendukung penjadwalan untuk sumber daya GPU non-topology-aware. Anda dapat menjalankan perintah
kubectl label node <NODE_NAME> ack.node.gpu.schedule=default --overwriteuntuk mengubah label dan mengembalikan penjadwalan eksklusif.Verifikasi bahwa penjadwalan topology-aware telah diaktifkan.
Ganti <NODE_NAME> dengan nama node target Anda dan jalankan perintah berikut untuk memverifikasi bahwa penjadwalan
topology-aware telah diaktifkan untuk kelompok node tersebut.kubectl get nodes <NODE_NAME> -o yaml | grep aliyun.com/gpuKeluaran yang diharapkan:
aliyun.com/gpu: "2"Jika nilai bidang
aliyun.com/gpubukan 0, penjadwalantopology-aware telah diaktifkan.
Penjadwalan model kartu
Anda dapat menjadwalkan Pekerjaan ke node dengan model GPU tertentu atau menghindari model tertentu.
Periksa model GPU pada node.
Jalankan perintah berikut untuk mengkueri model GPU pada node-node di kluster.
Nama model GPU berada di bidang NVIDIA_NAME.
kubectl get nodes -L aliyun.accelerator/nvidia_nameKeluaran 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 diinginkan dan klik namanya. Di panel kiri, pilih .
Di halaman Jobs, klik Create From YAML. Gunakan contoh berikut untuk membuat aplikasi dan mengaktifkan fitur penjadwalan model kartu.

Tentukan model kartu tertentu
Gunakan label model GPU untuk menjalankan aplikasi Anda pada node dengan model GPU tertentu.
Ganti
Tesla-V100-SXM2-32GBdalam kodealiyun.accelerator/nvidia_name: "Tesla-V100-SXM2-32GB"dengan model GPU aktual pada node Anda.Setelah Pekerjaan dibuat, Anda dapat memilih di panel navigasi kiri. Di daftar pod, Anda dapat melihat bahwa contoh pod berhasil dijadwalkan ke node yang sesuai, yang menunjukkan penjadwalan fleksibel berdasarkan label model GPU.
Kecualikan model kartu tertentu
Gunakan label model GPU dengan afinitas dan anti-afinitas node untuk mencegah aplikasi Anda berjalan pada model GPU tertentu.
Ganti
Tesla-V100-SXM2-32GBdalamvalues: - "Tesla-V100-SXM2-32GB"dengan model GPU aktual pada node Anda.Setelah Pekerjaan dibuat, aplikasi tidak dijadwalkan ke node yang memiliki kunci label
aliyun.accelerator/nvidia_namedan nilaiTesla-V100-SXM2-32GB. Namun, aplikasi dapat dijadwalkan ke node GPU dengan model GPU lainnya.
