Gang Scheduling Implementation
A new way of scheduling applications by taking into account the demand for resources the application expects it will generate over time. It guarantees the expected demand resources for the application by reserving the resources.
There are two parts to this implementation:
- Kubernetes Shim
- Core and scheduling
This document describes the implementation on the core side.
Document goals
This document describes the following implementation design points:
- Define changes required for the shim to core communication (scheduler interface)
- Scheduler storage object changes
- Scheduler logic changes
Excluded design points
Currently, the Kubernetes shim side implementation is not covered in this design document.
Generalised preemption on the core side will not be discussed in this design.