1. A method for task distribution, the method comprising: determining a total number of a computing system's idle processing units available to be provisioned to existing tasks, including a first set of idle processing units available for executing regular tasks and a second set of idle processing units that constitute a reserve pool; selecting an availability ratio, wherein the availability ratio is less than one; assigning, to a first task in a processing queue, a first number of processing units from the first set, wherein the first number of processing units assigned is not greater than a number of idle processing units in the first set multiplied by the availability ratio, and not less than one such processing unit; determining a remaining number of idle processing units in the first set; and assigning, to a second task in the processing queue, a second number of processing units from the first set, wherein the second number of processing units assigned is not greater than the remaining number of idle processing units in the first set multiplied by the availability ratio, and not less than one such processing unit, wherein when no remaining idle processing units in the first set are available for executing regular tasks, a next task is assigned at least one processing unit from the reserve pool.