ACK menyediakan kemampuan penjadwalan khusus untuk pelatihan AI, inferensi batch, beban kerja GPU dan FPGA heterogen, serta pekerjaan batch skala besar. Gunakan tabel berikut untuk mengidentifikasi fitur yang sesuai dengan skenario Anda.
Penjadwalan elastis
Gabungkan instance ECS, Elastic Container Instance (ECI), dan instance preemptible dalam satu aplikasi, lalu tetapkan kebijakan berbasis prioritas yang mengontrol jenis sumber daya mana yang digunakan terlebih dahulu saat scale-out dan mana yang dilepas terlebih dahulu saat scale-in.
| Fitur | Skenario | Referensi |
|---|---|---|
| Penjadwalan elastis | Kurangi biaya dengan memprioritaskan sumber daya yang lebih murah saat scale-out (misalnya, gunakan instance ECS terlebih dahulu sebelum beralih ke ECI) dan melepasnya terlebih dahulu saat scale-in. Mendukung instance subscription, pay-as-you-go, dan preemptible. | Gunakan penjadwalan berbasis Elastic Container Instance dan Konfigurasikan penjadwalan sumber daya berbasis prioritas |
Penjadwalan tugas
ACK menyediakan gang scheduling, Capacity Scheduling, dan Kube Queue untuk pemrosesan batch dan beban kerja AI.
| Fitur | Skenario | Referensi |
|---|---|---|
| Gang scheduling | Pelatihan terdistribusi atau pekerjaan batch yang memerlukan semua tugas dimulai secara simultan. Tanpa gang scheduling, pekerjaan yang hanya sebagian dimulai akan memblokir sumber daya kluster dan menyebabkan deadlock (semua pekerjaan terjebak dalam status Pending). Gang scheduling menjalankan semua proses terkait secara bersamaan, sehingga mencegah kelompok proses saling memblokir. | Bekerja dengan gang scheduling |
| Capacity Scheduling | Kluster multi-tim di mana tim berbeda menggunakan sumber daya pada waktu berbeda. Kuota sumber daya Kubernetes standar mengalokasikan jumlah tetap per namespace, yang menyebabkan sumber daya menganggur ketika kuota suatu tim tidak digunakan. Capacity Scheduling, yang dibangun di atas capacity scheduler Yarn dan framework penjadwalan Kubernetes, memungkinkan tim berbagi sumber daya menganggur di luar batas kuota masing-masing. | Gunakan Capacity Scheduling |
| Kube Queue (ack-kube-queue) | Kluster besar yang menjalankan beban kerja AI, pembelajaran mesin, dan batch yang diajukan oleh banyak pengguna. Penjadwalan tingkat Pod menurun ketika jumlah pekerjaan tinggi, dan pekerjaan dari pengguna berbeda dapat saling mengganggu selama penjadwalan. ack-kube-queue mengelola antrian pekerjaan dengan kebijakan yang dapat dikustomisasi dan sistem kuota terintegrasi untuk memaksimalkan pemanfaatan sumber daya. | Gunakan ack-kube-queue untuk mengelola antrian pekerjaan |
Penjadwalan sumber daya heterogen
ACK menyediakan fitur cGPU, penjadwalan CPU topology-aware, dan penjadwalan GPU topology-aware untuk menjadwalkan sumber daya heterogen. Untuk label node yang mengontrol penjadwalan GPU, lihat Label yang digunakan oleh ACK untuk mengontrol GPU.
Berbagi GPU dengan cGPU
cGPU memungkinkan beberapa Pod berbagi satu GPU sekaligus mengisolasi memori GPU masing-masing Pod. Kluster ACK Pro mendukung kebijakan GPU berikut berdasarkan jenis beban kerja Anda:
| Kebijakan | Gunakan saat | Deskripsi |
|---|---|---|
| Berbagi satu-Pod-satu-GPU dan isolasi memori | Inferensi model | Satu Pod menggunakan satu GPU dengan isolasi memori diterapkan antar Pod pada GPU yang sama. |
| Berbagi satu-Pod-multi-GPU dan isolasi memori | Membuat kode untuk melatih model terdistribusi | Satu Pod mencakup beberapa GPU dengan isolasi memori, cocok untuk membuat kode guna melatih model terdistribusi. |
| Alokasi binpack atau spread | Meningkatkan pemanfaatan GPU dan memastikan ketersediaan tinggi | Alokasi GPU berdasarkan algoritma binpack atau spread untuk meningkatkan pemanfaatan GPU dan memastikan ketersediaan tinggi GPU. |
Lihat cGPU Professional Edition untuk instruksi penyiapan.
Penjadwalan CPU topology-aware dan penjadwalan GPU topology-aware
Untuk beban kerja yang sensitif terhadap performa, penjadwal memilih penempatan optimal berdasarkan topologi perangkat keras node: jalur komunikasi GPU-ke-GPU (NVLink dan PCIe Switches) serta topologi akses memori non-seragam (NUMA) CPU.
| Fitur | Referensi |
|---|---|
| Penjadwalan CPU topology-aware | Penjadwalan CPU topology-aware |
| Penjadwalan GPU topology-aware | Ikhtisar |
Penjadwalan FPGA
Jadwalkan beban kerja yang memerlukan sumber daya FPGA ke node berakselerasi FPGA menggunakan label, dan kelola semua sumber daya FPGA di kluster secara terpadu.
| Fitur | Referensi |
|---|---|
| Penjadwalan FPGA | Gunakan label untuk menjadwalkan Pod ke node berakselerasi FPGA |
Penjadwalan antrian tugas
ACK memungkinkan Anda menyesuaikan penjadwalan antrian tugas untuk beban kerja AI, beban kerja pembelajaran mesin, dan pekerjaan batch.