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.
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.
Rich scheduling policies
Volcano supports a variety of scheduling policies:
- Gang scheduling
- Fair-share scheduling
- Queue scheduling
- Preemption scheduling
- Topology-based scheduling
- 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
Volcano can schedule computing resources from multiple architectures:
Compared with existing queue schedulers, Volcano shortens the average scheduling delay through a series of optimizations.
Volcano allows you to use mainstream computing frameworks:
- Open MPI
Volcano has been commercially used as the infrastructure scheduling engine by companies and organizations.