Allocating computer resources to candidate recipient computer workloads according to expected marginal utilities
First Claim
Patent Images
1. A system comprising:
- computing resources for running computer workloads;
a workload manager for planning an allocation for each of a series of allocation periods of said resources to candidate recipient computer workloads at least in part as a function of expected marginal utilities of allocating resource units of said resources to said workloads, each of said expected marginal utilities corresponding to an expected change in utility resulting from allocating at least one of said resource units to a non-negative number of resource units already allocated to one of said workloads, said workload manager including,a workload monitor for generating utilization data indicating for at least some of said workloads the extent to which that workload utilizes resources assigned to it;
a prediction engine for providing probability distributions for expected demands by said workloads for said resources for future allocation periods;
a workload utility function for at least some of said workloads, each workload utility function specifying for its respective workloads a value of a utility parameter at least in part as a function of a demand level and an allocation level, said expected marginal utilities being determined at least in part from said workload utility functions and said probability distributions; and
a container hierarchy of containers to which said resources can be assigned, said container hierarchy including a root container, intermediate-level containers, and base-level containers within each of which at most one of said workloads runs, said root container containing all other of said containers and said workloads, each of said intermediate-level containers including one or more of said base-level containers, said resources being allocable to at least some of said intermediate-level containers in gross units of said resources, said resources being allocable to said workloads and base-level containers in fine units of said resources, wherein each of said gross units corresponds to multiple fine units.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides for allocating computer resources to computer workloads at least in part as a function of expected marginal utilities of candidate recipient workloads.
-
Citations
11 Claims
-
1. A system comprising:
-
computing resources for running computer workloads; a workload manager for planning an allocation for each of a series of allocation periods of said resources to candidate recipient computer workloads at least in part as a function of expected marginal utilities of allocating resource units of said resources to said workloads, each of said expected marginal utilities corresponding to an expected change in utility resulting from allocating at least one of said resource units to a non-negative number of resource units already allocated to one of said workloads, said workload manager including, a workload monitor for generating utilization data indicating for at least some of said workloads the extent to which that workload utilizes resources assigned to it; a prediction engine for providing probability distributions for expected demands by said workloads for said resources for future allocation periods; a workload utility function for at least some of said workloads, each workload utility function specifying for its respective workloads a value of a utility parameter at least in part as a function of a demand level and an allocation level, said expected marginal utilities being determined at least in part from said workload utility functions and said probability distributions; and a container hierarchy of containers to which said resources can be assigned, said container hierarchy including a root container, intermediate-level containers, and base-level containers within each of which at most one of said workloads runs, said root container containing all other of said containers and said workloads, each of said intermediate-level containers including one or more of said base-level containers, said resources being allocable to at least some of said intermediate-level containers in gross units of said resources, said resources being allocable to said workloads and base-level containers in fine units of said resources, wherein each of said gross units corresponds to multiple fine units. - View Dependent Claims (2, 3)
-
-
4. A system comprising:
-
computing resources for running computer workloads; and a workload manager for planning an allocation for each of a series of allocation periods of said resources to candidate recipient computer workloads at least in part as a function of expected marginal utilities of allocating resource units of said resources to said workloads, each of said expected marginal utilities corresponding to an expected change in utility resulting from allocating at least one of said resource units to a non-negative number of resource units already allocated to one of said workloads, said workload manager being configured to allocate said resources to said workloads according to a series of priority levels of said workloads, the allocating being performed at least in part as a function of marginal utilities affecting allocations within said workloads having a same priority level and not between said workloads having different priority levels.
-
-
5. A method of allocating computing resources to computer workloads comprising:
-
selecting workload utility functions for said workloads, each utility function specifying a utility value at least in part as a function of a demand level and an allocation level; monitoring utilization of said resources by said workloads to generate utilization data; determining expected demand probability distributions for said workloads at least in part as a function of said utilization data; determining said expected marginal utility functions for said workloads at least in part as functions of said distributions and said workload utility functions; planning an allocation of resources to workloads at least in part as a function of expected marginal utilities of allocating resource units of a resource to said workloads, each of said expected marginal utilities corresponding to an expected change in utility resulting from allocating at least one of said resource units to a non-negative number of resource units already allocated to one of said workloads; implementing said allocation; and wherein said workloads are assigned to base-level containers within a hierarchy of containers, said container hierarchy including a root container, intermediate-level containers, and said base-level containers, said root container containing all other of said containers and said workloads, each of said intermediate-level containers including one or more of said base-level containers, said resources being allocable to at least some of said intermediate-level containers in gross units of said resource, said resource being allocable to said workloads and base-level containers in fine units of said resources, wherein each of said gross units corresponds to multiple fine units. - View Dependent Claims (6, 7)
-
-
8. A method of allocating computing resources to computer workloads comprising:
-
planning an allocation of resources to workloads at least in part as a function of expected marginal utilities of allocating resource units of a resource to said workloads, each of said expected marginal utilities corresponding to an expected change in utility resulting from allocating at least one of said resource units to a non-negative number of resource units already allocated to one of said workloads, wherein said planning involves allocating said resources to said workloads according to a series of priority levels of said workloads, said allocating being performed at least in part as a function of marginal utilities affecting allocations within said workloads having a same priority level and not between said workloads having different priority levels; and implementing said allocation.
-
- 9. A computer product comprising non-transitory computer-readable media encoded with a workload manager program of computer-executable instructions for allocating for each of a series of allocation periods said computing resources to candidate recipient computer workloads at least in part as a function of expected marginal utilities of allocating units of a resource to said workloads, each of said expected marginal utilities corresponding to an expected change in utility resulting from allocating at least one of said resource units to a non-negative number of resource units already allocated to one of said workloads wherein said program is configured to allocate said resource units to said workloads according to a series of priority levels of said workloads, said allocating being performed at least in part as a function of marginal utilities affecting allocations within said workloads having a same priority level and not between said workloads having different priority levels.
Specification