System and method of providing a fixed time offset based dedicated co-allocation of a common resource set
First Claim
1. A method of managing resources within a computing environment, the method comprising:
- A. for each resource in the compute environment;
(1) traversing a list of jobs having a fixed time relationship between at least two jobs in the list of jobs, wherein for each job in the list of jobs, the method comprises;
a. obtaining a range list of available timeframes for the each job to consume the each resource in the compute environment;
b. converting each availability timeframe in the range list of available timeframes to a first start range;
c. shifting the first start range in time by a job offset to yield a shifted first start range;
d. for the each job, determining a second start range based on a node range, wherein the each job has a respective second start range and a respective node range;
(2) for the each job, logically AND'"'"'ing the respective second start range with the respective node range to yield a second node range;
B. logically OR'"'"'ing the second node range with a global node range to yield an acceptable node range, wherein the global node range reflects timeframes and resource quantities available to all jobs including jobs in the list of jobs where the all jobs can simultaneously consume requested resources at specified offsets on a same set of allocated resources;
C. generating a list of acceptable resources based on the acceptable node range on which to start jobs from the list of jobs to consume resources and a timeframe at which to start the jobs; and
D. creating at least one reservation in the compute environment according to the list of acceptable resources and associated job offsets.
8 Assignments
0 Petitions
Accused Products
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.
11 Citations
18 Claims
-
1. A method of managing resources within a computing environment, the method comprising:
-
A. for each resource in the compute environment; (1) traversing a list of jobs having a fixed time relationship between at least two jobs in the list of jobs, wherein for each job in the list of jobs, the method comprises; a. obtaining a range list of available timeframes for the each job to consume the each resource in the compute environment; b. converting each availability timeframe in the range list of available timeframes to a first start range; c. shifting the first start range in time by a job offset to yield a shifted first start range; d. for the each job, determining a second start range based on a node range, wherein the each job has a respective second start range and a respective node range; (2) for the each job, logically AND'"'"'ing the respective second start range with the respective node range to yield a second node range; B. logically OR'"'"'ing the second node range with a global node range to yield an acceptable node range, wherein the global node range reflects timeframes and resource quantities available to all jobs including jobs in the list of jobs where the all jobs can simultaneously consume requested resources at specified offsets on a same set of allocated resources; C. generating a list of acceptable resources based on the acceptable node range on which to start jobs from the list of jobs to consume resources and a timeframe at which to start the jobs; and D. creating at least one reservation in the compute environment according to the list of acceptable resources and associated job offsets. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for managing resources within a computing environment, the system comprising:
-
A. a first module configured, for each resource in the compute environment, to; (1) traverse a list of jobs having a fixed time relationship between at least two jobs in the list of jobs, wherein for each job in the list of jobs, the first module is further configured to; a. obtaining a range list of available timeframes for the each job to consume the each resource in the compute environment; b. converting each availability timeframe in the range list of available timeframes to a first start range; c. shifting the first start range in time by a job offset to yield a shifted first start range; d. for the each job, determining a second start range based on a node range, wherein the each job has a respective second start range and a respective node range; (2) for the each job, logically AND'"'"'ing the respective second start range with the respective node range to yield a second node range; B. a second module configured to logically OR the second node range with a global node range to yield an acceptable node range, wherein the global node range reflects timeframes and resource quantities available to all jobs including jobs in the list of jobs where the all jobs can simultaneously consume requested resources at specified offsets on a same set of allocated resources; C. a third module configured to generate a list of acceptable resources based on the acceptable node range on which to start jobs from the list of jobs to consume resources and a timeframe at which to start the jobs; and D. a fourth module configured to create at least one reservation of resources in the compute environment according to the list of acceptable resources and associated job offsets. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium storing instructions comprising:
-
A. for each resource in the compute environment; (1) traversing a list of jobs having a fixed time relationship between at least two jobs in the list of jobs, wherein for each job in the list of jobs, the method comprises; a. obtaining a range list of available timeframes for the each job to consume the each resource in the compute environment; b. converting each availability timeframe in the range list of available timeframes to a first start range; c. shifting the first start range in time by a job offset to yield a shifted first start range; d. for the each job, determining a second start range based on a node range, wherein the each job has a respective second start range and a respective node range; (2) for the each job, logically AND'"'"'ing the respective second start range with the respective node range to yield a second node range; B. logically OR'"'"'ing the second node range with a global node range to yield an acceptable node range, wherein the global node range is associated with timeframes and resource quantities available to all jobs in addition to jobs in the list of jobs where the all jobs can simultaneously consume requested resources at specified offsets on a same set of allocated resources; C. generating a list of acceptable resources based on the acceptable node range on which to start jobs from the list of jobs to consume resources and a timeframe at which to start the jobs; and D. creating at least one reservation of resources in the compute environment according to the list of acceptable resources and associated job offsets. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification