System and method for providing dynamic provisioning within a compute environment
First Claim
1. A method of managing provisioning resources in a compute environment, the method comprising:
- analyzing a queue of jobs at a current time to determine an availability of compute resources within the compute environment for each job based on a reservation of compute resources established for each job to yield reserved compute resources, the each job to consume the reserved compute resources at a future time, which is later than the current time, to yield an analysis;
based on the analysis, determining an ability of the compute environment to satisfy all service level agreements that identify promised service levels to users of the compute environment and target service levels within a current configuration of the compute environment;
determining possible resource provisioning changes in the compute environment to improve service level fulfillment for jobs to be processed in the compute environment;
determining a cost of the possible resource provisioning changes; and
if the possible resource provisioning changes improve overall delivery of service levels within the compute environment based on the cost, then provisioning at least one compute resource in the compute environment prior to all the jobs consuming compute resources in the compute environment and according to a generated schedule of times.
7 Assignments
0 Petitions
Accused Products
Abstract
The disclosure relates to systems, methods and computer-readable media for dynamically provisioning resources within a compute environment. The method aspect of the disclosure comprises A method of dynamically provisioning resources within a compute environment, the method comprises analyzing a queue of jobs to determine an availability of compute resources for each job, determining an availability of a scheduler of the compute environment to satisfy all service level agreements (SLAs) and target service levels within a current configuration of the compute resources, determining possible resource provisioning changes to improve SLA fulfillment, determining a cost of provisioning; and if provisioning changes improve overall SLA delivery, then re-provisioning at least one compute resource.
-
Citations
30 Claims
-
1. A method of managing provisioning resources in a compute environment, the method comprising:
-
analyzing a queue of jobs at a current time to determine an availability of compute resources within the compute environment for each job based on a reservation of compute resources established for each job to yield reserved compute resources, the each job to consume the reserved compute resources at a future time, which is later than the current time, to yield an analysis; based on the analysis, determining an ability of the compute environment to satisfy all service level agreements that identify promised service levels to users of the compute environment and target service levels within a current configuration of the compute environment; determining possible resource provisioning changes in the compute environment to improve service level fulfillment for jobs to be processed in the compute environment; determining a cost of the possible resource provisioning changes; and if the possible resource provisioning changes improve overall delivery of service levels within the compute environment based on the cost, then provisioning at least one compute resource in the compute environment prior to all the jobs consuming compute resources in the compute environment and according to a generated schedule of times. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A non-transitory computer-storage medium storing instructions for controlling a computing device to manage a managing a compute environment, the instructions comprising:
-
analyzing a queue of jobs at a current time to determine an availability of compute resources within the compute environment for each job based on a reservation of compute resources established for each job to yield reserved compute resources, the each job to consume the reserved compute resources at a future time, which is later than the current time, to yield an analysis; based on the analysis, determining an ability of the compute environment to satisfy all service level agreements that identify promised service levels to users of the compute environment and target service levels within a current configuration of the compute environment; determining possible resource provisioning changes in the compute environment to improve service level fulfillment for jobs to be processed in the compute environment; determining a cost of the possible resource provisioning changes; and if the possible resource provisioning changes improve overall delivery of service levels within the compute environment based on the cost, then provisioning at least one compute resource in the compute environment prior to all the jobs consuming compute resources in the compute environment and according to a generated schedule of times.
-
-
28. A system that manages a compute environment, the system comprising:
-
a processor; a first module that controls the processor to analyze a queue of jobs at a current time to determine an availability of compute resources within the compute environment for each job based on a reservation of compute resources established for each job to consume the reserved compute resources at a future time according to the reservation to yield an analysis; a second module, based on the analysis, that controls the processor to determine an ability of the compute environment to satisfy (1) all service level agreements (SLAs) that identify promised service levels to users of the compute environment and (2) target service levels within a current configuration of the compute environment; a third module that controls the processor to determine possible resource provisioning changes in the compute environment to improve service level fulfillment for jobs to be processed in the compute environment; a fourth module that controls the processor to determine a cost of the possible resource provisioning changes; and a fifth module that controls the processor to provision at least one compute resource in the compute environment prior to all the jobs consuming compute resources in the compute environment and according to a generated schedule of times, if the possible resource provisioning changes improve overall delivery of service levels within the compute environment based on the cost.
-
-
29. A method of managing a compute environment, the method comprises:
-
establishing at a current time a reservation for compute resources in a multi-node compute environment, the reservation reserving at a future time, which is later than the current time, compute resources for a job to consume; analyzing the compute environment and the reservation to determine whether additional resources can be provisioned to improve how well the multi-node compute environment matches the job; determining whether a cost of provisioning additional resources outweighs any improvement in how well the multi-node compute environment matches the job; and if the cost does not outweigh the improvement, then provisioning the additional resources for the job to consume the compute resources, wherein the provisioning occurs prior to the job consuming the compute resources and according to a generated schedule of times.
-
-
30. A method of managing a compute environment, the method comprising:
-
analyzing, at a first time, the compute environment for a job to determine a possibility of re-provisioning at least part of the compute environment for the job, wherein a reservation of compute resources exists for the job to consume reserved compute resources at a second time, which is later than the first time; if re-provisioning at least part of the compute environment for the job is possible, then determining a cost of the re-provisioning; and if the cost of the re-provisioning does not outweigh an improvement in the provisioned service level, then reserving new compute resources in the compute environment according to a generated schedule of times to yield reserved new compute resources and re-provisioning at least some of the reserved new compute resources to yield reserved, re-provisioned compute resources, wherein the job consumes the reserved, re-provisioned compute resources.
-
Specification