(可选)使用Volcano交换机亲和性调度
Volcano组件支持交换机的亲和性调度。使用该功能需要上传交换机与服务器节点的对应关系以供Volcano使用,操作步骤如下。

当前只支持训练和推理任务进行整卡的交换机亲和性调度,不支持静态或动态vNPU调度。
操作步骤
- 准备部署环境的网络设计LLD文档,将其上传到K8s管理节点的任意目录(以“/home/tor-affinity”为例)。
LLD文件名需要是lld.xlsx。
- 获取LLD文档解析脚本。
进入mindxdl-deploy仓库,根据mindxdl-deploy开源仓版本说明进入版本对应分支。下载“training_toolkit/training_toolkit/utils”目录中的lld_to_cm.py文件,将该文件上传到管理节点步骤1中的目录下。
- 执行以下命令,启动“lld_to_cm.py”脚本。
python ./lld_to_cm.py --num 32
- 使用--num(或-n)子命令指定一个交换机下的节点个数,不指定该参数时默认取值为4。
- 使用--level(或-l)子命令指定交换机组网类型,不指定该参数时默认取值为double_layer,取值说明如下。
- single_layer:使用单层交换机组网。
- double_layer:使用双层交换机组网。
- 该脚本需要使用到openpyxl模块,如果安装环境缺少该模块,可以使用pip install openpyxl命令进行安装。
- 执行以下命令,检查ConfigMap是否创建成功。
kubectl get cm -n kube-system basic-tor-node-cm
回显示例如下,表示创建成功。
1 2
NAME DATA AGE basic-tor-node-cm 1 8s
配置交换机亲和性调度
配置交换机的亲和性调度需要在任务YAML中配置tor-affinity参数,tor-affinity的位置和配置说明如下表所示。
参数 |
取值 |
说明 |
---|---|---|
(.kind=="AscendJob").metadata.labels.tor-affinity |
|
默认值为null,表示不使用交换机亲和性调度。用户需要根据任务类型进行配置。 说明:
|
父主题: Volcano