Data-aware workload scheduling and execution in heterogeneous environments
First Claim
1. A method for scheduling and executing a computing job in a computing environment, the method comprising:
- receiving, by a computer, a request for scheduling execution of a computing job, wherein the computing job includes a plurality of computing tasks to be executed in a sequence, and wherein at least one computing task requires access to a set of data;
receiving, by the computer, a set of optimization preferences;
identifying, by the computer, information related to the computing environment, wherein the information comprises at least processors available to execute each computing task of the plurality of computing tasks and storage device proximity to the processors;
generating, by the computer, one or more execution mappings for the computing job based, at least in part, on the received request, the information related to the computing environment, current utilization of the processors'"'"' resources, and the set of optimization preferences;
selecting, by the computer, an execution mapping from the one or more execution mappings based, at least in part, on an expected amount of time to execute the computing job and an expected cost associated with executing the computing job; and
executing, by the computer, the computing job according to the selected execution mapping.
1 Assignment
0 Petitions
Accused Products
Abstract
In an approach for scheduling the execution of a workload in a computing environment, a computer receives a request for scheduling execution of a computing job, wherein the computing job includes a plurality of computing tasks to be executed in a sequence, and wherein at least one computing task requires access to a set of data. The computer identifies information related to the computing environment, wherein the information comprises at least processors available to execute each computing task of the plurality of computing tasks and storage device proximity to the processors. The computer determines an execution configuration for the computing job based, at least in part, on the received request, the information related to the computing environment, and current utilization of the processors'"'"' resources. The computer schedules execution of the execution configuration for the computing job.
-
Citations
17 Claims
-
1. A method for scheduling and executing a computing job in a computing environment, the method comprising:
-
receiving, by a computer, a request for scheduling execution of a computing job, wherein the computing job includes a plurality of computing tasks to be executed in a sequence, and wherein at least one computing task requires access to a set of data; receiving, by the computer, a set of optimization preferences; identifying, by the computer, information related to the computing environment, wherein the information comprises at least processors available to execute each computing task of the plurality of computing tasks and storage device proximity to the processors; generating, by the computer, one or more execution mappings for the computing job based, at least in part, on the received request, the information related to the computing environment, current utilization of the processors'"'"' resources, and the set of optimization preferences; selecting, by the computer, an execution mapping from the one or more execution mappings based, at least in part, on an expected amount of time to execute the computing job and an expected cost associated with executing the computing job; and executing, by the computer, the computing job according to the selected execution mapping. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product for scheduling and executing a computing job in a computing environment, the computer program product comprising:
-
one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions comprising; program instructions to receive a request for scheduling execution of a computing job, wherein the computing job includes a plurality of computing tasks to be executed in a sequence, and wherein at least one computing task requires access to a set of data; program instructions to receive a set of optimization preferences; program instructions to identify information related to the computing environment, wherein the information comprises at least processors available to execute each computing task of the plurality of computing tasks and storage device proximity to the processors; program instructions to generate one or more execution mappings for the computing job based, at least in part, on the received request, the information related to the computing environment, current utilization of the processors'"'"' resources, and the set of optimization preferences; program instructions to select an execution mapping from one or more execution mappings based, at least in part, on an expected amount of time to execute the computing job and an expected cost associated with executing the computing job; and program instructions to execute the computing job according to the selected execution mapping. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer system for scheduling and executing a computing job in a computing environment, the computer system comprising:
-
one or more computer processors, one or more computer readable storage media, and program instructions stored on the computer readable storage media for execution by at least one of the one or more processors, the program instructions comprising; program instructions to receive a request for scheduling execution of a computing job, wherein the computing job includes a plurality of computing tasks to be executed in a sequence, and wherein at least one computing task requires access to a set of data; program instructions to receive a set of optimization preferences; program instructions to identify information related to the computing environment, wherein the information comprises at least processors available to execute each computing task of the plurality of computing tasks and storage device proximity to the processors; program instructions to generate one or more execution mappings for the computing job based, at least in part, on the received request, the information related to the computing environment, current utilization of the processors'"'"' resources, and the set of optimization preferences; program instructions to select an execution mapping from one or more execution mappings based, at least in part, on an expected amount of time to execute the computing job and an expected cost associated with executing the computing job; and
program instructions to execute the computing job according to the selected execution mapping. - View Dependent Claims (16, 17)
-
Specification