ACK Edge集群Pro版的調度能力基于容器服務 Kubernetes 版,受邊緣節點本身限制,ACK Edge集群Pro版支持部分調度功能,包括適用于批量計算任務的Gang scheduling、Capacity Scheduling、Kube Queue,以及適用于CPU、GPU等異構資源的共享GPU調度和GPU/CPU拓撲感知調度。
功能 | 描述 | 參考文檔 |
Gang scheduling | All-or-Nothing作業要求所有的任務在同一時間被調度,如果只是部分任務啟動的話,啟動的任務將持續等待剩余的任務被調度。在極端情況下,所有作業都處于掛起狀態,從而導致死鎖。 為了解決這個問題,阿里云提供Gang Scheduling功能,保障所有相關聯的進程能夠同時啟動,防止因部分進程的異常而導致整個關聯進程組的阻塞的問題。 | |
Capacity Scheduling | 當集群中有多個用戶時,通過Kubernetes原生的ResourceQuota方式進行固定資源分配,因為不同的用戶使用資源的周期和方式不同,會造成集群的整體資源利用率較低。 ACK借鑒Yarn Capacity Scheduling的設計思路,基于Scheduling Framework的擴展機制,在調度側通過引入彈性配額組,實現Capacity Scheduling功能,在確保用戶資源分配的基礎上,通過資源共享的方式來提升集群的整體資源利用率。 | |
Kube Queue | 調度器以Pod為單位進行調度。當集群中任務類型的工作負載數量多時,會導致Pod對調度器的運行速率影響較大,并且不同用戶提交的作業之間存在相互影響。 任務隊列ack-kube-queue旨在管理Kubernetes中的AI/ML工作負載和批處理工作負載。允許系統管理員使用自定義隊列的作業隊列管理,以提高隊列的靈活性。結合Quota系統,ack-kube-queue自動優化了工作負載和資源配額管理,以便最大化利用集群資源。 | |
共享GPU調度 | GPU共享調度可以降低使用GPU的經濟成本,保障程序運行的穩定性。 ACK Edge集群Pro版支持以下GPU設備分配策略。
| |
GPU/CPU拓撲感知調度 | 調度器基于節點異構資源的拓撲信息,如GPU卡之間的NVLink、PcleSwitch等通信方式、CPU的NUMA拓撲結構等,在集群維度進行最佳的調度選擇,為工作負載提供更好的性能。 |
相關文檔
了解容器服務 Kubernetes 版支持的所有調度功能,請參見ACK調度概述。