Volcano - 高性能任务调度引擎


Apache
Linux
Google Go

软件简介

Volcano 是基于 Kubernetes 的批处理系统,源自于华为云 AI 容器。Volcano 方便
AI、大数据、基因、渲染等诸多行业通用计算框架接入,提供高性能任务调度引擎,高性能异构芯片管理,高性能任务运行管理等能力。

整体架构

Volcano 提供一整套目前 K8S 在批量和弹性工作负载处理中缺失的机制,包括:

  1. 机器学习/深度学习
  2. 生物信息学/基因组学
  3. 其他“大数据”应用

这些类型的应用程序通常运行在Volcano集成的Tensorflow,Spark,PyTorch,MPI等通用域框架上。

Volcano为Kubernetes添加的机制和功能的一些例子:

  1. 作业管理的扩展和改进,如:
    1. Multi-pod 作业
    2. 生命周期管理扩展,包括挂起、恢复和重启
    3. 提升错误处理
    4. 作业的索引
    5. 任务依赖
  2. 调度扩展
    1. 联合调度
    2. 公平调度
    3. 队列调度
    4. 抢先和收回
    5. 预订和回填
    6. 基于拓扑逻辑的调度
  3. 运行时扩展
    1. 支持Singularity等专用容器运行时,具有GPU加速器扩展和增强的安全功能
  4. 其他
    1. 数据局部感知和智能调度
    2. 优化数据吞吐量,往返延迟等

Volcano建立在使用多个系统和平台大规模运行各种高性能工作负载的十五年经验之上,并结合了开源社区的最佳创意和实践。