IP Library Granted Patent US 9,239,736
Granted Patent B2
US 9,239,736 · App. 14/228,454 · Granted Jan 19, 2016

System and method of providing a fixed time offset based dedicated co-allocation of a common resource set

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,239,736
App. No.
14/228,454
Granted
Jan 19, 2016
Kind
B2
Abstract

Disclosed are a system, method and computer-readable medium relating to managing resources within a compute environment having a group of nodes or computing devices. The method comprises, for each node in the compute environment: traversing a list jobs having a fixed time relationship, wherein for each job in the list, the following steps occur: obtaining a range list of available timeframes for each job, converting each availability timeframe to a start range, shifting the resulting start range in time by a job offset, for a first job, copying the resulting start range into a node range, and for all subsequent jobs, logically AND'ing the start range with the node range. Next, the method comprises logically OR'ing the node range with a global range, generating a list of acceptable resources on which to start and the timeframe at which to start and creating reservations according to the list of acceptable resources for the resources in the group of computing devices and associated job offsets.

Claims (40)

1. A method comprising:

generating which is to consume compute resources in a compute environment a first start range of each instance of a workload in a list of workloads;

determining a second start range using a node range that indicates available compute resources of a node in the compute environment;

logically AND'ing the second start range with the node range to yield a second node range;

logically OR'ing the second node range with a global node range to yield a third node range, wherein the global node range reflects timeframes and compute resources available to all instances of the workloads that can simultaneously consume compute resources on a same set of allocated compute resources;

generating a list of compute resources using the third node range on which to start instances of the workload from the list of workloads to consume compute resources and a timeframe at which to start the jobs; and

establishing a reservation in the compute environment using the list of compute resources.

2. The method of claim 1 , wherein the list of workloads has a fixed time relationship between at least two instances of a workload in the list of workloads, wherein at least one of the steps of claim 1 are performed for each instance of a workload in the list of workloads.

3. The method of claim 1 , further comprising shifting the first start range in time by an offset to yield a shifted first start range.

4. The method of claim 3 , wherein the offset is used to establish the reservation.

5. The method of claim 1 , wherein parameters of each instance of a workload which are used to identify a history of available timeframes comprise at least one of duration, resource requirements, allocated resources and actions.

6. The method of claim 2 , wherein the fixed time relationship between each of the at least two instances of a workload is established by specifying and enforcing an offset-based relationship between the at least two instances of a workload.

7. The method of claim 2 , further comprising determining whether an instance of a workload of the least two instances of a workload has a highest priority, and if yes, providing first access to all currently available compute resources to the instances of a workload with the highest priority.

8. The method of claim 2 , wherein the fixed time relationship between each of the at least two instances of a workload results in at least one of workload overlap, workload juxtaposition and an offset-based relationship between instances of a workload.

9. A non-transitory computer-readable medium storing instructions which, when executed by a processor, cause the processor to perform operations comprising:

generating which is to consume compute resources in a compute environment a first start range of each instance of a workload in a list of workloads;

determining a second start range using a node range that indicates available compute resources of a node in the compute environment;

logically AND'ing the second start range with the node range to yield a second node range;

logically OR'ing the second node range with a global node range to yield a third node range, wherein the global node range reflects timeframes and compute resources available to all instances of the workloads that can simultaneously consume compute resources on a same set of allocated compute resources;

generating a list of compute resources using the third node range on which to start instances of the workload from the list of workloads to consume compute resources and a timeframe at which to start the jobs; and

establishing a reservation in the compute environment using the list of compute resources.

10. The non-transitory computer-readable medium of claim 9 , wherein the list of workloads has a fixed time relationship between at least two instances of a workload in the list of workloads, wherein at least one of the steps of claim 1 are performed for each instance of a workload in the list of workloads.

11. The non-transitory computer-readable medium of claim 9 , wherein the computer-readable medium stores instructions which cause the operations to further comprise shifting the first start range in time by an offset to yield a shifted first start range.

12. The non-transitory computer-readable medium of claim 9 , wherein the computer-readable medium stores instructions which cause the operations to further comprise the offset to be established using the reservation.

13. The non-transitory computer-readable medium of claim 9 , wherein parameters of each workload which are used to identify a history of available timeframes comprise at least one of duration, resource requirements, allocated resources and actions.

14. The non-transitory computer-readable medium of claim 9 , wherein the fixed time relationship between each of the at least two instances of a workload is established by specifying and enforcing an offset-based relationship between the at least two instances of a workload.

15. The non-transitory computer-readable medium of claim 9 , wherein the computer-readable medium stores instructions which cause the operations to further comprise determining whether an instance of a workload of the least two instances of a workload has a highest priority, and if yes, providing first access to all currently available compute resources to the instance of a workload with the highest priority.

16. The non-transitory computer-readable medium of claim 9 , wherein the fixed time relationship between each of the at least two instances of a workload results in at least one of workload overlap, workload juxtaposition and an offset-based relationship between instances of a workload.

17. 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:

generating which is to consume compute resources in a compute environment a first start range of each instance of a workload in a list of workloads;

determining a second start range using a node range that indicates available compute resources of a node in the compute environment;

logically AND'ing the second start range with the node range to yield a second node range;

logically OR'ing the second node range with a global node range to yield a third node range, wherein the global node range reflects timeframes and compute resources available to all instances of the workloads that can simultaneously consume compute resources on a same set of allocated compute resources;

generating a list of compute resources using the third node range on which to start instances of the workload from the list of workloads to consume compute resources and a timeframe at which to start the jobs; and

establishing a reservation in the compute environment using the list of compute resources.

18. The system of claim 17 , wherein the list of workloads has a fixed time relationship between at least two instances of a workload in the list of workloads, wherein at least one of the steps of claim 1 are performed for each instance of a workload in the list of workloads.

19. The system of claim 18 , when the computer-readable medium stores further instructions which cause the processor to perform further operations comprising shifting the first start range in time by an offset to yield a shifted first start range.

20. The system of claim 17 , wherein the offset is established using the reservation.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2018
From: SILICON VALLEY BANK
To: ADAPTIVE COMPUTING ENTERPRISES, INC
Reel/Frame 045949/0257 →
CHANGE OF NAME Recorded Jul 7, 2017
From: CLUSTER RESOURCES, INC.
To: ADAPTIVE COMPUTING ENTERPRISES, INC.
Reel/Frame 043108/0176 →
MERGER Recorded Jul 7, 2017
From: ADAPTIVE COMPUTING ENTERPRISES, INC. (UT)
To: ADAPTIVE COMPUTING ENTERPRISES, INC (DE)
Reel/Frame 043108/0283 →
CONFIRMATORY ASSIGNMENT Recorded Mar 14, 2017
From: JACKSON, DAVID B.
To: CLUSTER RESOURCES, INC.
Reel/Frame 042006/0514 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2016
From: ADAPTIVE COMPUTING ENTERPRISES, INC.
To: III HOLDINGS 12, LLC
Reel/Frame 040754/0973 →
SECURITY INTEREST Recorded May 11, 2015
From: ADAPTIVE COMPUTING ENTERPRISES, INC.
To: SILICON VALLEY BANK
Reel/Frame 035634/0954 →
CHANGE OF NAME Recorded Nov 21, 2014
From: CLUSTER RESOURCES, INC.
To: ADAPTIVE COMPUTING ENTERPRISES, INC.
Reel/Frame 034315/0126 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2014
From: JACKSON, DAVID B.
To: CLUSTER RESOURCES, INC.
Reel/Frame 034223/0454 →