SYSTEM AND METHOD FOR PROACTIVE TASK SCHEDULING
First Claim
1. A system comprising:
- an outlier detection component configured to identify an outlier task from a plurality of tasks based on runtimes of the plurality of tasks;
a cause evaluation component configured to evaluate a cause of the outlier task, wherein the cause of the outlier task is one or more of;
an amount of data processed by the outlier task,contention for resources used to execute the outlier task, ora communication link with congested bandwidth that is used by the outlier task to input or output data, andone or more processing devices configured to execute one or more of the components.
2 Assignments
0 Petitions
Accused Products
Abstract
The described implementations relate to distributed computing. One implementation provides a system that can include an outlier detection component that is configured to identify an outlier task from a plurality of tasks based on runtimes of the plurality of tasks. The system can also include a cause evaluation component that is configured to evaluate a cause of the outlier task. For example, the cause of the outlier task can be an amount of data processed by the outlier task, contention for resources used to execute the outlier task, or a communication link with congested bandwidth that is used by the outlier task to input or output data. The system can also include one or more processing devices configured to execute one or more of the components.
62 Citations
20 Claims
-
1. A system comprising:
-
an outlier detection component configured to identify an outlier task from a plurality of tasks based on runtimes of the plurality of tasks; a cause evaluation component configured to evaluate a cause of the outlier task, wherein the cause of the outlier task is one or more of; an amount of data processed by the outlier task, contention for resources used to execute the outlier task, or a communication link with congested bandwidth that is used by the outlier task to input or output data, and one or more processing devices configured to execute one or more of the components. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. One or more computer-readable storage media comprising instructions which, when executed by one or more processing devices, perform:
-
monitoring execution of a plurality of tasks associated with a job; and determining whether to schedule a copy of an individual one of the tasks based on an estimated remaining time for the individual task to complete, wherein the copy comprises a duplicate of the individual task or a kill and restart of the individual task. - View Dependent Claims (14, 15, 16)
-
-
17. A method comprising:
-
identifying an amount of data that is input or output by individual tasks associated with a job; identifying available bandwidth for input or output of data by one or more processing devices; comparing the amount of data to the available bandwidth; and scheduling the individual tasks on individual processing devices based on the comparing. - View Dependent Claims (18, 19, 20)
-
Specification