On 3/25/19 2:14 PM, Alexander Prokhorov
wrote:
Each machine that is willing to be scheduled by the parallel universe declares, via the DedicatedScheduler attribute, the one schedd it is willing to allow parallel jobs from. Because only one schedd can run parallel jobs on any given machine, and because each schedd is single threaded, there is no way to hit deadlock. There are two phases to scheduling dedicated jobs -- first, the acquisition of resources, and second, assigning those resources to job. As the job queue can change between these two phases, it is possible that the dedicated scheduler can acquire resources for job A, but before those resources are given to it by the negotiator, a higher priority job, B, arrives, which will start before A.
|