IP Library Granted Patent US 9,672,064
Granted Patent B2
US 9,672,064 · App. 14/797,547 · Granted Jun 6, 2017

Dynamically adaptive, resource aware system and method for scheduling

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,672,064
App. No.
14/797,547
Granted
Jun 6, 2017
Kind
B2
Abstract

The following relates generally to computer system efficiency improvements. Broadly, systems and methods are disclosed that improve efficiency in a cluster of nodes by efficient processing of tasks among nodes in the cluster of nodes. Assignment of tasks to compute nodes may be based on learned CPU capabilities and I/O bandwidth capabilities of the compute nodes in the cluster.

Claims (117)

1. A system for scheduling jobs, said system comprising:

a plurality of interconnected compute nodes defining a cluster of compute nodes, the cluster including a NameNode and a multitude of DataNodes;

the NameNode including at least one processor programmed to:

learn central processing unit (CPU) capabilities and disk input/output (I/O) bandwidth capabilities of compute nodes in the cluster; and

schedule execution of a plurality of tasks on compute nodes of the cluster based on the learned CPU capabilities and I/O bandwidth capabilities of compute nodes of the cluster; and

wherein the system further includes an optimal number of containers determined for compute nodes in the cluster;

wherein the scheduling is further based on the determined optimal number of containers; and

wherein the optimal number of containers is at least in part determined by use of the equation:

X

k

*

=

argmax

x

k

i

x

ki

ρ

(

θ

j

,

π

k

,

L

k

)

where X k * denotes a vector of containers, ρ denotes a predicted task completion time, θ j denotes a resource requirement, π k denotes a resource capability, and L k denotes a load on a node.

2. The system of claim 1 , wherein the learning is performed during an offline training phase.

3. The system of claim 2 , wherein the learning is completed before bringing the cluster online.

4. The system of claim 1 , wherein:

the execution of a plurality of tasks is scheduled such that a throughput of the cluster is increased; and

the throughput is determined based on sizes of tasks of the plurality of tasks.

5. A method for scheduling jobs in a cluster of compute nodes including a NameNode and a multitude of DataNodes, said method comprising:

learning central processing unit (CPU) capabilities and disk input/output (I/O) bandwidth capabilities of compute nodes in the cluster;

scheduling execution of a plurality of tasks on compute nodes of the cluster based on the learned CPU capabilities and I/O bandwidth capabilities of compute nodes of the cluster;

determining an optimal number of containers for compute nodes in the cluster;

wherein the scheduling is further based on the determined optimal number of containers; and

wherein the optimal number of containers is at least in part determined by use of the equation:

X

k

*

=

argmax

x

k

i

x

ki

ρ

(

θ

j

,

π

k

,

L

k

)

where X k * denotes a vector of containers, ρ denotes a predicted task completion time, θ j denotes a resource requirement, π k denotes a resource capability, and L k denotes a load on a node.

6. The method of claim 5 , wherein the learning is performed during an offline training phase.

7. The method of claim 6 , wherein the learning is completed before bringing the cluster online.

8. The method of claim 5 , wherein:

the execution of a plurality of tasks is scheduled such that a throughput of the cluster is increased; and

the throughput is determined based on sizes of tasks of the plurality of tasks.

9. A system for scheduling jobs, said system comprising:

a plurality of interconnected compute nodes defining a cluster of compute nodes, the cluster including a NameNode and a multitude of DataNodes;

at least one processor programmed to:

predict a relative resource usage of map tasks by observing a resource usage of a first map task;

automatically train an adjustable system of task completion time;

learn central processing unit (CPU) capabilities and disk input/output (I/O) bandwidth capabilities of compute nodes in the cluster; and

schedule execution of a plurality of tasks on compute nodes of the cluster based on the learned CPU capabilities and I/O bandwidth capabilities of compute nodes of the cluster; and

wherein the system further includes an optimal number of containers determined for compute nodes in the cluster;

wherein the scheduling is further based on the determined optimal number of containers; and

wherein the optimal number of containers is at least in part determined by use of the equation:

X

k

*

=

argmax

x

k

i

x

ki

ρ

(

θ

j

,

π

k

,

L

k

)

where X k * denotes a vector of containers, ρ denotes a predicted task completion time, θ j denotes a resource requirement, π k denotes a resource capability, and L k denotes a load on a node.

10. The system of claim 9 , wherein the learning is performed during an offline training phase.

11. The system of claim 10 , wherein the learning is completed before bringing the cluster online.

12. The system of claim 9 , wherein:

the execution of a plurality of tasks is scheduled such that a throughput of the cluster is increased; and

the throughput is determined based on sizes of tasks of the plurality of tasks.

Assignments (10)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2025
From: XEROX CORPORATION
To: GENESEE VALLEY INNOVATIONS, LLC
Reel/Frame 073842/0479 →
SECOND LIEN NOTES PATENT SECURITY AGREEMENT Recorded Jul 2, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 071785/0550 →
FIRST LIEN NOTES PATENT SECURITY AGREEMENT Recorded Apr 11, 2025
From: XEROX CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 070824/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVAL OF US PATENTS 9356603, 10026651, 10626048 AND INCLUSION OF US PATENT 7167871 PREVIOUSLY RECORDED ON REEL 064038 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 28, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064161/0001 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064038/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2015
From: GUPTA, SHEKHAR; FRITZ, CHRISTIAN; DE KLEER, JOHAN
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 036069/0439 →