In order to ensure fairness and quota guarantees are met in a dynamic cluster, we need to ensure that schedulers can revoke existing revocable allocations in order to obtain their fair share or their quota. Otherwise, schedulers must wait (potentially forever!) until existing allocations are freed. This is a policy that completely favors work conservation, in favor of meeting the fairness and quota guarantees in a bounded amount of time.
As we expose resource constraints to schedulers (MESOS-5524), they will be able to determine when Mesos will allow them to revoke resources. For example:
- If a scheduler is below its fair share, the scheduler may revoke existing revocable resources that are offered to it.
- If a scheduler is below its quota, it can revoke existing revocable resources in order to consume it for quota in a non-revocable manner.
This is orthogonal to optimistic or pessimistic allocation, in that either approaches need to allow the schedulers to perform revocation in this manner. In the pessimistic approach, we may confine what the scheduler can revoke, and in an optimistic approach, we may provide more choice to the scheduler.