Scheduling applications in a clustered computer system

US2016004567A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016004567-A1
Application numberUS-201514741751-A
CountryUS
Kind codeA1
Filing dateJun 17, 2015
Priority dateJul 2, 2014
Publication dateJan 7, 2016
Grant date

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).

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 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. 2 . A 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 . A 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 . A 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 . A 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 . A 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: an agent for monitoring said one or more hardware counters for each of the one or more applications; an application monitoring subsystem 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 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 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. 8 . A 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 . A 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 . A 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 . A 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 . A 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 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. 14 . A computer program product as claimed in claim 13 , wherein responsive to the application for which a scheduling request is received being an application being executed on the clustered computer system for a first time, estimate the utilization of at least one of the at least one resource and the plurality of computers of the clustered computer system. 15 . A computer program product as claimed in claim 13 , 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 storing said utilization data. 16 . A computer program product as claimed in claim 13 , wherein scheduling a computer to execute the application based on said stored utilization for the application and stored

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 US2016004567A1 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 Thu Jan 07 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).