ACK託管叢集Pro版支援共用GPU功能。您可以通過設定共用GPU組件的Policy來選擇不同的算力分配策略。本文介紹如何配置共用GPU算力分配策略。
關於cGPU的更多資訊,請參見什麼是GPU容器共用技術cGPU。
前提條件
已建立ACK Pro版叢集,且叢集的Kubernetes版本≥1.18.8。關於Kubernetes的升級操作,請參見手動升級叢集。
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組件而不同,因此需要確認叢集是否已安裝該組件。
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
在Helm頁面的組件列表,查看是否存在ack-ai-installer組件。
若存在ack-ai-installer組件,表示已安裝共用GPU組件;若不存在,表示未安裝。
步驟二:配置共用GPU算力分配策略
下文將根據兩種情況(未安裝共用GPU組件和已安裝共用GPU組件)分別介紹如何配置共用GPU算力分配策略,具體操作步驟如下。
未安裝共用GPU組件
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
在雲原生AI套件頁面,單擊一鍵部署。
在調度地區,選中調度策略擴充(批量任務調度、GPU共用、GPU拓撲感知),然後單擊右側的進階配置。
在參數配置頁面,修改
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節點執行個體。具體操作,請參見重啟執行個體。