在刚刚结束的CLOUD NATIVE+ OPEN SOURCE Virtual Summit China 2020上,由华为云云原生团队主导的容器批量计算项目Volcano正式发布1.0版本,标志着Volcano项目已经开始走向成熟与稳定。
Volcano项目介绍
Volcano是基于Kubernetes的云原生批量计算引擎,基于华为云在AI、大数据领域的深厚业务积累,补齐了Kubernetes在面向AI、大数据、高性能计算等批量计算任务调度、编排等场景下的短板,向下支持鲲鹏、昇腾、X86等多元算力,向上使能TensorFlow、Spark、华为MindSpore等主流行业计算框架,让数据科学家和算法工程师充分享受到云原生技术所带来的高效计算与极致体验。
Volcano架构示意图
随着Kubernetes作为AI、大数据和高性能批量计算的下一代基础设施的趋势逐渐清晰,越来越多的企业对Kubernetes在深度学习、科学计算、高性能渲染等方面提出了更高的要求。
然而Kubernetes作为普适的容器化解决方案,仍与业务诉求存在一定差距,主要体现在:
- K8s的原生调度功能无法满足计算要求
- K8s作业管理能力无法满足AI训练的复杂诉求
- 数据管理方面,缺少计算侧数据缓存能力,数据位置感知等功能
- 资源管理方面缺少分时共享,利用率低
- 硬件异构能力弱
Volcano的诞生正是基于这些痛点,在调度、作业管理、数据管理、资源管理四个方面进行了重点优化。
- 增强了任务调度能力,如公平的调度(fair-share)、组调度(gang-scheduling)
- 进一步优化了作业管理能力,如multiple pod template能力、更灵活的error handling机制
- 增加计算侧数据缓存,提升数据的传输与读取效率
- 引入多维度的综合评分机制,实现资源更高效的管理和分配
- 多元算力支持:支持x86、鲲鹏和昇腾等算力
Volcano v1.0新特性介绍
Volcano v1.0的核心概念和关键特性,主要包含以下要点:
- Queue、PodGroup、Volcano Job等核心概念均已实现
- 支持Binpack、Conformance、DRF、Gang、Preempt、Reclaim、Priority、Proportion等多种调度策略
- 支持Rest API、CLI等多种交互方式
- 完成与Spark、Argo、MPI、Flink、Mxnet、Paddlepaddle、Tensorflow、MindSpore等主流高性能计算框架的无缝对接
- 支持Job的全生命周期管理和动态扩缩容
- 支持GPU异构与共享
- 完备的golangCI-lint check、e2e以建立增强代码质量和稳定性
除以上特性外,Volcano始终保持与Kubernetes社区、Golang最新版本保持一致。
Volcano社区和生态建设进展
经过一年多的发展,Volcano的社区和生态建设已经步入快车道。截至目前,社区和生态建设取得了以下成绩:
- 社区贡献者80+
- 社区贡献参与组织15+,包括华为、百度、腾讯、AWS、IBM、 Oracle等
- 获得Star 1100+,Fork 220+
- 代码库7个,Release 6个
- Issue 320+,PR 590+
- 已完成对Spark、Argo、MPI、Flink、Mxnet、Paddlepaddle、Tensorflow、MindSpore、Cromwell等10+主流计算框架的支持
- 华为云CCE(云容器引擎)、CCI(云容器实例)、ModelArts等多个云服务已将Volcano集成为基础设施底座并商用,服务领域已涵盖AI、大数据应用、基因计算、批处理等场景,并实现与华为鲲鹏、昇腾处理器深度融合,最快每秒1000个容器的调度发放,成为高性能、极致性价比的批量计算解决方案。
深入了解Volcano
如果想更加深入了解Volcano,可以参考以下资源:
Volcano官网:
https://volcano.sh/
Github:
https://github.com/volcano-sh
Volcano简介:
https://github.com/volcano-sh/volcano
Volcano设计:
https://github.com/volcano-sh/volcano/tree/master/docs/design
Volcano路线图:
https://github.com/volcano-sh/volcano/blob/master/docs/community/roadmap.md
Volcano社区交流微信群:
Volcano CN
未来可期
随着Volcano v1.0的发布,Volcano社区建设与上下游生态的融合必将更加紧密,基于Volcano的商业应用也将极大地促进AI、大数据、科学计算、渲染等领域充分享受到云计算带来的极大便利和极致体验,助力企业数字化转型进入新的高度。
展望未来,华为云也将在云原生领域持续耕耘,持续引领创新、繁荣生态,助力各行业走向快速智能发展之路。