|
本文分享自华为云社区《Volcano 社区 v1.7.0 版本正式公布 | 云原生批量计算-云社区-华为云》,作者:华为云云原生团队 。
北京时间2023年1月9日,Volcano社区v1.7.0版本正式公布。此次版本减少了下列新特性:
Pytorch Job插件功用强化Ray on Volcano加强Volcano对Kubernetes通用办事的调度才能反对Volcano的多架构镜像优化队列形态信息等Volcano是业界首个云原生批量计算名目,于2019年6月在上海KubeCon正式开源,并在2020年4月成为CNCF民间名目。2022年4月,Volcano正式晋级为CNCF孵化名目。Volcano社区开源以来,遭到泛滥开发者、协作火伴和用户的认可和反对。截止目前,累计有490+寰球开发者向名目奉献了代码。
hrixaqpu1l4.jpg
Volcano v1.7.0 症结特性引见
▍1. Pytorch Job强化功用插件
Pytorch是当下最盛行的AI框架之一,已被普遍运用于计算机视觉,天然言语处置等深度学习畛域,而且已有愈来愈多的用户开始以容器化的形式在Kubernetes上运转Pytorch来获取更高资源利用率和并行效力。
本次1.7版本提供了Pytorch Job强化功用插件,,免去了容器端口、MASTER_ADDR、MASTER_PORT、WORLD_SIZE、RANK环境变量等泛滥繁琐的手动配置环节,让用户能够用极简的形式在Volcano上运转Pytorch Job。
Volcano社区以后提供了Tensorflow、MPI和Pytorch等Job强化功用插件,帮忙用户更简洁高效的运转对应的训练框架和计算功课。
另外,Volcano还提供了Job插件的扩展开发框架,知足高阶用户针对繁杂场景定制Job插件的需要。
设计文档:Pytorch-plugin
http://GitHub.com/volcano-sh/volcano/blob/master/docs/design/distributed-framework-plugins.md#pytorch-plugin
用户手册:Pytorch-plugin-user-guide
http://github.com/volcano-sh/volcano/blob/master/docs/user-guide/how_to_use_pytorch_plugin.md#pytorch-plugin-user-guide
Issue:#2292
http://github.com/volcano-sh/volcano/issues/2292
▍2. Ray on Volcano
Ray 是一个用于扩展 AI 和 Python 运用顺序的一致框架,能够在任何机器、集群、云提供商和 Kubernetes 上运转,并拥有不停开展完美的社区生态。
以后,机器学习任务负载的计算密集度愈来愈高,单节点开发环境已无奈知足训练工作在资源上的需要,Ray能够将同一套代码从单机运转无缝扩展到集群中运转。Ray是面向通用场景进行的设计,能够高效运转任何类型的任务负载。
该特性完成Volcano和Ray的协同任务,使用Volcano为Ray提供批量调度功用。目前该特性已在KubeRay v0.4(http://github.com/ray-project/kuberay/releases/tag/v0.4.0)版本正式公布。
用户手册:KubeRay-integration-with-Volcano
http://ray-project.github.io/kuberay/guidance/volcano-integration/#kuberay-integration-with-volcano
Issue:
#2429:http://github.com/volcano-sh/volcano/issues/2429#213:http://github.com/ray-project/kuberay/issues/213
▍3. 加强对Kubernetes通用办事的调度才能
在不同的业务场景下,调度器发扬的价值与才能各有不同。好比,在批量计算场景中,Volcano的调度战略和才能更加丰硕;通用办事调度场景中,Kubernetes默许调度器的才能更加平衡。但用户的集群中通常不会只运转一品种型的工作,在既有批量计算工作运转,又需求调度通用办事的场景下,如何统筹不同类型工作的调度是一项值得钻研的任务。
从1.7版本开始,Volcano提供对Kubernetes 默许调度器彻底兼容的才能,可用于调度办理长时间运转的办事。经过本次功用强化,用户能够使用 Volcano 一致调度长期运转的办事和批处置任务负载。
重点加强项如下:
Volcano的 scheduler 和 webhook 反对多调度器
反对 NodeVolumeLimits 插件
反对 VolumeZone 插件
反对 PodTopologySpread 插件
反对 SelectorSpread插件
此外,本次版本将对Kubernetes的反对降级到了v1.25。
Issue:
#2394:http://github.com/volcano-sh/volcano/issues/2394
#2510:http://github.com/volcano-sh/volcano/issues/2510
▍4. 反对Volcano的多架构镜像
该特性经过穿插编译完成一键化编译Volcano多架构镜像功用,好比,能够在amd64架构机器上,一键化编译amd64和arm64架构的Volcano根底镜像,并上传至镜像仓库。用户装置部署时,会按照本身环境中机器架构自动选择适合的镜像运转,对开发者和用户更敌对。
使用手册:building-docker-images
http://github.com/volcano-sh/volcano/blob/master/docs/development/development.md#building-docker-images
Issue:#2435
http://github.com/volcano-sh/volcano/pull/2435
▍5. 优化队列形态信息
该特性在队列形态信息中减少已调配资源实时统计功用,经过该功用,用户能够实时查看队列的资源调配状况,便利办理员静态布局资源,使集群资源失掉最大化利用。Volcano经过队列的形式对集群资源进行调配办理,使用Capability字段来限度每个队列的资源下限,这是咱们进行队列资源调配的硬束缚。以后,在集群运转过程当中,用户无奈分明的理解到队列中已调配资源和Capability中闲暇资源的具体信息,有可能会在队列闲暇资源缺乏时提交少量任务负载,致使功课挂起和autoScaler非预期的触发集群扩容,从而减少云资源的使用本钱。经过该特性中新减少的形态信息,用户能够更明晰无效的办理集群资源,管制使用本钱。
Issue:#2571
http://github.com/volcano-sh/volcano/issues/2571
致谢奉献者
致谢贡
Volcano v1.7.0 版本包孕了来自29位奉献者的数百次代码提交,在此对各位奉献者表现由衷的感激:
奉献者 GitHub ID:
@xiaoxubei
@jsolbrig
@Yikun
@tgaddair
@william-wank8sg
@elinx
@Abirdcfly
@xiaoanyunfei
@qiankunli
@wpeng102
@waiterQ
@hwdef
@WingkaiHo
@Monokaix
@kerthcet
@WulixuanS
@autumn0207
@jinzhejz
@lucming
@jimoosciuc
@LY-today
@dontan001
@wangyang0616
@Akiqqqqqqq
@zhoumingcheng
@jiangkaihua
@Thor-wl
@ccchenjiahuan
@zhifanggao
Release note:v1.7.0 http://github.com/volcano-sh/volcano/releases/tag/v1.7.0
Branch:release-1.7 http://github.com/volcano-sh/volcano/tree/release-1.7
深化理解Volcano
Volcano云原生批量计算名目次要用于 AI、大数据、基因、渲染等诸多高机能计算场景,对主流通用计算框架均有很好的反对。社区已吸引2.6万+寰球开发者,并获取2.8k Star和670+ Fork,参预奉献企业包罗华为、AWS、百度、腾讯、京东、小红书等。目前,Volcano在人工智能、大数据、基因测序等海量数据计算和剖析场景已失掉疾速运用,已实现对Spark、Flink、Tensorflow、PyTorch、Argo、MindSpore、Paddlepaddle 、Kubeflow、MPI、Horovod、mxnet、KubeGene、Ray等泛滥主流计算框架的反对,并构建起完美的上上游生态。
点击下方,第一时间理解华为云陈腐技术~
华为云博客_大数据博客_AI博客_云计算博客_开发者核心-华为云 |
|