# NPU亲和性调度算法设计说明与开发指导.zh
- [Ascend-volcano-plugin介绍](#Ascend-volcano-plugin介绍文档)
- [亲和性策略说明](#亲和性策略说明文档)
- [调度算法设计说明](#调度算法设计说明文档)
- [调度算法实现说明](#调度算法实现说明文档)
- [目录结构](#目录结构文档)
- [编译说明](#编译说明文档)
- [版本更新记录](#版本更新记录文档)
<h2 id="Ascend-volcano-plugin介绍文档">Ascend-volcano-plugin介绍</h2>
基于开源Volcano调度的插件机制,增加昇腾处理器的亲和性调度,虚拟设备调度等特性,最大化发挥昇腾处理器计算性能。
<h2 id="亲和性策略说明文档">亲和性策略说明</h2>
## 昇腾910 AI处理器亲和性规则<a name="section14879332111413"></a>
昇腾910 AI处理器是华为研发的一款高性能AI处理器。其内部的处理器之间采用HCCS方式连接。每台物理设备具备8颗处理器,两个HCCS。每个HCCS存在4颗处理器,同一HCCS内处理器可做数据交换,不同HCCS内处理器不能通信,即同一Pod分配的昇腾910 AI处理器(若小于等于4)必须在同一个HCCS环内,否则任务运行失败。昇腾910 AI处理器的互联拓扑图如[图1](#fig997414281914)所示。
**图 1** Ascend 910 AI Processor interconnection topology<a name="fig997414281914"></a>
![](doc/figures/Ascend-910-AI-Processor-interconnection-topology.png "Ascend-910-AI-Processor-interconnection-topology")
>![](doc/figures/icon-note.gif) **说明:**
>图中A0\~A7为昇腾910 AI处理器。
## 亲和性策略说明<a name="section1024522919366"></a>
针对昇腾910 AI处理器的特征和资源利用的规则,制定昇腾910 AI处理器的亲和性策略如[表1](#table644103781119)所示。
**表 1** 昇腾910 AI处理器亲和性策略说明
<a name="table644103781119"></a>
<table><thead align="left"><tr id="row12441737121113"><th class="cellrowborder" valign="top" width="10.35103510351035%" id="mcps1.2.4.1.1"><p id="p583914346125"><a name="p583914346125"></a><a name="p583914346125"></a>优先级</p>
</th>
<th class="cellrowborder" valign="top" width="20.072007200720073%" id="mcps1.2.4.1.2"><p id="p9839163421215"><a name="p9839163421215"></a><a name="p9839163421215"></a>策略名称</p>
</th>
<th class="cellrowborder" valign="top" width="69.57695769576956%" id="mcps1.2.4.1.3"><p id="p1183973414121"><a name="p1183973414121"></a><a name="p1183973414121"></a>详细内容</p>
</th>
</tr>
</thead>
<tbody><tr id="row1544143719118"><td class="cellrowborder" valign="top" width="10.35103510351035%" headers="mcps1.2.4.1.1 "><p id="p65701144151214"><a name="p65701144151214"></a><a name="p65701144151214"></a>1</p>
</td>
<td class="cellrowborder" valign="top" width="20.072007200720073%" headers="mcps1.2.4.1.2 "><p id="p15708447120"><a name="p15708447120"></a><a name="p15708447120"></a>HCCS亲和性调度原则</p>
</td>
<td class="cellrowborder" valign="top" width="69.57695769576956%" headers="mcps1.2.4.1.3 "><a name="ul358513316613"></a><a name="ul358513316613"></a><ul id="ul358513316613"><li>如果申请<span id="ph102514522379"><a name="ph102514522379"></a><a name="ph102514522379"></a>昇腾910 AI处理器</span>个数为1,则选择同一HCCS,剩余可用的<span id="ph3545191818389"><a name="ph3545191818389"></a><a name="ph3545191818389"></a>昇腾910 AI处理器</span>数量为1个的最佳,其次是剩余3个的为次佳,然后是剩余2个,最后是剩余4个。</li><li>如果申请<span id="ph12846122720397"><a name="ph12846122720397"></a><a name="ph12846122720397"></a>昇腾910 AI处理器</span>个数为2,则选择同一HCCS剩余可用的<span id="ph673153064114"><a name="ph673153064114"></a><a name="ph673153064114"></a>昇腾910 AI处理器</span>数量2个的为最佳,其次是剩余4个,最后是剩余3个。</li><li>如果申请<span id="ph107551285403"><a name="ph107551285403"></a><a name="ph107551285403"></a>昇腾910 AI处理器</span>个数为4,则必须选择同一HCCS剩余可用的<span id="ph101010328402"><a name="ph101010328402"></a><a name="ph101010328402"></a>昇腾910 AI处理器</span>数量为4个。</li><li>如果申请<span id="ph7220141118409"><a name="ph7220141118409"></a><a name="ph7220141118409"></a>昇腾910 AI处理器</span>个数为8,则申请节点所有8个<span id="ph18561524104212"><a name="ph18561524104212"></a><a name="ph18561524104212"></a>昇腾910 AI处理器</span>。</li></ul>
</td>
</tr>
<tr id="row134514378111"><td class="cellrowborder" valign="top" width="10.35103510351035%" headers="mcps1.2.4.1.1 "><p id="p95701244191213"><a name="p95701244191213"></a><a name="p95701244191213"></a>2</p>
</td>
<td class="cellrowborder" valign="top" width="20.072007200720073%" headers="mcps1.2.4.1.2 "><p id="p25701844191218"><a name="p25701844191218"></a><a name="p25701844191218"></a>优先占满调度原则</p>
</td>
<td class="cellrowborder" valign="top" width="69.57695769576956%" headers="mcps1.2.4.1.3 "><p id="p257014461213"><a name="p257014461213"></a><a name="p257014461213"></a>优先分配已经分配过<span id="ph674816913476"><a name="ph674816913476"></a><a name="ph674816913476"></a>昇腾910 AI处理器</span>的AI服务器,减少碎片。</p>
<a name="ul492757985"></a><a name="ul492757985"></a><ul id="ul492757985"><li>如果申请1个<span id="ph5472151794717"><a name="ph5472151794717"></a><a name="ph5472151794717"></a>昇腾910 AI处理器</span>,优先申请capacity为8,且HCCS剩余可用处理器数量为1的节点,然后是剩余可用数量为3个,2个,4个。</li><li>如果申请2个<span id="ph113619244488"><a name="ph113619244488"></a><a name="ph113619244488"></a>昇腾910 AI处理器</span>,优先申请capacity为8,且HCCS剩余可用处理器数量为2的节点,然后是剩余可用数量为4个,3个。</li><li>如果申请4个<span id="ph1227621912495"><a name="ph1227621912495"></a><a name="ph1227621912495"></a>昇腾910 AI处理器</span>,优先申请capacity为8,且剩余可用处理器数量为4的节点。</li><li>如果申请<span id="ph8889713185018"><a name="ph8889713185018"></a><a name="ph8889713185018"></a>昇腾910 AI处理器</span>为8的正整数倍数,申请capacity为8,且已使用0个处理器的节点。</li></ul>
</td>
</tr>
<tr id="row645123716115"><td class="cellrowborder" valign="top" width="10.35103510351035%" headers="mcps1.2.4.1.1 "><p id="p1157004414125"><a name="p1157004414125"></a><a name="p1157004414125"></a>3</p>
</td>
<td class="cellrowborder" valign="top" width="20.072007200720073%" headers="mcps1.2.4.1.2 "><p id="p5570154418121"><a name="p5570154418121"></a><a name="p5570154418121"></a>剩余偶数优先原则</p>
</td>
<td class="cellrowborder" valign="top" width="69.57695769576956%" headers="mcps1.2.4.1.3 "><p id="p175701445129"><a name="p175701445129"></a><a name="p175701445129"></a>优先选择满足1~3条件的HCCS,然后选择剩余处理器数量为偶数的HCCS。</p>
</td>
</tr>
<tr id="row15617913135"><td class="cellrowborder" valign="top" width="10.35103510351035%" headers="mcps1.2.4.1.1 "><p id="p4618141141310"><a name="p4618141141310"></a><a name="p4618141141310"></a>--</p>
</td>
<td class="cellrowborder" valign="top" width="20.072007200720073%" headers="mcps1.2.4.1.2 "><p id="p13570104491211"><a name="p13570104491211"></a><a name="p13570104491211"></a>多节点支持原则</p>
</td>
<td class="cellrowborder" valign="top" width="69.57695769576956%" headers="mcps1.2.4.1.3 "><p id="p861812114139"><a name="p861812114139"></a><a name="p861812114139"></a>一次训练任务只支持8*N的方式分配。</p>
</td>
</tr>
</tbody>
</table>
## 资源申请约束<a name="section1103513532"></a>
根据业务模型,对训练任务的要求如下:
1. 当训练任务申请昇腾910 AI处理器数量不大于4个时,需要将所需的昇腾910 AI处理器调度到同一个HCCS内。
2. 当训练任务申请的昇腾910 AI处�
没有合适的资源?快使用搜索试试~ 我知道了~
基于开源Volcano调度的插件机制
共140个文件
go:113个
gif:6个
png:5个
需积分: 0 5 下载量 138 浏览量
更新于2023-10-09
收藏 455KB ZIP 举报
NPU亲和性调度算法设计说明与开发指导.zh
Ascend-volcano-plugin介绍
亲和性策略说明
调度算法设计说明
调度算法实现说明
目录结构
编译说明
版本更新记录
Ascend-volcano-plugin介绍
基于开源Volcano调度的插件机制,增加昇腾处理器的亲和性调度,虚拟设备调度等特性,最大化发挥昇腾处理器计算性能。
亲和性策略说明
昇腾910 AI处理器亲和性规则
昇腾910 AI处理器是华为研发的一款高性能AI处理器。其内部的处理器之间采用HCCS方式连接。每台物理设备具备8颗处理器,两个HCCS。每个HCCS存在4颗处理器,同一HCCS内处理器可做数据交换,不同HCCS内处理器不能通信,即同一Pod分配的昇腾910 AI处理器(若小于等于4)必须在同一个HCCS环内,否则任务运行失败。昇腾910 AI处理器的互联拓扑图如图1所示。
收起资源包目录
基于开源Volcano调度的插件机制 (140个子文件)
Dockerfile-controller 344B
Dockerfile-scheduler 388B
icon-caution.gif 580B
icon-warning.gif 580B
icon-danger.gif 580B
icon-notice.gif 406B
icon-note.gif 394B
icon-tip.gif 253B
reschedule.go 52KB
reschedule_test.go 36KB
job.go 26KB
frame_test.go 25KB
vnpu_test.go 24KB
frame_reschedule_test.go 21KB
frame_test.go 20KB
vnode.go 19KB
job_test.go 19KB
factory.go 18KB
frame_test.go 18KB
frame_test.go 17KB
frame_reschedule_test.go 17KB
task_test.go 15KB
frame_test.go 15KB
frame_test.go 14KB
cache.go 14KB
node.go 14KB
frame.go 14KB
frame_test.go 13KB
node.go 12KB
factory_test.go 11KB
frame.go 11KB
task.go 11KB
frame_test.go 11KB
vdynamic.go 11KB
frame.go 11KB
frame.go 10KB
task_test.go 10KB
job.go 9KB
type.go 9KB
base.go 9KB
vnpu.go 9KB
node_test.go 9KB
frame.go 9KB
frame.go 8KB
frame.go 8KB
frame.go 8KB
frame_test.go 7KB
frame.go 7KB
frame.go 7KB
cache_test.go 7KB
huawei_npu.go 7KB
type.go 7KB
node_test.go 6KB
configmap_test.go 6KB
node.go 6KB
util.go 6KB
task.go 6KB
frame_test.go 6KB
job.go 6KB
frame.go 5KB
frame.go 5KB
pod.go 5KB
job.go 5KB
tor.go 5KB
configmap.go 5KB
plugin_test.go 5KB
job.go 4KB
frame.go 4KB
job_test.go 4KB
job_test.go 4KB
type.go 4KB
frame.go 4KB
task.go 4KB
device_info.go 4KB
plugin.go 4KB
huawei_npu_test.go 4KB
configmap.go 4KB
reschedule.go 4KB
configmap_test.go 3KB
reschedule.go 3KB
frame.go 3KB
node.go 3KB
job.go 3KB
node.go 3KB
job.go 2KB
type.go 2KB
node.go 2KB
type.go 2KB
task.go 2KB
node.go 2KB
pod.go 2KB
job.go 2KB
node.go 2KB
task.go 2KB
task.go 2KB
node.go 2KB
rescheduling.go 2KB
type.go 2KB
node.go 2KB
type.go 1KB
共 140 条
- 1
- 2
资源推荐
资源预览
资源评论
2021-04-11 上传
179 浏览量
2024-05-24 上传
2019-11-27 上传
168 浏览量
2024-08-27 上传
5星 · 资源好评率100%
130 浏览量
2022-05-30 上传
111 浏览量
2019-08-14 上传
183 浏览量
200 浏览量
128 浏览量
2019-06-20 上传
5星 · 资源好评率100%
130 浏览量
5星 · 资源好评率100%
174 浏览量
111 浏览量
2024-09-16 上传
2024-05-27 上传
2023-04-16 上传
2021-05-12 上传
200 浏览量
195 浏览量
资源评论
你的月亮和太阳
- 粉丝: 236
- 资源: 91
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功