Optimizing job execution in parallel processing with improved job scheduling using job currency hints
First Claim
Patent Images
1. A method comprising:
- obtaining, at an application from a job scheduler of at least one system comprising a programmable processor and prior to sending one or more application jobs to the job scheduler, a job concurrency hint, the job concurrency hint comprising a statistical prediction based on a plurality of job graphs, each of the plurality of job graphs corresponding to a previously processed application job, each of the plurality of job graphs comprising at least one of an elapsed time, a waiting time, and an overhead time for the corresponding previously processed application job, the job concurrency hint adjusted to increase elapsed time as compared to waiting and overhead times, the adjusted job concurrency hint corresponding to a number and a type of application jobs corresponding to fewer and longer application jobs;
selecting, based on the job concurrency hint, one or more application jobs to send to the job scheduler; and
,sending the selected application jobs to the job scheduler for processing by the processor.
1 Assignment
0 Petitions
Accused Products
Abstract
Scheduling jobs from an application based on a job concurrency hint. The job concurrency hint providing an indication of the number and/or size of the jobs that can be handled by the job scheduler. The scheduling of the jobs based on the job concurrency hint including selecting the number and/or size of the jobs to pass to the job scheduler for execution by a thread in a core of a processor.
20 Citations
18 Claims
-
1. A method comprising:
-
obtaining, at an application from a job scheduler of at least one system comprising a programmable processor and prior to sending one or more application jobs to the job scheduler, a job concurrency hint, the job concurrency hint comprising a statistical prediction based on a plurality of job graphs, each of the plurality of job graphs corresponding to a previously processed application job, each of the plurality of job graphs comprising at least one of an elapsed time, a waiting time, and an overhead time for the corresponding previously processed application job, the job concurrency hint adjusted to increase elapsed time as compared to waiting and overhead times, the adjusted job concurrency hint corresponding to a number and a type of application jobs corresponding to fewer and longer application jobs; selecting, based on the job concurrency hint, one or more application jobs to send to the job scheduler; and
,sending the selected application jobs to the job scheduler for processing by the processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
a processor; and
,a memory configured to store computer executable instructions, which, when executed by the processor, cause the processor to perform operations, the operations comprising; obtaining, at an application from a job scheduler of at least one system comprising a programmable processor and prior to sending one or more application jobs to the job scheduler, a job concurrency hint, the job concurrency hint comprising a statistical prediction based on a plurality of job graphs, each of the plurality of job graphs corresponding to a previously processed application job, each of the plurality of job graphs comprising at least one of an elapsed time, a waiting time, and an overhead time for the corresponding previously processed application job, the job concurrency hint adjusted to increase elapsed time as compared to waiting and overhead times, the adjusted job concurrency hint corresponding to a number and a type of application jobs corresponding to fewer and longer application jobs; selecting, based on the job concurrency hint, one or more application jobs to send to the job scheduler; and
,sending the selected application jobs to the job scheduler for processing by the processor. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification