IP Library Granted Patent US 11,966,776
Granted Patent B2
US 11,966,776 · App. 17/305,784 · Granted Apr 23, 2024

Learning agent based application scheduling

Inventors: Aporva Amarnath (Ann Arbor, MI); Augusto Vega (Yorktown Heights, NY); Alper Buyuktosunoglu (Yorktown Heights, NY); Hubertus Franke (Yorktown Heights, NY); John-David Wellman (Yorktown Heights, NY); Pradip Bose (Yorktown Heights, NY)
Assignee: International Business Machines Corporation
G06F9/4881G06F9/44505G06F9/485G06N20/00
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 11,966,776
App. No.
17/305,784
Granted
Apr 23, 2024
Kind
B2
Abstract

Tasks of directed acyclic graphs (DAGs) may be dynamically scheduled based on a plurality of constraints and conditions, task prioritization policies, task execution estimates, and configurations of a heterogenous system. A machine learning component may be initialized to dynamically schedule the tasks of the DAGs.

Claims (50)

1. A method for learning agent based application scheduling in heterogenous systems by one or more processors comprising:

initializing a machine learning mechanism to:

learn one or more machine learning processing directed acyclic graph (DAG) processing policies; and

determine whether to drop and reject one or more of the plurality of DAGs; and

dynamically scheduling one or more tasks of the plurality of DAGs based on a plurality of constraints and conditions, task prioritization policies, task execution estimates, and configurations of a heterogenous system, the scheduling performed using a machine learning operation.

2. The method of claim 1 , further including tracking each task dependencies in each of the plurality of DAGs, wherein the DAG is comprised of a collection of one or more nodes connected by one or more edges, each of the nodes represents one or more tasks ordered into a sequence, and each of the edges connected to a node represents one or more constraints on the task represented by the node.

3. The method of claim 1 , further including determining task priorities, task execution timelines, task wait times, and task deadlines for each of the one or more tasks of the plurality of DAGs.

4. The method of claim 1 , further including:

ranking the one or more tasks in the plurality of DAGs based on the plurality of constraints and conditions, the task prioritization policies, the task execution estimates, and the configurations of the heterogenous system; and

determining one or more processing elements of the heterogenous system to execute the one or more tasks in the plurality of DAGs based on the ranking.

5. The method of claim 1 , further including initializing a machine learning mechanism to learn the plurality of constraints and conditions, the task prioritization policies, the task execution estimates, and the configurations of the heterogenous system.

6. The method of claim 1 , further including initializing a machine learning mechanism to:

estimate an execution time for the one or more tasks of the plurality of DAGs;

select between the plurality of task prioritization policies for dynamically scheduling the one or more tasks; and

determine whether the one or more tasks of the plurality of DAGs are able to execute based on one or more constraints.

7. The method of claim 1 , further including reordering or reranking the one or more tasks in the plurality of DAGs using the machine learning operation based on the plurality of constraints and conditions, the task prioritization policies, the task execution estimates, and the configurations of the heterogenous system.

8. A system for learning agent based application scheduling in heterogenous systems in a computing environment, comprising:

one or more computers with executable instructions that when executed cause the system to:

initialize a machine learning mechanism to:

learn one or more machine learning processing directed acyclic graph (DAG) processing policies; and

determine whether to drop and reject one or more of the plurality of DAGs; and

dynamically schedule one or more tasks of the plurality of DAGs based on a plurality of 1) constraints and conditions, 2) task prioritization policies, 3) task execution estimates, and 4) configurations of a heterogenous system, the scheduling performed using a machine learning operation.

9. The system of claim 8 , wherein the executable instructions when executed cause the system to track each task dependencies in each of the plurality of DAGs, wherein the DAG is comprised of a collection of one or more nodes connected by one or more edges, each of the nodes represents one or more tasks ordered into a sequence, and each of the edges connected to a node represents one or more constraints on the task represented by the node.

10. The system of claim 8 , wherein the executable instructions when executed cause the system to determine task priorities, task execution timelines, task wait times, and task deadlines for each of the one or more tasks of the plurality of DAGs.

11. The system of claim 8 , wherein the executable instructions when executed cause the system to:

rank the one or more tasks in the plurality of DAGs based on the plurality of constraints and conditions, the task prioritization policies, the task execution estimates, and the configurations of the heterogenous system; and

determine one or more processing elements of the heterogenous system to execute the one or more tasks in the plurality of DAGs based on the ranking.

12. The system of claim 8 , wherein the executable instructions when executed cause the system to initialize the machine learning mechanism to learn the plurality of constraints and conditions, the task prioritization policies, the task execution estimates, and the configurations of the heterogenous system.

13. The system of claim 8 , wherein the executable instructions when executed cause the system to initialize a machine learning mechanism to:

estimate an execution time for the one or more tasks of the plurality of DAGs;

select between a plurality of task prioritization policies for dynamically scheduling the one or more tasks; and

determine whether the one or more tasks of the plurality of DAGs are able to execute based on one or more constraints.

14. The system of claim 8 , wherein the executable instructions when executed cause the system to reorder or rerank the one or more tasks in the plurality of DAGs using the machine learning operation based on the plurality of constraints and conditions, the task prioritization policies, the task execution estimates, and the configurations of the heterogenous system.

15. A computer program product for learning agent based application scheduling in heterogenous systems in a computing environment, the computer program product comprising:

one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instruction comprising:

program instructions to initialize a machine learning mechanism to:

learn one or more machine learning processing directed acyclic graph (DAG) processing policies; and

determine whether to drop and reject one or more of the plurality of DAGs; and

program instructions to dynamically schedule one or more tasks of the plurality of DAGs based on a plurality of 1) constraints and conditions, 2) task prioritization policies, 3) task execution estimates, and 4) configurations of a heterogenous system, the scheduling performed using a machine learning operation.

16. The computer program product of claim 15 , further including program instructions to track each task dependencies in each of the plurality of DAGs, wherein the DAG is comprised of a collection of one or more nodes connected by one or more edges, each of the nodes represents one or more tasks ordered into a sequence, and each of the edges connected to a node represents one or more constraints on the task represented by the node.

17. The computer program product of claim 15 , further including program instructions to determine task priorities, task execution timelines, task wait times, and task deadlines for each of the one or more tasks of the plurality of DAGs.

18. The computer program product of claim 15 , further including program instructions to:

rank the one or more tasks in the plurality of DAGs based on the plurality of constraints and conditions, the task prioritization policies, the task execution estimates, and the configurations of the heterogenous system; and

determine one or more processing elements of the heterogenous system to execute the one or more tasks in the plurality of DAGs based on the ranking.

19. The computer program product of claim 15 , further including program instructions to initialize a machine learning mechanism to:

estimate an execution time for the one or more tasks of the plurality of DAGs;

learn one or more machine learning processing DAG processing policies;

select between a plurality of task prioritization policies for dynamically scheduling the one or more tasks; and

determine whether the one or more tasks of the plurality of DAGs are able to execute based on one or more constraints.

20. The computer program product of claim 15 , further including program instructions to reorder or rerank the one or more tasks in the plurality of DAGs using the machine learning operation based on the plurality of constraints and conditions, the task prioritization policies, the task execution estimates, and the configurations of the heterogenous system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2021
From: AMARNATH, APORVA; VEGA, AUGUSTO; BUYUKTOSUNOGLU, ALPER; FRANKE, HUBERTUS; WELLMAN, JOHN-DAVID; BOSE, PRADIP
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 056856/0201 →
Continuity (1)
Related Publication 20230012710A1 · Jan 19, 2023
Cited By (3)
US 12,645,563 US 12,675,318 US 12,717,555