摘要:往年(2020)7 月初,Volcano 公布了 1.0 版本。1.0 做为里程碑版本,在 Volcano 整个布局中起到了承前启后的作用。此次公布的 1.0 版本反对了 GPU 共享,作业动静扩缩容,批工作抢占等性能,并次要增强了稳定性;同时,在 1.0 公布后 Volcano 也在线下探讨了散布式调度零碎的将来倒退的趋势等。
历史
在剖析趋势之前,咱们先看一下散布式调度零碎的历史。晚期散布式调度零碎以批处理零碎为主,例如九几年的 LSF/SGE/PBS 等,这些批处理零碎大布局的应用在 HPC 畛域,而且对作业级的调度进行大量的钻研工作;后续由批处理零碎延长出多集群、多组织资源共享的需要,便成了网络计算。
网络计算与云计算最大的不同是:网络计算强调多组织的资源共享,而云计算强调云厂商的集中式反对;这也是云计算成为支流的次要起因:多组织之间共享须要齐备的协定和足够的平安反对,而云服务仅须要对用户提供相应服务和平安,并不需要在多个云厂商之间进行共享;随着开源社区的倒退,再将利用接口逐渐对立,e.g. Kubernetes。Hadoop 呈现后,不仅推动了散布式调度零碎中对数据的解决,同时也推动了开源软件的生态。2012 和 2014 是两个重要的节点,Hadoop 将资源管理层与畛域框架层离开,随后的畛域框架也有机会构建本人的生态,e.g. Spark;同时,将资源管理层与畛域框架离开也被宽泛认可。
在容器及 Kuberentes 风行后,凭借其高资源利用率与隔离,环境标准化等劣势,越来越多的人心愿将这些批量计算利用对立到 Kubernetes 平台上。
将来的趋势
多种利用对立调度
随着各行各业的倒退,涌现出越来越多的畛域框架来反对业务的倒退;这些框架都在相应的业务畛域有着不可代替的作用,e.g. Spark, Tensorflow, Flink 等。在业务复杂性能一直减少的状况下,繁多的畛域框架很难应答当初简单的业务场景;因而当初广泛应用多种框架达成业务指标,如下图所示。
但随着各个领域框架集群的不断扩大,以及单个业务的波动性,各个子集群的资源节约比较严重;因而 越来越多的用户心愿通过对立调度零碎来解决资源共享的问题。在技术选型上,Kubernetes 凭借其优良的扩展性取得大部分用户青眼。
异构硬件
在批量计算工作向云原生环境迁徙的过程中,对云原生环境的算力提出了新的要求;各个厂商为了应答这些新的需要,为各个场景提供了不同架构的硬件,例如 鲲鹏,昇腾,X86,GPU 等。当多种利用运行在对立平台上时,须要云原生调度零碎可能对异构硬件资源进行对立的治理与调度,应用各种利用达到最优的资源配比。目前,硬件的信息通过 kubernetes 的 device plugin 机制提供,但 Kubernetes 的 device plugin 仍有一些有余,例如 无奈很好的反对硬件拓扑。在调度方面 Volcano 曾经反对支流的调度策略,并在最新的 1.0 版本中反对了 GPU 共享,大大增加了 GPU 的利用率,无效升高了 GPU 的应用老本。
跨集群 / 跨云
跨集群始终是散布调度零碎解决大规模、灾备等问题的次要解决方案;同时,为了升高厂商绑定的危险,并最大限度兼顾不同云厂商的劣势,多云环境下的负载高效散发逐步成为趋势。在多云的环境中,面向数据地位的优化,作业执行工夫预估等问题都是须要调度零碎解决的问题;在 Volcano 中,将通过多个我的项目实现跨集群、跨云的作业调度,例如 JobForward (#880)。
智能化
调度算法在散布调度零碎中有大量的钻研,从晚期的批处理零碎到近期的 Borg,Volcano 等;晚期的批处理零碎以特定场景的算法优化为主,对于简单的场景须要大量的计算,尽管有大量针对 HPC 和网络的调度优化,但罕用和落地的算法比拟少。随着人工智能的倒退,越来越多的调度零碎将会应用 AI 相应的能力对算法进行优化;在 Volcano 中,将通过 AI 的能力驱动 Volcano 中各个调度算法进行优化,并通过 AI 的能力提供新的调度算法。
总结
散布式调度零碎是一个简单的零碎,须要多个组件共合作以进步整体的效率,例如 利用治理,调度,异构硬件治理,存储等,仅靠调度器无奈实现这些工作。Volcano 作为 CNCF 首个面向批量计算的散布式调度零碎,蕴含了利用治理,作业调度,异构硬件等多个组件和性能;其调度器兼容 kubernetes 调度策略,同时反对在线、离线两种作业类型;控制器提供了对立的作业管理,反对多种作业的接入,包含 MPI, Tensorflow, MidSpore, Spark 等;设施插件提供了对异构硬件的反对,例如 1.0 版中反对了 GPU 共享。因而,Volcano 面向散布式调度零碎的趋势提供了残缺的计划,能够在多种场景下进步作业性能,资源使用率等。
Volcano 特训营:六节课学懂容器批量计算
由 Volcnao 我的项目发起者马达主讲的直播课程正在进行中,课程共有 6 期,从技术原理到实战演练,涵盖 Volcano 全景。
锁定后续课程信息,获取往期回放与讲师 PPT,销假助手微信(k8s2222)并备注“Volcano”。
点击关注,第一工夫理解华为云陈腐技术~