Introduction

What is Volcano

Volcano is a Kubernetes native system for high-performance workloads, which has been accepted by Cloud Native Computing Foundation (CNCF) as its first and only official container batch scheduling project. Volcano supports popular computing frameworks such as Spark, TensorFlow, PyTorch, Flink, Argo, MindSpore, and PaddlePaddle. Volcano also supports scheduling of computing resources on different architecture, such as x86, Arm, and Kunpeng.

Why Volcano

Job scheduling and management become increasingly complex and critical for high-performance batch computing. Common requirements are as follows:

  • Support for diverse scheduling algorithms
  • More efficient scheduling
  • Non-intrusive support for mainstream computing frameworks
  • Support for multi-architecture computing

Volcano is designed to cater to these requirements. In addition, Volcano inherits the design of Kubernetes APIs, allowing you to easily run applications that require high-performance computing on Kubernetes.

Features

Rich scheduling policies

Volcano supports a variety of scheduling policies:

  • Gang scheduling
  • Fair-share scheduling
  • Queue scheduling
  • Preemption scheduling
  • Topology-based scheduling
  • Reclaim
  • Backfill
  • Resource reservation

You can also configure plug-ins and actions to use custom scheduling policies.

Enhanced job management

You can use enhanced job features of Volcano for high-performance computing:

  • Multi-pod jobs
  • Improved error handling
  • Indexed jobs

Multi-architecture computing

Volcano can schedule computing resources from multiple architectures:

  • x86
  • Arm
  • Kunpeng
  • Ascend
  • GPU

Faster scheduling

Compared with existing queue schedulers, Volcano shortens the average scheduling delay through a series of optimizations.

Ecosystem

Volcano allows you to use mainstream computing frameworks:

Volcano has been commercially used as the infrastructure scheduling engine by companies and organizations.