1. A method of operating a scheduler within a computing cluster to schedule a plurality of jobs for concurrent execution on resources of the computing cluster, the method comprising: with at least one processor: receiving for each of a plurality of jobs, a request for a minimum number of computing resources; determining that an executing job of the plurality of jobs is using more than the minimum number of computing resources for that job which are usable by one of the plurality of jobs which has not yet been allocated computing resources; de-allocating an allocated resource from the executing job allocated in excess of the minimum number of computing resources of the executing job, in an attempt to meet the minimum number of computing resources of the one of the plurality of jobs which has not yet been allocated computing resources; allocating the de-allocated resource to the one of the plurality of jobs; computing for each of the plurality of jobs a respective desired allocation of the resources; adjusting resources among the plurality of jobs by: identifying a first job of the plurality of jobs using less than the respective desired allocation of resources; identifying a second job of the plurality of jobs using more than the respective desired allocation of resources; de-allocating a resource from the second job and allocating the de-allocated resource to the first job, wherein: identifying a second job of the plurality of jobs more than the respective desired allocation of resources comprises identifying as the second job a job using a resource usable by the first job, wherein identifying the second job comprises evaluating the plurality of jobs in reverse order of priority, with lowest priority jobs being evaluated first; and de-allocating the resource from the second job comprises de-allocating the resource usable by the first job.