Volcano 高性能任务调度引擎

程序名称:Volcano

授权协议: Apache

操作系统: Linux

开发语言: Google Go

Volcano 介绍

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

Volcano 官网

https://github.com/volcano-sh/volcano

相关编程语言

BlazeDS 是一个基于服务器的Java 远程控制(remoting...
OVal 是一个可扩展的Java对象数据验证框架,验证的规...
Volta 是一套开发工具,专为开发分布式、实时系统应...
OpenDDS 是一个开源的 C++ 实现的 对象管理组织 OMG...
JADE (Java Agent DEvelopment Framework) 是一个完...
FastMM ,在D2006和2007中已代替了原来的内存管理器。