Resource reclaim for multidimensional scheduling
When a consumer has unsatisfied demand and deserves more resources, it tries to reclaim resources from other consumers.
In multidimensional scheduling, resources are reclaimed from other
consumers as follows:
- If the consumer owns the resources, it deserves what is being used by other consumers.
- If the consumer is using share pool resources (either private pool or public pool), it deserves more resource if it is under-allocated when compared to other consumers. A consumer is considered under-allocated if it has higher priority than other consumers or if consumers have the same priority, it has less (share usage)/(share ratio).
This is the order for reclaiming resources:
- Reclaim lent out resources owned by the consumer according to resource group preference level.
- Reclaim lent out resources from share pools, as follows:
- Reclaim from the closest private pool, according to resource group preference level.
- Reclaim from sibling consumers sharing the same private pool.
- Reclaim from other consumers in the share pool. From each pool
that this consumer is trying to reclaim, it chooses the resource that
is most over-used.Note: If an over-allocated consumer would become more under-allocated than the reclaiming consumer as a result of the reclaim, the reclaim is not executed.