
# Volcano调度器（Volcano Scheduler）
#### 插件简介
Volcano 是一个基于 Kubernetes 的批处理平台，提供了机器学习、深度学习、生物信息学、基因组学及其他大数据应用所需要而 Kubernetes 当下缺失的一系列特性。
Volcano提供了高性能任务调度引擎、高性能异构芯片管理、高性能任务运行管理等通用计算能力，通过接入AI、大数据、基因、渲染等诸多行业计算框架服务终端用户，最大支持1000 Pod/s的调度并发数，轻松应对各种规模的工作负载，大大提高调度效率和资源利用率。
Volcano针对计算型应用提供了作业调度、作业管理、队列管理等多项功能，主要特性包括：
- 丰富的计算框架支持：通过CRD提供了批量计算任务的通用API，通过提供丰富的插件及作业生命周期高级管理，支持TensorFlow，MPI，Spark等计算框架容器化运行在Kubernetes上。
- 高级调度：面向批量计算、高性能计算场景提供丰富的高级调度能力，包括成组调度，优先级抢占、装箱、资源预留、任务拓扑关系等。
- 队列管理：支持分队列调度，提供队列优先级、多级队列等复杂任务调度能力。
目前Volcano项目已经在Github开源，项目开源地址：<https://github.com/volcano-sh/volcano>。
#### 约束限制
在升级插件时，应谨慎避免将高版本降级至低版本。版本降级可能导致任务调度异常，存在潜在风险。升级过程中将短暂影响业务创建功能 (预计恢复极快)，请尽量避开业务高峰期操作。
#### 安装插件
[创建专属资源池](https://support.huaweicloud.com/usermanual-standard-modelarts/resmgmt-modelarts_0004.html)时，适用场景选择"训练作业"、"模型部署"、"模型部署 旧版"时自动安装。
#### 组件说明
表1Volcano组件 
| 容器组件               | 说明                                  | 资源类型       |
|:---|:---|:---|
| volcano-scheduler  | 负责Pod调度。                            | Deployment |
| volcano-controller | 负责CRD资源的同步。                         | Deployment |
| volcano-admission  | Webhook server端，负责Pod、Job等资源的校验和更改。 | Deployment |
   
#### 版本记录
表2Volcano调度器版本记录 
| 插件版本    | 更新特性                                                                                                                                                                                                                                                                                         |
|:---|:---|
| 1.19.13 | 支持昇腾NPU双DIE拓扑场景的紧凑型缩容能力; 支持训练作业两级分组网络拓扑感知调度能力                                                                                                                                                                                                                                                |
| 1.19.6  | 支持NPU逻辑卡池弹性调度能力; 支持训练作业两级分组网络拓扑感知调度能力;支持Kubernetes v1.33。                                                                                                                                                                                                                                    |
| 1.18.3  | 支持NPU资源紧凑型缩容能力; 支持xGPU多卡抢占能力                                                                                                                                                                                                                                                                 |
| 1.17.11 | 优化机柜亲和与装箱能力; 昇腾NPU抢占能力优化; 支持Kubernetes v1.32; 支持昇腾高密机型拓扑亲和调度能力。                                                                                                                                                                                                                              |
| 1.16.8  | - 优化超节点资源调度能力  - 支持Kubernetes v1.31               |
| 1.15.8  | 支持昇腾NPU双DIE亲和调度能力                                                                                                                                                                                                                                                                            |
| 1.15.6  | 新增基于应用资源画像的超卖能力                                                                                                                                                                                                                                                                              |
| 1.13.5  | - 支持自定义资源按照节点优先级缩容  - 优化抢占与节点扩容联动能力            |
| 1.12.18 | - 适配CCE v1.29集群  - 默认开启抢占功能                      |
| 1.12.1  | 应用弹性扩缩容性能优化                                                                                                                                                                                                                                                                                  |
| 1.11.9  | - 优化NPU芯片rank table排序能力  - 支持应用弹性伸缩场景下的优先级调度   |
| 1.10.10 | 修复本地持久卷插件未计算预绑定到节点的pod的问题                                                                                                                                                                                                                                                                    |
| 1.10.7  | 修复本地持久卷插件未计算预绑定到节点的pod的问题                                                                                                                                                                                                                                                                    |
| 1.7.1   | Volcano支持v1.25集群                                                                                                                                                                                                                                                                             |
   
