IP Library Granted Patent US 9,417,926
Granted Patent B2
US 9,417,926 · App. 14/331,751 · Granted Aug 16, 2016

Optimized multi-component co-allocation scheduling with advanced reservations for data transfers and distributed jobs

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,417,926
App. No.
14/331,751
Granted
Aug 16, 2016
Kind
B2
Abstract

Disclosed are systems, methods, computer readable media, and compute environments for establishing a schedule for processing a job in a distributed compute environment. The method embodiment comprises converting a topology of a compute environment to a plurality of endpoint-to-endpoint paths, based on the plurality of endpoint-to-endpoint paths, mapping each replica resource of a plurality of resources to one or more endpoints where each respective resource is available, iteratively identifying schedule costs associated with a relationship between endpoints and resources, and committing a selected schedule cost from the identified schedule costs for processing a job in the compute environment.

Claims (54)

1. A method comprising:

converting a topology of first compute resources in a computer environment to a plurality of endpoint-to-endpoint paths;

based on the plurality of endpoint-to-endpoint paths, mapping each replica resource of the first compute resources to at least one endpoint compute to yield mapped replica resources;

based on the mapped replica resources, evaluating resources in the computer environment to yield identified schedule costs;

receiving a request to use second compute resources of the first compute resources to process a workload; and

using the second compute resources for the workload based on the identified schedule costs.

2. The method of claim 1 , further comprising:

processing the workload on the second compute resources.

3. The method of claim 1 , wherein the first compute resources comprise different resources, each having at least one endpoint associated with a respective resource.

4. The method of claim 1 , wherein the mapped replica resources are one of identical or determined to be sufficiently similar by a similarity analysis based on a threshold.

5. The method of claim 4 , wherein the threshold is one of static and dynamic.

6. The method of claim 1 , wherein each resource of the first compute resources is one of data, a file, a portion of a file, a bandwidth, a CPU time, a software environment, a processor instruction set, a storage space, a contiguous storage space, a license, or a database.

7. The method of claim 1 , further comprising:

before evaluating resource consumption, sorting the mapped replica resources.

8. The method of claim 1 , wherein evaluating resources in the compute environment further comprises:

generating a plurality of replica groupings by organizing resources into groups with identical endpoint locations;

sorting the plurality of replica groupings by availability;

for each of the plurality of replica groupings, generating a task availability range list for a source-to-destination paths;

for each of the plurality of replica groupings, prioritizing a pool of all ranges coming from all endpoints based on at least one of earliest availability, contention metrics, or cost metrics;

for each of the plurality of replica groupings and for each range in the task availability range list:

(a) assigning resources in a current replica grouping thereby consuming available task slots;

(b) identifying a schedule cost for resources assigned in step (a);

(c) reducing task availability from all endpoint-to-endpoint and component level ranges which overlap in space and time; and

(d) continuing to a next endpoint if the schedule cost is greater than or equal to the schedule cost of a current best schedule; and

replacing the current best schedule with an identified endpoint, the schedule cost, and a schedule solution as a new best schedule if the schedule cost is less than the schedule cost of the current best schedule.

9. The method of claim 8 , wherein the plurality of replica groupings is sorted by constraint level from most constrained to least constrained.

10. The method of claim 8 , wherein the pool of all ranges coming from all endpoints is prioritized based on one or more of earliest availability, contention metrics, or cost metrics.

11. The method of claim 8 , further comprising:

recording all schedule costs to yield recorded schedule costs;

soliciting input from a user to select one of the recorded schedule costs to yield a selected schedule; and

replacing the new best schedule with the selected schedule.

12. The method of claim 8 , wherein certain endpoints are favored or avoided based on one or more instructions.

13. A system comprising:

a processor; and

a computer-readable storage device, which stores instructions which, when executed by the processor, cause the processor to perform operations comprising:

converting a topology of first compute resources in a compute environment to a plurality of endpoint-to-endpoint paths;

based on the plurality of endpoint-to-endpoint paths, mapping each replica resource of the first compute resources to at least one endpoint compute to yield mapped replica resources;

based on the mapped replica resources, evaluating resources in the compute environment to yield identified schedule costs;

receiving a request to use second compute resources of the first compute resources to process a workload; and

using the second compute resources for the workload based on the identified schedule costs.

14. The system of claim 13 , wherein the computer-readable storage medium stores further instructions which, when executed by the processor, cause the processor to perform further operations comprising:

processing the workload on reserved compute resources.

15. The system of claim 13 , wherein the first compute resources comprise different resources, each having at least one endpoint associated with a respective resource.

16. The system of claim 13 , wherein the mapped replica resources are one of identical or determined to be sufficiently similar by a similarity analysis based on a threshold.

17. The system of claim 16 , wherein the threshold is one of static and dynamic.

18. The system of claim 13 , wherein each resource of the first compute resources is one of data, a file, a portion of a file, a bandwidth, a CPU time, a software environment, a processor instruction set, a storage space, a contiguous storage space, a license, or a database.

19. The system of claim 13 , wherein the computer-readable storage medium further, which, when executed by the processor, perform an operation comprising:

before evaluating resource consumption, sorting the mapped replica resources.

20. A computer-readable storage device storing instructions which, when executed by a computing device, cause the computing device to perform operations comprising:

converting a topology of first compute resources in a compute environment to a plurality of endpoint-to-endpoint paths;

based on the plurality of endpoint-to-endpoint paths, mapping each replica resource of the first compute resources to at least one endpoint compute to yield mapped replica resources;

based on the mapped replica resources, evaluating resources in the compute environment to yield identified schedule costs;

receiving a request to use second compute resources of the first compute resources to process a workload; and

using the second compute resources for the workload based on the identified schedule costs.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2018
From: SILICON VALLEY BANK
To: ADAPTIVE COMPUTING ENTERPRISES, INC
Reel/Frame 045949/0257 →
MERGER Recorded Jul 7, 2017
From: ADAPTIVE COMPUTING ENTERPRISES, INC. (UT)
To: ADAPTIVE COMPUTING ENTERPRISES, INC (DE)
Reel/Frame 043108/0283 →
CHANGE OF NAME Recorded Jul 7, 2017
From: CLUSTER RESOURCES, INC.
To: ADAPTIVE COMPUTING ENTERPRISES, INC.
Reel/Frame 043108/0176 →
CONFIRMATORY ASSIGNMENT Recorded Mar 14, 2017
From: JACKSON, DAVID B.
To: CLUSTER RESOURCES, INC.
Reel/Frame 042006/0557 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2016
From: ADAPTIVE COMPUTING ENTERPRISES, INC.
To: III HOLDINGS 12, LLC
Reel/Frame 041116/0560 →
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 21, 2014
From: JACKSON, DAVID B.
To: CLUSTER RESOURCES, INC.
Reel/Frame 034226/0198 →