在刚刚结束的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作为普适的容器化解决方案,仍与业务诉求存在一定差距,主要体现在:

  1. K8s的原生调度功能无法满足计算要求
  2. K8s作业管理能力无法满足AI训练的复杂诉求
  3. 数据管理方面,缺少计算侧数据缓存能力,数据位置感知等功能
  4. 资源管理方面缺少分时共享,利用率低
  5. 硬件异构能力弱

Volcano的诞生正是基于这些痛点,在调度、作业管理、数据管理、资源管理四个方面进行了重点优化。

  1. 增强了任务调度能力,如公平的调度(fair-share)、组调度(gang-scheduling)
  2. 进一步优化了作业管理能力,如multiple pod template能力、更灵活的error handling机制
  3. 增加计算侧数据缓存,提升数据的传输与读取效率
  4. 引入多维度的综合评分机制,实现资源更高效的管理和分配
  5. 多元算力支持:支持x86、鲲鹏和昇腾等算力

Volcano v1.0新特性介绍

Volcano v1.0的核心概念和关键特性,主要包含以下要点:

  1. Queue、PodGroup、Volcano Job等核心概念均已实现
  2. 支持Binpack、Conformance、DRF、Gang、Preempt、Reclaim、Priority、Proportion等多种调度策略
  3. 支持Rest API、CLI等多种交互方式
  4. 完成与Spark、Argo、MPI、Flink、Mxnet、Paddlepaddle、Tensorflow、MindSpore等主流高性能计算框架的无缝对接
  5. 支持Job的全生命周期管理和动态扩缩容
  6. 支持GPU异构与共享
  7. 完备的golangCI-lint check、e2e以建立增强代码质量和稳定性

除以上特性外,Volcano始终保持与Kubernetes社区、Golang最新版本保持一致。

Volcano社区和生态建设进展

经过一年多的发展,Volcano的社区和生态建设已经步入快车道。截至目前,社区和生态建设取得了以下成绩:

  1. 社区贡献者80+
  2. 社区贡献参与组织15+,包括华为、百度、腾讯、AWS、IBM、 Oracle等
  3. 获得Star 1100+,Fork 220+
  4. 代码库7个,Release 6个
  5. Issue 320+,PR 590+
  6. 已完成对Spark、Argo、MPI、Flink、Mxnet、Paddlepaddle、Tensorflow、MindSpore、Cromwell等10+主流计算框架的支持
  7. 华为云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、大数据、科学计算、渲染等领域充分享受到云计算带来的极大便利和极致体验,助力企业数字化转型进入新的高度。

展望未来,华为云也将在云原生领域持续耕耘,持续引领创新、繁荣生态,助力各行业走向快速智能发展之路。

点击关注,第一时间了解华为云新鲜技术~

未来云原生世界的“领头羊”:容器批量计算项目Volcano 1.0版本发布的更多相关文章

  1. 重磅!业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目

    摘要:4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个云原生批量计算项目Volcano正式晋级为CNCF孵化项目. 4月7日,云原生计算基金会(CNCF)宣布,由华为云捐献的业界首个 ...

  2. 谈到云原生, 绕不开"容器化"

    传送门 什么是云原生? 云原生设计理念 .NET微服务 Containers 现在谈到云原生, 绕不开"容器". 在<Cloud Native Patterns>一书中 ...

  3. 支持边云协同终身学习特性,KubeEdge子项目Sedna 0.3.0版本发布!

    摘要:随着边缘设备数量指数级增长以及设备性能的提升,边云协同机器学习应运而生,以期打通机器学习的最后一公里. 本文分享自华为云社区<支持边云协同终身学习特性,KubeEdge子项目Sedna 0 ...

  4. 云原生交付加速!容器镜像服务企业版支持 Helm Chart

    2018 年 6 月,Helm 正式加入了 CNCF 孵化项目:2018 年 8 月,据 CNCF 的调研表明,有百分之六十八的开发者选择了 Helm 作为其应用包装方案:2019 年 6 月,阿里云 ...

  5. 未来云原生 | CIF 论坛精彩看点

    当下云原生技术正在飞速发展,那么如何准确理解「云原生」?在发展不够成熟,行业认知差异大的情况下,不论是云原生计算基金会(CNCF),还是行业的任何大咖,都不能给出精确的.便于理解的定义.我们要理解的逻 ...

  6. 云原生时代之Kubernetes容器编排初步探索及部署、使用实战-v1.22

    概述 **本人博客网站 **IT小神 www.itxiaoshen.com Kubernetes官网地址 https://kubernetes.io Kubernetes GitHub源码地址 htt ...

  7. 初探云原生应用管理之:聊聊 Tekton 项目

    [编者的话]“人间四月芳菲尽,山寺桃花始盛开.” 越来越多专门给 Kubernetes 做应用发布的工具开始缤纷呈现,帮助大家管理和发布不断增多的 Kubernetes 应用.在做技术选型的时候,我们 ...

  8. Volcano火山:容器与批量计算的碰撞

    [摘要] Volcano是基于Kubernetes构建的一个通用批量计算系统,它弥补了Kubernetes在“高性能应用”方面的不足,支持TensorFlow.Spark.MindSpore等多个领域 ...

  9. 从Vessel到二代裸金属容器,云原生的新一波技术浪潮涌向何处?

    摘要:云原生大势,深度解读华为云四大容器解决方案如何加速技术产业融合. 云原生,可能是这两年云服务领域最火的词. 相较于传统的应用架构,云原生构建应用简便快捷,部署应用轻松自如.运行应用按需伸缩,是企 ...

随机推荐

  1. 机器学习实战基础(十九):sklearn中数据集

    sklearn提供的自带的数据集   sklearn 的数据集有好多个种 自带的小数据集(packaged dataset):sklearn.datasets.load_<name> 可在 ...

  2. Azure Web App (二)使用部署槽切换部署环境

    一,引言 前天我们将到使用Azure的 Pass 服务 “Web App” 去部署我们的.NET Core Web项目,也同时有介绍到如何在VS中配置登陆中国区的Azure账号,今天接着讲,我们部署完 ...

  3. Python基础-类与对象

    类的基本使用 class Person(): def __init__(self,name,age): self.name = name self.age = age def info(self): ...

  4. Unity - NavMeshAgent-GetStart

    Select scene geometry that should affect the navigation – walkable surfaces and obstacles. Check Nav ...

  5. [Qt2D绘图]-03坐标系统之坐标变换

    大纲:     基本变换         介绍和常用API     窗口-视口转换         窗口         视口         让窗口和视口维持相同宽高比来防止变形   基本变换 默认 ...

  6. Linux下C ,C ++, Qt开发环境

    目录 Linux发行版的选择 安装常用的开发工具(这里针对C/C++/Qt) 安装openGL 中文输入法 安装sublime text 安装vscode apt-get常用命令 Qt环境 Qt常见问 ...

  7. Active Directory - Server Remote administration management

    Windows Admin Center: https://www.microsoft.com/en-us/evalcenter/evaluate-windows-admin-center Remot ...

  8. P1776 宝物筛选

    题目: 正文: 啊,多重背包真恶心... 一开始我是把多重背包改成了01背包,然鹅我当时是直接1个1个的往后摞的... 参见以下代码: for(int i=1;i<=n;++i){//平平无奇的 ...

  9. 跳过Google开机设置/验证/向导

    Google 的开机设置向导,亦或称作开机验证,对于刷机党来说最熟悉不过了.一般情况下,刷类原生或是原生系统,再刷 Gapps,开机就需要进行一些 Google 验证.这些验证,与国内的手机厂商所设置 ...

  10. PyQt5基础控件

    QLabel标签 功能:在界面上显示文字.图片.链接等 接口: 方法 描述 setText() 设置显示的内容 setAlignment() 设置文字对齐方式 setToolTip() 设置提示信息 ...