Method and system for scheduling of jobs
First Claim
1. A method of resource allocation for execution of a job, the method comprising:
- collecting feedback regarding resource allocation and execution of previously submitted job requests to a clustered network, wherein resources of a plurality of computers are clustered together in form of one or more source nodes for the purpose of servicing submitted job requests;
receiving a request for execution of a job including parameters associated with the job, wherein the parameters are provided by a user as an estimation of resources to be utilized to successfully execute the job;
allocating one or more resources to the job according to the provided user estimate without regard to the collected feedback information, if the job is determined to be a job distinguishable from a previously submitted job in accordance with a measurable similarity threshold;
otherwise, estimating the resources utilized for execution of the job based on the collected feedback and state of currently available resources in the clustered network such that the estimated resources are less than the provided user estimate or a previously calculated estimated associated with a previously submitted similar job, if the collected feedback indicates that the previously allocated resources to a previously submitted similar job were adequate to service the previously submitted similar job; and
continuing the estimating process to calculate final estimated resources by successively reducing level of estimated resources to be utilized for execution of the submitted job, provided that the level of estimated resources does not fall below a lowest successful resource allocation level;
allocating the job to one or more resource nodes that provide a final calculated estimated resources according to the estimating process.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system of resource allocation for execution of a job are provided. The method includes receiving feedback (134) regarding the execution of previously submitted jobs on one or more resource nodes (101-104), and estimating the resources required for execution of a submitted job based on the feedback (134) and the parameters of the job. One, or a plurality of resource nodes in parallel, having the estimated resources are allocated the job. The feedback may be implicit feedback indicating the success or failure of the execution of a job. The one or more resource nodes (101-104) allocated for execution of a job may have less than a user requested resource allocation for the job.
-
Citations
15 Claims
-
1. A method of resource allocation for execution of a job, the method comprising:
-
collecting feedback regarding resource allocation and execution of previously submitted job requests to a clustered network, wherein resources of a plurality of computers are clustered together in form of one or more source nodes for the purpose of servicing submitted job requests; receiving a request for execution of a job including parameters associated with the job, wherein the parameters are provided by a user as an estimation of resources to be utilized to successfully execute the job; allocating one or more resources to the job according to the provided user estimate without regard to the collected feedback information, if the job is determined to be a job distinguishable from a previously submitted job in accordance with a measurable similarity threshold; otherwise, estimating the resources utilized for execution of the job based on the collected feedback and state of currently available resources in the clustered network such that the estimated resources are less than the provided user estimate or a previously calculated estimated associated with a previously submitted similar job, if the collected feedback indicates that the previously allocated resources to a previously submitted similar job were adequate to service the previously submitted similar job; and continuing the estimating process to calculate final estimated resources by successively reducing level of estimated resources to be utilized for execution of the submitted job, provided that the level of estimated resources does not fall below a lowest successful resource allocation level; allocating the job to one or more resource nodes that provide a final calculated estimated resources according to the estimating process. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for resource allocation for execution of a job, the system comprising:
-
at least one processor; a feedback mechanism for collecting feedback regarding resource allocation and data about execution of previously submitted job requests to a clustered network, wherein resources of a plurality of computers are clustered together in form of one or more source nodes for the purpose of servicing submitted job requests; a job scheduler for receiving a request for executing a job including parameters associated with the job, wherein the parameters are provided by a user as an estimation of resources to be utilized to successfully execute the job; a resource allocator for allocating one or more resources to the job according to the provided user estimate without regard to the collected feedback information, if the job is determined to be a job distinguishable from a previously submitted job in accordance with a measurable similarity threshold; an estimator for estimating the resources utilized for execution of the job based on the collected feedback and state of currently available resources in the clustered network such that the estimated resources are less than the provided user estimate or a previously calculated estimated associated with a previously submitted similar job, if the collected feedback indicates that the previously allocated resources to a previously submitted similar job were adequate to service the previously submitted similar job; and continuing the estimating process to calculate final estimated resources by successively reducing level of estimated resources to be utilized for execution of the submitted job, provided that the level of estimated resources does not fall below a lowest successful resource allocation level; wherein the resource allocator allocates the job to one or more resource nodes that provide a final calculated estimated resources according to the estimating process. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method of resource allocation for execution of a job, the method comprising:
-
collecting feedback regarding success data about execution of previously submitted job requests to a clustered network, wherein resources of a plurality of computers are clustered together in form of one or more source nodes for the purpose of servicing submitted job requests; receiving a request for executing a job including parameters associated with the job, wherein the parameters are provided by a user as an estimation of resources to be utilized to successfully execute the job; allocating one or more resources to the job according to the provided user estimate without regard to the collected feedback information, if the job is determined to be a job distinguishable from a previously submitted job in accordance with a measurable similarity threshold; otherwise, estimating the resources utilized for execution of the job based on the collected feedback and state of currently available resources in the clustered network such that; (1) the estimated resources are larger than the provided user estimate or a previously calculated estimate associated with a previously submitted similar job, if the collected feedback indicates that the previously allocated resources to the previously submitted similar job were inadequate to service the previously submitted similar job, and (2) the estimated resources are less than the provided user estimate or a previously calculated estimated associated with a previously submitted similar job, if the collected feedback indicates that the previously allocated resources to a previously submitted similar job were adequate to service the previously submitted similar job; and continuing to successively update level of estimated resources according to the above conditions until the estimated resources are adequate to service the request below an upper limit threshold, or the estimated resources are not below a lowest successful resource allocation level; and allocating the job to one or more resource nodes having the estimated resources according to the estimating process.
-
Specification