本文主要是介绍智算AI平台介绍:初识volcano,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
提到智算AI平台,肯定离不了Volcano,Volcano与Kubernetes天然兼容,并为高性能计算而生。
一.volcano是什么
Volcano是CNCF 下首个也是唯一的基于Kubernetes的容器批量计算平台,主要用于高性能计算场景。
它提供了Kubernetes目前缺少的一套机制,这些机制通常是机器学习大数据应用、科学计算、特效渲染等多种高性能工作负载所需的。
作为一个通用批处理平台,Volcano与几乎所有的主流计算框 架无缝对接,如Spark 、TensorFlow 、PyTorch 、 Flink 、Argo 、MindSpore 、 PaddlePaddle 等。
--比如我这里就是通过pytorch框架展开的。
二.volcano有什么特性
2.1 丰富的调度策略
Volcano支持各种调度策略,包括:
Gang-scheduling
让一堆相关联的容器或者任务在资源条件满足的时候一起调度成功。资源不满足的情况下,不会存在部分调度成功。
Fair-share scheduling
Queue scheduling
....
得益于可扩展性的架构设计,Volcano支持用户自定义plugin和action以支持更多调度算法。
2.2 增强型的Job管理能力
Volcano提供了增强型的Job管理能力以适配高性能计算场景。这些特性罗列如下:
多pod类型job
增强型的异常处理
可索引Job
2.3 volcano组成部分
Volcano由scheduler、controllermanager、admission组成:
Scheduler Volcano
scheduler通过一系列的action和plugin调度Job, 并为它找到一个最适合的节点。与Kubernetes default-scheduler相比, Volcano与众不同的 地方是它支持针对Job的多种调度算法。
Controllermanager
Volcano controllermanager管理CRD资源的生命周期。它主要由 Queue ControllerManager、 PodGroupControllerManager、 VCJob ControllerManager构成。
由此可看出,volcano涉及了三个重要的功能--Queue,Podgroup, VCjob(我用的是pytorchjob)
Admission Volcano
admission负责对CRD API资源进行校验。
这篇关于智算AI平台介绍:初识volcano的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!