Cooperative batch scheduling in multitenancy system based on estimated execution time and generating a load distribution chart
First Claim
1. A non-transitory computer readable storage medium storing instructions, which when executed by a computer, cause the computer to:
- receive a plurality of job requests at a shared computer system from one or more of a plurality of isolated tenants of the shared computer system, wherein each job request of the plurality of job requests includes a reference to a corresponding job of a plurality of jobs and a start time for beginning an execution of the referenced job;
for each job of the plurality of jobs referenced by the plurality of job requests, estimate, by the shared computer system, a duration of execution of the job based on a type of the job, wherein estimating the duration of execution of a job comprises;
identifying a plurality of objects of a specific type to be processed during the execution of the job,assigning a median duration for processing an object of the specific type, wherein assigning the median duration comprises;
estimating the median duration in accordance with an expected capacity of the shared computer system during the execution of the job, andadding, to the duration of execution of the job, a result of a multiplication between the median duration and a cardinality of the plurality of objects;
create a distribution over a future period of time of load levels of the shared computer system resulting from the start times and the estimated durations of execution of the plurality of jobs referenced by the plurality of job requests; and
expose a load chart of the distribution of the load levels of the shared computer system to at least one of the plurality of isolated tenants of the shared computer system to enable collaborative job scheduling between the isolated tenants for the future period of time.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for cooperative batch scheduling in multitenancy computing systems are described. A number of batch requests are received in the computing system, where each batch request includes a job reference, and a start time when the execution of the referenced job to be launched. Duration of execution is estimated for each job referenced by the requests. The estimation is based on predefined criteria that include a product of median execution times for at least one recurring operation. An anonymous load chart is created based on the start times and the estimated duration of execution of each job referenced by the plurality of batch requests. The anonymous load chart may take into account the available capacity of the computing system. The anonymous load chart is exposed to a number of isolated users of the computing system for cooperative batch scheduling.
-
Citations
15 Claims
-
1. A non-transitory computer readable storage medium storing instructions, which when executed by a computer, cause the computer to:
-
receive a plurality of job requests at a shared computer system from one or more of a plurality of isolated tenants of the shared computer system, wherein each job request of the plurality of job requests includes a reference to a corresponding job of a plurality of jobs and a start time for beginning an execution of the referenced job; for each job of the plurality of jobs referenced by the plurality of job requests, estimate, by the shared computer system, a duration of execution of the job based on a type of the job, wherein estimating the duration of execution of a job comprises; identifying a plurality of objects of a specific type to be processed during the execution of the job, assigning a median duration for processing an object of the specific type, wherein assigning the median duration comprises; estimating the median duration in accordance with an expected capacity of the shared computer system during the execution of the job, and adding, to the duration of execution of the job, a result of a multiplication between the median duration and a cardinality of the plurality of objects; create a distribution over a future period of time of load levels of the shared computer system resulting from the start times and the estimated durations of execution of the plurality of jobs referenced by the plurality of job requests; and expose a load chart of the distribution of the load levels of the shared computer system to at least one of the plurality of isolated tenants of the shared computer system to enable collaborative job scheduling between the isolated tenants for the future period of time. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computerized method for enabling collaborative batch scheduling in a multitenancy computer application environment for a plurality of isolated tenants, the method comprising:
-
receiving, from one or more of the plurality of isolated tenants of the multitenancy application environment, a plurality of requests for execution of a plurality of corresponding batches in the multitenancy application environment, wherein each request of the plurality of requests includes a job type of a corresponding batch and a start time for beginning an execution of the corresponding batch; for each of the plurality of requests, estimating a duration of execution of the corresponding batch based on the job type, wherein estimating the duration of execution of a batch comprises; identifying a plurality of similar objects to be processed during the execution of the batch, assigning a median duration for processing an object of the plurality of similar objects, wherein assigning the median duration comprises, estimating the median duration in accordance with an expected capacity of the multitenancy application environment during the execution of the batch, and including a result of a multiplication between the median duration and the number of the similar objects in the duration of the execution of the batch; creating a distribution over a future period of time of load levels of the multitenancy application environment resulting from the start times and the estimated duration of execution of each batch of the plurality of batches; and exposing a load chart of the distribution of the load levels of the multitenancy application environment to at least one of the plurality of isolated tenants of the multitenancy application environment for collaborative batch scheduling between the isolated tenants for the future period of time. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A computer system for enabling collaborative batch scheduling in a shared resources environment for a plurality of isolated clients, the system comprising:
-
a computer memory to store program code; and a processor to execute the program code to; estimate a duration of an execution of each of a first plurality of batch jobs based on a corresponding job type and a corresponding execution start time, wherein estimating the duration of the execution of each of the first plurality of batch jobs comprises; dividing a batch job of the first plurality of batch jobs to a plurality of recurring operations, assigning a median duration for processing a single instance of an operation of the plurality of recurring operations, wherein assigning the median duration comprises; estimating the median duration in accordance with a forecasted capacity of the shared resources during the execution of the batch job, and adding, to the duration of the execution of each of the first plurality of batch jobs, a result of multiplication between the median duration and a number of recurrences of the operation in the batch job; and generate a report for a resource consumption of the shared resources environment for a predefined future period, the resource consumption resulting from the estimated duration of the execution of the first plurality of batch jobs and the corresponding start times, wherein the report is accessible by at least one of the plurality of isolated clients of the shared resources environment. - View Dependent Claims (14, 15)
-
Specification