Updated on 2025-06-13 GMT+08:00

Gang Scheduling

It controls whether to enable gang scheduling. Gang scheduling considers a group of pods as a whole for resource allocation. The algorithm checks whether the number of scheduled pods in a job meets the minimum requirements for running the job. If yes, all pods in the job will be scheduled. If no, the pods will not be scheduled.

Gang scheduling is one of the core scheduling algorithms of Volcano. It meets the scheduling requirements of "All or nothing" in the scheduling process and avoids the waste of cluster resources caused by arbitrary scheduling of pods. It checks whether the number of scheduled pods in a job meets the minimum requirements for running the job. If yes, all pods in the job will be scheduled. If no, the pods will not be scheduled.

Value Range

true or false

Default Value

true

Modifiable

Yes

Scope

CCE standard and CCE Turbo clusters

Suggestions

Configure Gang scheduling algorithm, which is based on pods, for scenarios where multi-process collaboration is required. AI scenarios typically involve complex processes. Data ingestion, data analysts, data splitting, trainers, serving, and logging which require a group of containers to work together are suitable for container-based Gang scheduling. Multi-thread parallel computing communication scenarios under MPI computing framework are also suitable for Gang scheduling because master and slave processes need to work together. Containers in a pod are highly correlated, and there may be resource contention. The overall scheduling allocation can effectively resolve deadlocks.

If cluster resources are insufficient, Gang scheduling can significantly improve the utilization of whatever cluster resources are available.