全部產品
Search
文件中心

Container Service for Kubernetes:作業分發概述

更新時間:Mar 01, 2025

ACK One多叢集作業分發是阿里雲面向多叢集和混合雲情境提供的多叢集AI作業調度和分發的能力。當單一ACK叢集無法滿足大規模AI訓練和推理任務的資源需求,或當前已有的多個ACK叢集有較多資源閑置時,您可以利用ACK One多叢集作業分發能力,將任務調度到多個叢集,以滿足您的資源需求。

功能特性

ACK One 多叢集作業分發,具有以下能力:

  • 支援多種作業類型:PyTorchJob、SparkApplication、TFJob。

  • 多叢集Gang調度:通過預占或動態資源檢測,實現作業的多叢集Gang調度,確保任務下發到子叢集後能夠調度,提升任務調度效率。

  • 多租戶配額管理:使用者可以使用ElasticQuotaTree提供的基於Namespace的資源管理,在多租戶情境下限制各租戶的資源使用量。

  • 任務優先順序調度:依據使用者在AI任務中的PodTemplate中定義的PriorityClass,確保高優先順序任務優先獲得叢集資源。

  • 多種任務排隊策略配置:您可以靈活定義各隊列的排隊策略,滿足優先提高叢集利用率或優先保證任務優先順序兩種使用方式,支援阻塞調度模式和非阻塞調度模式。

  • 作業失敗後的重調度:作業在子叢集中失敗後,Global Scheduler將回收該作業,並對其進行重調度,調度到其他符合條件且資源充足的叢集。

工作原理

  1. 向艦隊提交PyTorchJob、SparkApplication或TFJob的類型作業和分發策略PropagationPolicy

  2. 艦隊對作業進行優先順序調度和租戶配額管理Capacity Scheduling。

  3. 艦隊中的Global Scheduler,對出隊列的作業進行多叢集動態資源調度和多叢集Gang調度,對滿足條件的叢集進行資源預占或動態資源檢查,調度失敗則重新入隊列。

  4. 調度成功後,作業按策略分發到對應的ACK叢集中。

  5. 若作業運行失敗,Global Scheduler將回收作業,並對其進行重調度,調度到其他符合條件且資源充足的叢集。