| CPC G06F 9/4881 (2013.01) [G06F 11/3423 (2013.01)] | 23 Claims |

|
1. A computer-implemented method comprising:
obtaining, by a resource scheduler and from multiple resource consumers, resource requests for consuming a set of resources, each resource request comprising (i) an indication of a workload comprising one or more tasks to be performed by a resource and (ii) an indication of a start time for the workload;
updating, based on one or more requirements of each workload and for each of a plurality of resource usage time periods for the set of resources, a respective actual utilization rate for the set of resources during the resource usage time period;
for each resource usage time period, comparing the respective actual utilization rate for the resource usage time period to a target utilization rate;
determining, based on the comparing, that the respective actual utilization rate for a given resource usage time period is at least a threshold amount different from the target utilization rate;
for the given resource usage time period:
adjusting a scheduling criterion that conditions subsequent resource requests for the set of resources on the subsequent resource requests satisfying the scheduling criterion for the given resource usage time period based at least on the respective actual utilization rate for the given resource usage time period being at least the threshold amount different from the target utilization rate;
providing the adjusted scheduling criterion to one or more resource consumers;
receiving, from a given resource consumer of the one or more resource consumers, an additional resource request comprising (i) an indication of an additional workload and (ii) an indication of a start time of the additional workload that occurs during the given resource usage time period; and
in response to determining that the additional workload satisfies the adjusted scheduling criterion, effectuating performance of one or more tasks of the additional workload by a given resource of the set of resources.
|