Co-allocating a reservation spanning different compute resources types
First Claim
1. A method comprising:
- receiving a request for resources to execute a workload within a compute environment;
identifying feasible resources within the compute environment for the request to yield a first identified feasible resource and a second identified feasible resource;
analyzing the first identified feasible resource for a first effective speed in fulfilling the request and the second identified feasible resource for a second effective speed in fulfilling the request;
based on the request and each identified feasible resource with the respective effective speed, determining a first completion time for the first identified feasible resource having a first resource type and a second completion time for the second identified feasible resource having a second resource type required to yield a determination comprising a potential completion time range for the execution of the workload, wherein the first resource type is one of a processor, a memory, bandwidth, and a hard drive, and the second resource type is of a different type from the first resource type;
analyzing other workload commitments already made by each identified feasible resource;
generating a co-allocation map for the first identified feasible resource and the second identified feasible resource that can meet the request based on the potential completion time range determination and the analysis of other workload commitments; and
allocating the first identified feasible resource and the second identified feasible resource based on the co-allocation map.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method of reserving resources in a compute environment are disclosed. The method embodiment comprises receiving a request for resources within a computer environment, determining at least one completion time associated with at least one resource type required by the request, and reserving resources within the computer environment based on the determine of at least the completion time. A scaled wall clock time on a per resource basis may also be used to determine what resources to reserve. The system may determine whether to perform a start time analysis or a completion time analysis or a hybrid analysis in the process of generating a co-allocation map between a first type of resource and a second type of resource in preparation for reserving resources according to the generated co-allocation map.
-
Citations
15 Claims
-
1. A method comprising:
-
receiving a request for resources to execute a workload within a compute environment; identifying feasible resources within the compute environment for the request to yield a first identified feasible resource and a second identified feasible resource; analyzing the first identified feasible resource for a first effective speed in fulfilling the request and the second identified feasible resource for a second effective speed in fulfilling the request; based on the request and each identified feasible resource with the respective effective speed, determining a first completion time for the first identified feasible resource having a first resource type and a second completion time for the second identified feasible resource having a second resource type required to yield a determination comprising a potential completion time range for the execution of the workload, wherein the first resource type is one of a processor, a memory, bandwidth, and a hard drive, and the second resource type is of a different type from the first resource type; analyzing other workload commitments already made by each identified feasible resource; generating a co-allocation map for the first identified feasible resource and the second identified feasible resource that can meet the request based on the potential completion time range determination and the analysis of other workload commitments; and allocating the first identified feasible resource and the second identified feasible resource based on the co-allocation map. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
-
a processor; and a computer-readable storage medium storing instructions, which, when executed by the processor, cause the processor to perform operations comprising; receiving a request for resources to execute a workload within a compute environment; identifying feasible resources within the compute environment for the request to yield a first identified feasible resource and a second identified feasible resource; analyzing the first identified feasible resource for a first effective speed in fulfilling the request and the second identified feasible resource for a second effective speed in fulfilling the request; based on the request and each identified feasible resource with the respective effective speed, determining a first completion time for the first identified feasible resource having a first resource type and a second completion time for the second identified feasible resource having a second resource type required to yield a determination comprising a potential completion time range for the execution of the workload, wherein the first resource type is one of a processor, a memory, bandwidth, and a hard drive, and the second resource type is of a different type from the first resource type; analyzing other workload commitments already made by each identified feasible resource; generating a co-allocation map for the first identified feasible resource and the second identified feasible resource that can meet the request based on the potential completion time range determination and the analysis of other workload commitments; and allocating the first identified feasible resource and the second identified feasible resource based on the co-allocation map. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium storing instructions which, when executed by a processor, cause the processor to perform operations comprising:
-
receiving a request for resources to execute a workload within a compute environment; identifying feasible resources within the compute environment for the request to yield a first identified feasible resource and a second identified feasible resource; analyzing the first identified feasible resource for a first effective speed in fulfilling the request and the second identified feasible resource for a second effective speed in fulfilling the request; based on the request and each identified feasible resource with the respective effective speed, determining a first completion time for the first identified feasible resource having a first resource type and a second completion time for the second identified feasible resource having a second resource type required to yield a determination comprising a potential completion time range for the execution of the workload, wherein the first resource type is one of a processor, a memory, bandwidth, and a hard drive, and the second resource type is of a different type from the first resource type; analyzing other workload commitments already made by each identified feasible resource; generating a co-allocation map for the first identified feasible resource and the second identified feasible resource that can meet the request based on the potential completion time range determination and the analysis of other workload commitments; and allocating the first identified feasible resource and the second identified feasible resource based on the co-allocation map.
-
Specification