Scheduling applications in a clustered computer system

US9632836B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9632836-B2
Application numberUS-201514741751-A
CountryUS
Kind codeB2
Filing dateJun 17, 2015
Priority dateJul 2, 2014
Publication dateApr 25, 2017
Grant dateApr 25, 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.

Disclosed is a method for scheduling applications for a clustered computer system having a plurality of computers and at least one resource, the clustered computer system executing one or more applications. A method includes: monitoring hardware counters in at least one of the resources and the plurality of computers of the clustered computer system for each of the applications; responsive to said monitoring, determining the utilization of at least one of the resources and the plurality of computers of the clustered computer system by each of the applications; for each of the applications, storing said utilization of at least one of the resource and plurality of computers of the clustered computer system; and upon receiving a request to schedule an application on one of said computers, scheduling a computer to execute the application based on stored utilization for the application and stored utilizations of other applications executing on the computers.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for scheduling applications for use in a clustered computer system comprising a plurality of computers and at least one resource, the clustered computer system executing one or more applications, the method comprising the steps of: monitoring one or more hardware counters in at least one of the at least one resource and the plurality of computers of the clustered computer system for each of the one or more applications; responsive to said step of monitoring, determining the utilization of at least one of the at least one resource and the plurality of computers of the clustered computer system by each of the one or more applications; for each of the one or more applications, storing said utilization of at least one of the at least one resource and the plurality of computers of the clustered computer system; and upon receiving a request to schedule an application on one of said plurality of computers, scheduling a selected computer to execute the application based on said stored utilization for the application and stored utilizations of other applications executing on the plurality of computers, wherein the selected computer is determined by identifying applications on the plurality of computers that are compatible with the application to be scheduled, and assigning the application to a computer having a compatible application; wherein applications are deemed compatible if each application utilizes predominately different resources. 2. The method as claimed in claim 1 , wherein responsive to the application for which a scheduling request is received being an application being executed on the clustered computer system for the first time, the method further comprises the step of estimating the utilization of at least one of the at least one resource and the plurality of computers of the clustered computer system. 3. The method as claimed in claim 1 , wherein utilization data from a plurality of resources and a plurality of computers of the clustered computer system is consolidated in a plurality of master agents before communication to a collector agent which carries out said step of storing said utilization data. 4. The method as claimed in claim 1 , wherein said step of scheduling a computer to execute the application based on said stored utilization for the application and stored utilizations of other applications executing on the plurality of computers schedule a computer currently executing an application having complementary utilization of resources. 5. The method as claimed in claim 1 , further comprising the step of estimating the effect on utilization rate and throughput of changes to the allocation of said at least one resource and said plurality of computers. 6. The method as claimed in claim 1 , wherein said step of scheduling a computer to execute the application comprises correlating the stored utilization data and hardware utilization time series, available resources, the applications running on each computer in the cluster of computers with their current cluster resource consumption rates and history, the submission policies and user requirements. 7. A system for scheduling applications for use in a clustered computer system comprising a plurality of computers and at least one resource, the clustered computer system executing one or more applications, at least one of the at least one resource and the plurality of computers having one or more hardware counters for monitoring hardware utilization, the system comprising: a memory and a processor; an agent, executable by the processor, for monitoring said one or more hardware counters for each of the one or more applications; an application monitoring subsystem, executable by the processor, for determining the utilization of at least one of the at least one resource and the plurality of computers of the clustered computer system by each of the one or more applications; and an engine, executable by the processor, and repository for storing said utilization of at least one of the at least one resource and the plurality of computers of the clustered computer system for each of the one or more applications and for, upon receiving a request to schedule an application on one of said plurality of computers, scheduling a selected computer to execute the application based on said stored utilization for the application and stored utilizations of other applications executing on the plurality of computers, wherein the selected computer is determined by identifying applications on the plurality of computers that are compatible with the application to be scheduled, and assigning the application to a computer having a compatible application; wherein applications are deemed compatible if each application utilizes predominately different resources. 8. The system as claimed in claim 7 , wherein the engine, responsive to the application for which a scheduling request is received being an application being executed on the clustered computer system for the first time, for estimating the utilization of at least one of the at least one resource and the plurality of computers of the clustered computer system. 9. The system as claimed in claim 7 , further comprising a plurality of master agents for consolidating utilization data from a plurality of resources and a plurality of computers of the clustered computer system before communication to the application monitoring system. 10. The system as claimed in claim 7 , wherein said engine schedules the application to execute on a computer currently executing an application having complementary utilization of resources, based on said stored utilization for the application and stored utilizations of other applications executing on the plurality of computers. 11. The system as claimed in claim 7 , further wherein the engine estimates the effect on utilization rate and throughput of changes to the allocation of said at least one resource and said plurality of computers. 12. The system as claimed in claim 7 , wherein said engine for scheduling a computer to execute the application correlates the stored utilization data and hardware utilization time series, available resources, the applications running on each computer in the cluster of computers with their current cluster resource consumption rates and history, the submission policies and user requirements. 13. A computer program product for scheduling applications for use in a clustered computer system comprising a plurality of computers and at least one resource, the clustered computer system executing one or more applications, the computer program product comprising: a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code adapted to: monitor one or more hardware counters in at least one of the at least one resource and the plurality of computers of the clustered computer system for each of the one or more applications; determine the utilization of at least one of the at least one resource and the plurality of computers of the clustered computer system by each of the one or more applications; for each of the one or more applications, store said utilization of at least one of the at least one resource and the plurality of computers of the clustered computer system; and in response to receiving a request to schedule an application on one of said plurality of computers, schedule a selected computer to execute the application based on said stored utilization for the application and stored utilizations of other applications executing on the plurality of computers, wherein the selected computer is determined by identifying applica

Assignees

Inventors

Classifications

  • G06F9/505Primary

    considering the load · CPC title

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 US9632836B2 cover?
Disclosed is a method for scheduling applications for a clustered computer system having a plurality of computers and at least one resource, the clustered computer system executing one or more applications. A method includes: monitoring hardware counters in at least one of the resources and the plurality of computers of the clustered computer system for each of the applications; responsive to s…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F9/505. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 25 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).