Method for job impact learning
First Claim
1. A method in a computer system for determining an estimated execution time for a job to run on a computing device, the method comprising:
- determining a job size of the job;
determining a computing resource load for the computing device when the job is to run;
estimating the execution time for the job to run on the computing device, the estimating based on analysis of the actual execution time of another job, the analysis factoring in the determined job size, the job size of the other job, and a computing resource load of a computing device when the other job executed, wherein the execution time for the job is estimated by adjusting the actual execution time of the other job by a result of a projection factor applied to a difference between the computer resource load when the other job executed and the determined computing resource load.
10 Assignments
0 Petitions
Accused Products
Abstract
A method for processing requests to service computational tasks. An application server system receives requests to run various jobs. A job indicates that a certain application program is to be executed with a certain set of input. The application server system includes a master computer and multiple slave computers. The master computer receives requests to run jobs, selects a slave computer to run each job, and then assigns each job to slave computer selected for that job. The master computer of the application server system receives the requests from client computers that may be connected to the application server system via the Internet. A client-side component of the application server system may execute on the client computers to assist users in submitting their requests.
76 Citations
43 Claims
-
1. A method in a computer system for determining an estimated execution time for a job to run on a computing device, the method comprising:
-
determining a job size of the job;
determining a computing resource load for the computing device when the job is to run;
estimating the execution time for the job to run on the computing device, the estimating based on analysis of the actual execution time of another job, the analysis factoring in the determined job size, the job size of the other job, and a computing resource load of a computing device when the other job executed, wherein the execution time for the job is estimated by adjusting the actual execution time of the other job by a result of a projection factor applied to a difference between the computer resource load when the other job executed and the determined computing resource load. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
- 18. A computer-readable medium containing a data structure for use in estimating an execution time of a job, the data structure comprising a plurality of execution times, the execution times being derived from actual execution times of jobs having various job sizes and on computing devices with various computing resource loads, the execution times being grouped according to job size and according to computing resource load, wherein the execution times for a job size grouping at various computing resource loads are calculated by adjusting the actual execution time of a job by a result of a projection factor applied to a difference between the computer resource load when the job executed and the computing resource load for which the execution time is to be calculated.
-
27. A method in a computer system for calculating an estimated execution time of an application program on a computing device, the method comprising:
-
collecting actual execution times of the application program with various input sizes executing on a computing device with various computing resource loads;
providing the input size of the application program;
providing an estimated computing resource load of the computing device when the application program is to be executed;
estimating the execution time for the application program with the provided input size when the application program is executed on a computing device with the provided computing resource load based on a collected actual execution time for the application program with a known input size executing on a computing device with a known computing resource load, wherein the execution time for the application program is estimated by adjusting the actual execution time of the application program with a known input size by a result of a projection factor applied to a difference between the known computer resource load and the estimated computing resource load. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
31. The method of claim 27 wherein the computing resource load reflects the amount of computer resources used when a certain set of application programs are executed at the same time.
-
32. The method of claim 27 wherein the application program has an application program load that reflects an estimate of computing resources used by the application program during execution.
-
33. The method of claim 32 wherein the estimating factors in the application program load of the application program.
-
34. The method of claim 27 wherein the collected execution times are used to generate a data structure comprising a plurality of execution times, the execution times being derived from actual execution times of the application program with various input sizes and on computing devices with various computing resource loads, the execution times being grouped according to input size and according to computing resource load.
-
35. The method of claim 34 wherein executions times of the data structure for a given input size at various computing resource loads are projected based on an actual execution time for the application program of that given input size on a computing device with a known computing resource load.
-
36. The method of claim 34 wherein an execution time of the data structure for an input size and a computing resource load is based on a previous execution time of the data structure for that input size and that computing resource load.
-
37. The method of claim 34 wherein execution times of the data structure for a given computing resource load for various input sizes are projected based on an actual execution time for the application program on a computing device with the given computing resource load and a known input size.
-
-
38. A method for calculating an estimated execution time of a job on a computing device, the job having an application program and input, the method comprising:
-
step for providing a job size of the job;
step for providing a computing resource load of the computing device when the job is to be executed;
step for estimating the execution time for the job when the job is executed on a computing device with the provided computing resource load based on an actual execution time of a job with the same application program with a known job size executing on a computing device with a known computing resource load, wherein the execution time for the job is estimated, by adjusting the actual execution time of the job with the same application program with a known job size by a result of a projection factor applied to a difference between the known computer resource load and the provided computing resource load. - View Dependent Claims (39, 40, 41, 42, 43)
-
Specification