Right now we require every executor and driver to be able to be scheduled before scheduling anything. This is the basis of the idea of gang scheduling.
I contend that gang scheduling doesn't actually provide value and can actually be distilled down into 2 core characteristics:
Zonal scheduling is preserved
Starvation isn't possible (which I am calling gang scaling)
Before this PR
After this PR
==COMMIT_MSG== ==COMMIT_MSG==
Possible downsides?