日前,CNCF(云原生计算基金会)正式接纳由华为云贡献的容器批量计算项目Volcano,迎来CNCF首个容器批量计算项目。Volcano 项目的加入,将CNCF的云原生版图进一步扩展至AI、大数据、基因等批量计算领域,为构建“云原生批量计算平台”奠定了基础。
“华为云多年来一直致力于云原生技术推广,不仅在国内最早推出了Kubernetes云原生容器技术的商业化产品云容器引擎CCE和云容器实例CCI,而且在开源社区发起并领导了多个生态项目,帮助各行业更快地落地并实践云原生技术。”华为云CTO张宇昕表示,“Volcano是基于Kubernetes的云原生批量计算引擎,基于华为云在AI、大数据领域的深厚业务积累,补齐了Kubernetes在面向AI、大数据、高性能计算等批量计算任务调度、编排等场景下的短板,向下支持鲲鹏、昇腾、X86等多元算力,向上使能TensorFlow、Spark、华为MindSpore等主流行业计算框架,让数据科学家和算法工程师充分享受到云原生技术所带来的高效计算与极致体验。”
Volcano介绍
随着Kubernetes的成熟,越来越多的企业把Kubernetes作为AI、大数据以及高性能批量计算的下一代基础设施,得益于Kubernetes在应用一致性、跨云迁移便利性、灵活任务调度等方面的优势,使得Kubernetes在大数据、AI、以及高性能批量计算领域快速得到广泛应用。
然而,Kubernetes作为普适的容器化解决方案,应用到大数据、AI、高性能批量计算等专业领域时,仍与业务诉求存在一些差距,主要体现在:
•K8s的原生调度功能无法满足计算要求,
•K8s作业管理能力无法满足AI训练的复杂诉求
•数据管理方面,缺少计算侧数据缓存能力,数据位置感知等功能
•资源管理方面缺少分时共享,利用率低
•硬件异构能力弱
华为云容器团队针对以上问题,推出高性能容器批量计算解决方案,同时,为加快云原生技术在各行业的快速普及,于2019年将解决方案的核心引擎Volcano开源,Volcano在调度、作业管理、数据管理、资源管理四个方面进行了重点优化。
•增强了任务调度能力,如公平的调度(fair-share),组调度(gang-scheduling)
•进一步优化了作业管理能力,如multiple pod template能力, 更灵活的error handling机制
•增加计算侧数据缓存,提升数据的传输与读取效率
•引入多维度的综合评分机制,实现资源更高效的管理和分配
•多元算力支持:支持x86、鲲鹏和昇腾等算力
生态合作
针对不同应用场景,Volcano已与多个主流计算框架社区完成官方合作集成,包括Kubeflow、Spark、PaddlePaddle、Horovod (MPI)、Cromwell 、MindSpore等。
Volcano弥补了Kubernetes在AI场景下的不足,为飞桨分布式深度学习对接Kubernetes提供了更好支持,PaddlePaddle on Volcano方案显著简化了飞桨推荐系统解决方案 ElasticCTR的部署落地,我们非常期待Kubernetes+Volcano+PaddlePaddle的整套开源部署方案更加成熟完善,给AI开发者带来更大便利”。
——飞桨(PaddlePaddle)总架构师于佃海
MindSpore是华为开源的一款支持端边云全场景的深度学习训练推理框架,当前主要应用于计算机视觉、自然语言处理等AI领域,旨在为数据科学家和算法工程师提供设计友好、运行高效的开发体验,提供昇腾AI处理器原生支持及软硬件协同优化。Volcano开源项目将有助于提升Kubernetes对AI任务的调度能力支持,有利于MindSpore等深度学习框架更加有效的部署,为AI和云原生两大领域的携手共创繁荣开源生态打下了坚实的基础。
——MindSpore社区技术委员会主席、华为MindSpore首席科学家陈雷教授
Volcano自2019年6月宣布开源以来,受到了广泛的关注和支持,来自15家大企业/机构的80+核心开发者参与了社区开发及贡献。
商业应用
目前,Volcano已在华为云容器批量计算解决方案商用,并支撑多家国内外头部企业应用于AI、大数据、基因等计算场景。
Volcano支持批量任务与容器的快速发放,最快每秒可发放1000容器,并提供公平调度、队列调度等高级功能,同时与华为鲲鹏、昇腾处理器深度融合,打造更高性能、更高性价比的容器批量计算解决方案。
未来可期
此次CNCF正式将Volcano接纳为云原生领域唯一容器批量计算项目,将极大促进Volcano上下游社区生态构建及合作,吸引广大云原生企业用户深度参与,Volcano将在企业数字化、云原生转型过程中发挥越来越重要的作用,华为云也将在云原生领域持续耕耘、持续引领创新、繁荣生态,助力各行业走向快速智能发展之路。