Resource allocation in job scheduling environment

US9612878B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9612878-B2
Application numberUS-201414230669-A
CountryUS
Kind codeB2
Filing dateMar 31, 2014
Priority dateMar 31, 2014
Publication dateApr 4, 2017
Grant dateApr 4, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

According to embodiments of the disclosure, methods, systems, and computer program products are disclosed. A computer implemented method of allocating resources in a job scheduling system may include segmenting a workload plan into one or more time slots, determining, prior to each time slot, a job forecast for the time slot, the job forecast based on historical job data, and modifying the resource pool to bring a resource pool parameter within a resource range in response to determining that the job forecast exceeds a job deadline. The workload plan may have one or more jobs for a resource pool, the one or more jobs may be scheduled in at least one of the time slots. The resource pool may have one or more resources.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer implemented method of allocating resources in a job scheduling system, the method comprising: segmenting a workload plan into one or more time slots, the workload plan having one or more jobs for a resource pool of a resource provider, the one or more jobs scheduled in at least one of the time slots, the resource pool of the resource provider having one or more resources, wherein the workload plan is a schedule for executing jobs using the one or more resources in the resource pool of the resource provider; determining during each time slot, a respective job forecast for a respective next time slot, each respective job forecast including a respective job completion date for one or more jobs scheduled in the respective next time slot and a prediction of resources needed by the resource pool of the resource provider to perform the one or more scheduled jobs within the respective next time slot, wherein the job completion date is based on historical job data and an arrival rate of transactional jobs observed in one or more previous time slots, wherein the transactional jobs are not scheduled in the workload plan; and for each respective next time slot in which the respective job completion date exceeds a job deadline, modifying the resource pool of the resource provider prior to start of the respective next time slot to bring a resource pool parameter within a resource range in response to determining that the respective job completion date for the one or more jobs scheduled in the respective next time slot exceeds the job deadline; wherein modifying the resource pool of the resource provider includes allocating additional virtual machines in the resource pool of the resource provider such that the one or more jobs scheduled in the respective next time slot are performed within the respective next time slot. 2. The method of claim 1 , wherein modifying the resource pool to bring the resource pool parameter within the resource range in response to determining that the job completion date exceeds the job deadline includes: allocating one or more additional resources to the resource pool in response to determining that the resource pool parameter is greater than an upper resource limit. 3. The method of claim 1 , wherein modifying the resource pool to bring the resource pool parameter within the resource range in response to determining that the job completion date exceeds the job deadline includes: deallocating one or more resources from the resource pool in response to determining that the resource pool parameter is less than a lower resource limit. 4. The method of claim 1 , further comprising: determining whether the one or more jobs includes a critical job; wherein the resource pool is modified to bring the resource pool parameter within a resource range in response to determining that the one or more jobs includes the critical job and determining that the job completion date exceeds the job deadline range. 5. The method of claim 1 , wherein the job forecast is based on historical job data and a job submission rate of jobs. 6. The method of claim 1 , wherein the one or more resources are accessed by the job scheduling system via a network. 7. The method of claim 1 , wherein the one or more resources further include one or more selected from the group consisting of network bandwidth, servers, processing, memory, storage, and applications. 8. The method of claim 1 , wherein the resource range is based on an average central processing unit utilization parameter of the resource pool. 9. The method of claim 1 , wherein the resource range is based on a quantity of resources in the resource pool. 10. The method of claim 1 , wherein the resource range is based on a ratio of the one or more jobs to the one or more resources. 11. A system for allocating resources in a job scheduling system, the system comprising: a memory configured to store a workload plan; and a processor coupled to the interface and configured to segment the workload plan into one or more equal time slots, the workload plan having one or more jobs for a resource pool of a resource provider, the resource pool of the resource provider having one or more resources, wherein the workload plan is a schedule for executing jobs using the one or more resources in the resource pool of the resource provider; wherein the processor is further configured to determine during each time slot, a respective job forecast for a respective next time slot, each respective job forecast including a respective job completion date for one or more jobs scheduled in the respective next time slot and a prediction of resources needed by the resource pool of the resource provider to perform the one or more scheduled jobs within the respective next time slot, wherein the job completion date is based on historical job data and an arrival rate of transactional jobs observed in one or more previous time slots, wherein the transactional jobs are not scheduled in the workload plan; and wherein, for each respective next time slot in which the respective job completion date exceeds a job deadline, the processor is further configured to modify the resource pool of the resource provider prior to start of the respective next time slot to bring a resource pool parameter within a resource range in response to determining that the respective job completion date for the one or more jobs scheduled in the respective next time slot exceeds the job deadline wherein the processor is configured to modify the resource pool of the resource provider by allocating additional virtual machines in the resource pool of the resource provider such that the one or more jobs scheduled in the respective next time slot are performed within the respective next time slot. 12. The system of claim 11 , wherein being configured to modify the resource pool to bring the resource pool parameter within the resource range in response to determining that the job completion date exceeds the job deadline includes being configured to: allocate one or more additional resources to the resource pool in response to determining that the resource pool parameter is greater than an upper resource limit. 13. The system of claim 11 , wherein being configured to modify the resource pool to bring the resource pool within a resource range in response to determining that the job completion date exceeds the job deadline includes being configured to: deallocate one or more resources from the resource pool in response to determining that the resource pool parameter is less than a lower resource limit. 14. The system of claim 11 , wherein the processor is further configured to determine whether the one or more jobs includes a critical job and wherein the processor is further configured to modify the resource pool to bring the resource pool parameter within the resource range in response to determining that the one or more jobs includes the critical job and determining that the job completion date exceeds the job deadline. 15. The system of claim 11 , wherein the job forecast is based on historical job data and on a job submission rate of transactional jobs. 16. The system of claim 11 , wherein the resource range is based on an average central processing unit utilization parameter of the resource pool. 17. The system of claim 11 , wherein the resource range is based on a quantity of resources in the resource pool. 18. The system of claim 11 , wherein the resource range is based on a ratio of the one or more jobs to the one or more resources.

Assignees

Inventors

Classifications

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9612878B2 cover?
According to embodiments of the disclosure, methods, systems, and computer program products are disclosed. A computer implemented method of allocating resources in a job scheduling system may include segmenting a workload plan into one or more time slots, determining, prior to each time slot, a job forecast for the time slot, the job forecast based on historical job data, and modifying the reso…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/5083. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 04 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).