MECHANISM FOR PROFILING AND ESTIMATING THE RUNTIME NEEDED TO EXECUTE A JOB
First Claim
1. A machine implemented method, comprising:
- receiving a request to execute a new job, the new job having a job profile signature which is composed based upon a plurality of job characteristics of the new job;
selecting a candidate machine on which the new job may be executed, the candidate machine having a machine profile signature which is composed based upon a plurality of machine characteristics of the candidate machine, the candidate machine having an available time slot in which the new job may be executed;
accessing, based at least partially upon the job profile signature of the new job and the machine profile signature of the candidate machine, a set of execution estimation information which provides an estimate of how much time will be needed to execute the new job on the candidate machine, wherein the set of execution estimation information is derived based upon actual execution information from previously executed jobs, wherein the previously executed jobs had the same job profile signature as the new job and were executed on machines having the same machine profile signature as the candidate machine;
determining, based at least partially upon the set of execution estimation information, whether the new job can be fully executed by the candidate machine within the available time slot; and
in response to a determination that the new job can be fully executed by the candidate machine within the available time slot, scheduling the new job to be executed by the candidate machine within the available time slot.
1 Assignment
0 Petitions
Accused Products
Abstract
A mechanism is provided for estimating the amount of time needed to execute a job. The mechanism receives a request to execute a new job. The mechanism processes the request to determine the job profile signature for the new job, which is based on a set of job characteristics of the new job. The mechanism also selects a candidate machine from a plurality of machines in a computing grid which contains an available time slot, and determines a machine profile signature for the candidate machine based on a set of machine characteristics of the candidate machine. The mechanism accesses and obtains from a database execution estimation information based on actual execution information associated with previously executed jobs having identical job profile signatures as the new jobs and which have been executed on machines having identical machine profile signatures as the candidate machine. Based on this execution estimation information, the mechanism derives an estimate of the amount of time need to execute the new job. By estimating the execution time in this manner, the mechanism enhances scheduling efficiencies for jobs submitted to the computing grid.
-
Citations
20 Claims
-
1. A machine implemented method, comprising:
-
receiving a request to execute a new job, the new job having a job profile signature which is composed based upon a plurality of job characteristics of the new job; selecting a candidate machine on which the new job may be executed, the candidate machine having a machine profile signature which is composed based upon a plurality of machine characteristics of the candidate machine, the candidate machine having an available time slot in which the new job may be executed; accessing, based at least partially upon the job profile signature of the new job and the machine profile signature of the candidate machine, a set of execution estimation information which provides an estimate of how much time will be needed to execute the new job on the candidate machine, wherein the set of execution estimation information is derived based upon actual execution information from previously executed jobs, wherein the previously executed jobs had the same job profile signature as the new job and were executed on machines having the same machine profile signature as the candidate machine; determining, based at least partially upon the set of execution estimation information, whether the new job can be fully executed by the candidate machine within the available time slot; and in response to a determination that the new job can be fully executed by the candidate machine within the available time slot, scheduling the new job to be executed by the candidate machine within the available time slot. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 17, 18)
-
-
11. An apparatus comprising:
-
a mechanism for receiving a request to execute a new job, the new job having a job profile signature which is composed based upon a plurality of job characteristics of the new job; a mechanism for selecting a candidate machine on which the new job may be executed, the candidate machine having a machine profile signature which is composed based upon a plurality of machine characteristics of the candidate machine, the candidate machine having an available time slot in which the new job may be executed; a mechanism for accessing, based at least partially upon the job profile signature of the new job and the machine profile signature of the candidate machine, a set of execution estimation information which provides an estimate of how much time will be needed to execute the new job on the candidate machine, wherein the set of execution estimation information is derived based upon actual execution information from previously executed jobs, wherein the previously executed jobs had the same job profile signature as the new job and were executed on machines having the same machine profile signature as the candidate machine; a mechanism for determining, based at least partially upon the set of execution estimation information, whether the new job can be fully executed by the candidate machine within the available time slot; and a mechanism for scheduling the new job to be executed by the candidate machine within the available time slot in response to a determination that the new job can be fully executed by the candidate machine within the available time slot. - View Dependent Claims (12, 13, 14, 15, 16, 19, 20)
-
Specification