IP Library Granted Patent US 9,189,273
Granted Patent B2
US 9,189,273 · App. 14/193,075 · Granted Nov 17, 2015

Performance-aware job scheduling under power constraints

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,189,273
App. No.
14/193,075
Granted
Nov 17, 2015
Kind
B2
Abstract

A method, system, and computer program product for processing an application in a high performance computing (HPC) data center are described. The method includes analyzing and sorting a plurality of nodes in a cluster of the HPC data center into a plurality of frequency bins, each of the plurality of nodes being sorted into more than one of the plurality of frequency bins based on performance. The method also includes analyzing and sorting the application into an application bin among a plurality of application bins based on a frequency scaling characteristic of the application. The method further includes selecting a first set of nodes among the plurality of nodes to process the application, the first set of nodes being sorted into a first frequency bin among the plurality of frequency bins corresponding with the application bin of the application.

Claims (30)

1. A computer program product for processing an application in a high performance computing (HPC) data center, the computer program product comprising:

a tangible storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:

analyzing and sorting a plurality of nodes in a cluster of the HPC data center into a plurality of frequency bins, each of the plurality of nodes being sorted into more than one of the plurality of frequency bins based on performance;

analyzing and sorting the application into an application bin among a plurality of application bins based on a frequency scaling characteristic of the application, a number of the plurality of frequency bins being a same as a number of the plurality of application bins and each of the plurality of application bins corresponding with one of the plurality of frequency bins;

selecting a first set of nodes among the plurality of nodes as processing nodes to process the application, the first set of nodes being sorted into a first frequency bin among the plurality of frequency bins corresponding with the application bin of the application;

verifying an availability of the first set of nodes, wherein when the first set of nodes is not available, a second set of nodes from a second frequency bin adjacent to the first frequency bin are selected as the processing nodes;

determining whether an estimated power consumption by the processing nodes is less than an available power; and

reducing a frequency of processing a second application with a lower priority than the application when the estimated power consumption exceeds the available power.

2. The computer program product according to claim 1 , wherein the analyzing and sorting the plurality of nodes includes running a plurality of benchmark applications on the plurality of nodes, the plurality of benchmark applications including varying cycles per instruction (CPI) profiles.

3. The computer program product according to claim 2 , wherein the analyzing and sorting the plurality of nodes includes determining a maximum allowable frequency of operation, corresponding with a frequency bin among the plurality of frequency bins, for each of the plurality of nodes for each of the CPI profiles of the plurality of benchmark applications.

4. The computer program product according to claim 1 , further comprising determining whether the application is being submitted to the HPC data center for the first time based on an identifier submitted with the application, wherein the analyzing and sorting the application is done when the application is submitted to the HPC data center for the first time.

5. The computer program product according to claim 1 , wherein the analyzing and sorting the application includes processing the application one or more times at respective one or more frequencies to determine the frequency scaling characteristic of the application, the frequency scaling characteristic of the application corresponding with the application bin among the plurality of application bins.

6. A method of processing an application in a high performance computing (HPC) data center, the method comprising:

analyzing and sorting, using a processor, a plurality of nodes in a cluster of the HPC data center into a plurality of frequency bins, each of the plurality of nodes being sorted into more than one of the plurality of frequency bins based on performance;

analyzing and sorting the application into an application bin among a plurality of application bins based on a frequency scaling characteristic of the application, a number of the plurality of frequency bins being a same as a number of the plurality of application bins and each of the plurality of application bins corresponding with one of the plurality of frequency bins;

selecting a first set of nodes among the plurality of nodes to process the application, the first set of nodes being sorted into a first frequency bin among the plurality of frequency bins corresponding with the application bin of the application;

verifying an availability of the first set of nodes, wherein when the first set of nodes is not available, a second set of nodes from a second frequency bin adjacent to the first frequency bin are selected as the processing nodes;

determining whether an estimated power consumption by the processing nodes is less than an available power; and

reducing a frequency of processing a second application with a lower priority than the application when the estimated power consumption exceeds the available power.

7. The method according to claim 6 , wherein the analyzing and sorting the plurality of nodes includes running a plurality of benchmark applications on the plurality of nodes, the plurality of benchmark applications including varying cycles per instruction (CPI) profiles.

8. The method according to claim 7 , wherein the analyzing and sorting the plurality of nodes includes determining a maximum allowable frequency of operation, corresponding with a frequency bin among the plurality of frequency bins, for each of the plurality of nodes for each of the CPI profiles of the plurality of benchmark applications.

9. The method according to claim 6 , wherein the method further comprises determining whether the application is being submitted to the HPC data center for the first time based on an identifier submitted with the application, wherein the analyzing and sorting the application is done when the application is submitted to the HPC data center for the first time.

10. The method according to claim 6 , wherein the analyzing and sorting the application includes processing the application one or more times at respective one or more frequencies to determine the frequency scaling characteristic of the application, the frequency scaling characteristic of the application corresponding with the application bin among the plurality of application bins.

11. A job scheduler in a high performance computing (HPC) data center, the job scheduler comprising:

a memory device configured to store a sorting of a plurality of nodes in a cluster of the HPC data center into a plurality of frequency bins based on performance, each of the plurality of nodes being sorted into more than one of the plurality of frequency bins, and further configured to store a sorting of an application submitted for processing into one of a plurality of application bins based on a frequency scaling characteristic, a number of the plurality of frequency bins being a same as a number of the plurality of application bins and each of the plurality of application bins corresponding with one of the plurality of frequency bins; and

a processor configured to select a first set of nodes among the plurality of nodes as processing nodes to process the application, the first set of nodes being sorted into a first frequency bin among the plurality of frequency bins corresponding with the application bin of the application,

wherein the processor determines whether an estimated power consumption by the processing nodes is less than an available power for the cluster and, when the estimated power consumption exceeds the available power, the processor reduces a frequency of processing a second application with a lower priority than the application.

12. The job scheduler according to claim 11 , wherein the processor sorts the plurality of nodes into the plurality of frequency bins based on running a plurality of benchmark applications using the plurality of nodes, the plurality of benchmark applications including varying cycles per instruction (CPI) profiles, and determining a maximum allowable frequency of operation, corresponding with a frequency bin among the plurality of frequency bins, for each of the plurality of nodes for each of the CPI profiles of the plurality of benchmark applications.

13. The job scheduler according to claim 11 , wherein the processor sorts the application into the application bin among the plurality of application bins based on processing the application one or more times at respective one or more frequencies to determine the frequency scaling characteristic of the application, the frequency scaling characteristic of the application corresponding with the application bin among the plurality of application bins.

14. The job scheduler according to claim 11 , wherein the processor determines whether the first set of nodes is idle and, when the first set of nodes is not idle, the processor selects a second set of nodes from a second frequency bin adjacent to the first frequency bin as the processing nodes.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2019
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 050300/0947 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
To: LENOVO INTERNATIONAL LIMITED
Reel/Frame 037696/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2014
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: LENOVO ENTERPRISE SOLUTIONS (SINGAPORE) PTE. LTD.
Reel/Frame 034194/0353 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2014
From: BROCHARD, LUIGI; PANDA, RAJENDRA D.; THOMAS, FRANCOIS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 032321/0126 →