全部產品
Search
文件中心

Container Service for Kubernetes:配置共用GPU調度cGPU算力調度策略

更新時間:Jun 19, 2024

ACK叢集Pro版的共用GPU功能基於cGPU實現。共用GPU算力隔離提供不同的分配策略,您可以在ACK Pro版叢集中通過設定共用GPU組件的Policy來選擇不同的分配策略。本文介紹通過配置共用GPU算力分配策略,實現不同效果的算力分配。

關於cGPU的更多資訊,請參見什麼是GPU容器共用技術cGPU

前提條件

  • 已建立ACK Pro版叢集,且叢集的Kubernetes版本≥1.18.8。關於Kubernetes的升級操作,請參見升級ACK叢集

  • cGPU版本≥1.0.6。關於cGPU的升級操作,請參見升級節點cGPU版本

注意事項

  • 如果您的節點已存在cGPU隔離模組,在安裝共用GPU組件之後,您需要重啟該節點,Policy才會生效。關於重啟節點的具體操作,請參見重啟執行個體

    說明

    您可以登入節點,執行cat /proc/cgpu_km/version命令,查看是否安裝cGPU隔離模組。執行命令後顯示cGPU的版本號碼,說明已安裝cGPU隔離模組。

  • 如果您的節點未安裝cGPU隔離模組或已卸載cGPU隔離模組,安裝共用GPU組件後,Policy立即生效。

  • 同一個叢集中的共用GPU節點只能使用同一種Policy。

步驟一:查看是否已安裝共用GPU組件

配置共用GPU算力分配策略時,未安裝共用GPU組件和已安裝共用GPU組件的操作方式不同,因此需要您確認叢集是否已安裝共用GPU組件。

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇應用 > Helm

  3. Helm頁面的組件列表,查看是否存在ack-ai-installer組件。

    若存在ack-ai-installer組件,表示您已安裝共用GPU組件;若不存在ack-ai-installer組件,表示您未安裝共用GPU組件。

步驟二:配置共用GPU算力分配策略

下文將根據兩種情況(未安裝共用GPU組件和已安裝共用GPU組件)分別介紹如何配置共用GPU算力分配策略,具體操作步驟如下。

未安裝共用GPU組件

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇應用 > 雲原生AI套件

  3. 雲原生AI套件頁面,單擊一鍵部署

  4. 調度地區,選中調度組件(批量任務調度、GPU共用、GPU拓撲感知、NPU調度),然後單擊右側的進階配置

  5. 參數配置頁面,修改policy欄位,然後單擊確定policy.jpgpolicy取值說明如下。關於時間片及調度策略的更多資訊,請參見cGPU服務算力調度樣本

    取值

    說明

    0

    平均調度。每個容器佔用固定的時間片,時間片佔比為1/max_inst

    1

    搶佔調度。每個容器佔用盡量多的時間片,時間片佔比為1/當前容器數

    2

    權重搶佔調度。當ALIYUN_COM_GPU_SCHD_WEIGHT的取值大於1時,自動使用權重搶佔調度。

    3

    固定算力調度。用於固定算力的百分比。

    4

    算力弱調度。隔離性弱於搶佔調度。

    5

    原生調度。即GPU驅動本身的調度方式。

  6. 在頁面下方,單擊部署雲原生AI套件

已安裝共用GPU組件

  1. 執行以下命令,編輯共用GPU組件中安裝cGPU隔離模組的DaemonSet。

    kubectl edit daemonset cgpu-installer -nkube-system
  2. 修改並儲存安裝cGPU隔離模組的Daemonset。

    1. 通過image欄位,查看Daemonset的鏡像版本。

      請確保鏡像版本為v1.0.6及其以上。image欄位樣本如下:

       image: registry-vpc.cn-hongkong.aliyuncs.com/acs/cgpu-installer:<鏡像版本>
    2. 修改value值。

      containers.env參數下,POLICYvalue修改為目標策略值。

      # 省略其他欄位。
      spec:
        containers:
        - env:
          - name: POLICY
            value: "1"
      # 省略其他欄位。

      value的取值說明如下。

      取值

      說明

      0

      平均調度。每個容器佔用固定的時間片,時間片佔比為1/max_inst

      1

      搶佔調度。每個容器佔用盡量多的時間片,時間片佔比為1/當前容器數

      2

      權重搶佔調度。當ALIYUN_COM_GPU_SCHD_WEIGHT的取值大於1時,自動使用權重搶佔調度。

      3

      固定算力調度。用於固定算力的百分比。

      4

      算力弱調度。隔離性弱於搶佔調度。

      5

      原生調度。即GPU驅動本身的調度方式。

  3. 重啟共用GPU節點執行個體。

    關於重啟節點的具體操作,請參見重啟執行個體