Co-Allocating a Reservation Spanning Different Compute Resources Types
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.
1 - 20 (canceled)
21 . A method comprising:
receiving a workload request for resources within a network of computers, wherein the workload request requires a first type of resource and a second type of resource having respective speed in fulfilling the workload request, wherein the second type of resource is of a different type of resource from the first type of resource:
determining completion time ranges for one or more jobs of the workload request;
generating a co-allocation map for multiple collections of resources that can meet the workload request based on the completion time ranges; and
reserving resources of the first type of resource and the second type of resource within the network based on the co-allocation map.
22 . The method of claim 21 , further comprising:
analyzing a workload commitment for the first type of resource and the second type of resource.
23 . The method of claim 22 , wherein the analyzing results in a per node availability range.
24 . The method of claim 21 , further comprising: merging at least two mappings of potential completion time ranges for diverse resources in the compute environment.
25 . The method of claim 21 , further comprising: determining at least one start time associated with the workload request using a scaled wall clock limit for the workload request.
26 . The method of claim 21 , wherein the completion time ranges are determined based on a worst case scenario for any particular resource.
27 . 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 workload request for resources within a network of computers, wherein the workload request requires a first type of resource and a second type of resource having respective speed in fulfilling the workload request, wherein the second type of resource is of a different type of resource from the first type of resource;
determining completion time ranges for one or more jobs of the workload request;
generating a co-allocation map for multiple collections of resources that can meet the workload request based on the completion time ranges; and
reserving resources of the first type of resource and the second type of resource within the network based on the co-allocation map.
28 . The system of claim 27 , wherein the computer-readable storage medium further comprises instructions, which, when executed by the processor, perform further operations comprising: analyzing a workload commitment for the first type of resource and the second type of resource.
29 . The system of claim 28 , wherein the analyzing results in a per node availability range.
30 . The system of claim 27 , wherein the computer-readable storage medium further comprises instructions, which, when executed by the processor, perform a method comprising: merging at least two mappings of potential completion time ranges for diverse resources in the compute environment.
31 . The system of claim 27 , wherein the computer-readable storage medium further comprises instructions, which, when executed by the processor, perform a method comprising: determining at least one start time associated with the workload request using a scaled wall clock limit for the workload request.
32 . The system of claim 27 , wherein the completion time ranges are determined based on a worst case scenario for any particular resource.
33 . A non-transitory computer-readable storage medium storing instructions which, when executed by a processor, cause the processor to perform operations comprising:
receiving a workload request for resources within a network of computers, wherein the workload request requires a first type of resource and a second type of resource having respective speed in fulfilling the workload request, wherein the second type of resource is of a different type of resource from the first type of resource;
determining completion time ranges for one or more jobs of the workload request;
generating a co-allocation map for multiple collections of resources that can meet the workload request based on the determinations; and
reserving resources of the first type of resource and the second type of resource within the network based on the co-allocation map.
34 . The non-transitory computer-readable storage medium of claim 33 , storing further instructions, which, when executed by a processor, cause the processor to perform further operations comprising: analyzing a workload commitment for the first type of resource and the second type of resource.
35 . The non-transitory computer-readable storage medium of claim 34 , wherein the analyzing results in a per node availability range.
36 . The non-transitory computer-readable storage medium of claim 33 , storing further instructions, which, when executed by a processor, cause the processor to perform further operations comprising: merging at least two mappings of potential completion time ranges for diverse resources in the compute environment.
37 . The non-transitory computer-readable storage medium of claim 33 , storing further instructions, which, when executed by a processor, cause the processor to perform further operations comprising: determining at least one start time associated with the workload request using a scaled wall clock limit for the workload request.