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組件。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在Helm頁面的組件列表,查看是否存在ack-ai-installer組件。
若存在ack-ai-installer組件,表示您已安裝共用GPU組件;若不存在ack-ai-installer組件,表示您未安裝共用GPU組件。
步驟二:配置共用GPU算力分配策略
下文將根據兩種情況(未安裝共用GPU組件和已安裝共用GPU組件)分別介紹如何配置共用GPU算力分配策略,具體操作步驟如下。
未安裝共用GPU組件
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
在雲原生AI套件頁面,單擊一鍵部署。
在調度地區,選中調度組件(批量任務調度、GPU共用、GPU拓撲感知、NPU調度),然後單擊右側的進階配置。
在參數配置頁面,修改
policy
欄位,然後單擊確定。policy
取值說明如下。關於時間片及調度策略的更多資訊,請參見cGPU服務算力調度樣本。取值
說明
0
平均調度。每個容器佔用固定的時間片,時間片佔比為
1/max_inst
。1
搶佔調度。每個容器佔用盡量多的時間片,時間片佔比為
1/當前容器數
。2
權重搶佔調度。當ALIYUN_COM_GPU_SCHD_WEIGHT的取值大於1時,自動使用權重搶佔調度。
3
固定算力調度。用於固定算力的百分比。
4
算力弱調度。隔離性弱於搶佔調度。
5
原生調度。即GPU驅動本身的調度方式。
在頁面下方,單擊部署雲原生AI套件。
已安裝共用GPU組件
執行以下命令,編輯共用GPU組件中安裝cGPU隔離模組的DaemonSet。
kubectl edit daemonset cgpu-installer -nkube-system
修改並儲存安裝cGPU隔離模組的Daemonset。
通過
image
欄位,查看Daemonset的鏡像版本。請確保鏡像版本為v1.0.6及其以上。
image
欄位樣本如下:image: registry-vpc.cn-hongkong.aliyuncs.com/acs/cgpu-installer:<鏡像版本>
修改
value
值。將
containers.env
參數下,POLICY
的value
修改為目標策略值。# 省略其他欄位。 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驅動本身的調度方式。
重啟共用GPU節點執行個體。
關於重啟節點的具體操作,請參見重啟執行個體。