Skip to main content
Account

Volcano

Volcano is a Kubernetes batch scheduler for HPC, AI and big data jobs. Learn gang scheduling, queues, preemption and framework integrations.

Status
Stable
Category
Orchestration & Management
Subcategory
Scheduling & Orchestration
License
Apache-2.0
Technology matrix Skip Just not for me See the matrix

Volcano is a batch scheduling system for Kubernetes aimed at HPC, AI, and big data workloads that the default kube-scheduler handles poorly. These workloads want group semantics: a training job needs all of its workers to start together or none of them, and a distributed job should not deadlock against another job that has grabbed half the GPUs each.

Volcano addresses this with gang scheduling, fair-share and capacity queues, preemption, job dependencies, and topology-aware placement that takes GPU and NUMA locality into account. It introduces a PodGroup CRD and a Job CRD so that a set of Pods can be scheduled atomically, and ships framework integrations for TensorFlow, PyTorch, MPI, Spark, Flink, Ray, and Argo workflows, so jobs from those frameworks can be submitted natively and queued by Volcano.

It originated at Huawei and is a CNCF incubating project, commonly used as the scheduler for Kubernetes-based AI training platforms and HPC clusters.

Scheduling & Orchestration

Email signup loads here. You can also manage email preferences in account settings.

Build Volcano? I'll show you where engineers get stuck with it โ†’ Back free content for the community โ†’