IP Library Granted Patent US 8,195,967
Granted Patent B2
US 8,195,967 · App. 12/129,319 · Granted Jun 5, 2012

Reducing power consumption during execution of an application on a plurality of compute nodes

Assignee: International Business Machines Corporation
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 8,195,967
App. No.
12/129,319
Granted
Jun 5, 2012
Kind
B2
Abstract

Methods, apparatus, and products are disclosed for reducing power consumption during execution of an application on a plurality of compute nodes that include: executing, by each compute node, an application, the application including power consumption directives corresponding to one or more portions of the application; identifying, by each compute node, the power consumption directives included within the application during execution of the portions of the application corresponding to those identified power consumption directives; and reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives.

Claims (31)

1. A method of reducing power consumption during execution of an application on a plurality of compute nodes, the method comprising:

executing, by each compute node, an application, the application including power consumption directives corresponding to one or more portions of the application;

identifying, by each compute node, the power consumption directives included within the application during execution of the portions of the application corresponding to those identified power consumption directives; and

reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives, wherein reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives further comprises throttling an operating speed for a particular component of that compute node that is used during execution of the portions of the application corresponding to those identified power consumption directives.

2. The method of claim 1 further comprising:

receiving source code for the application, the source code annotated with user defined power conservation instructions, the user defined power conservation instructions corresponding to portions of the source code; and

compiling the source code to generate the application that includes power consumption directives corresponding to one or more portions of the application in dependence upon the user defined power conservation instructions and the portions of the source code to which the user defined power conservation instructions correspond.

3. The method of claim 1 wherein reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives further comprises powering down a particular component of that compute node that is not used during execution of the portions of the application corresponding to those identified power consumption directives.

4. The method of claim 1 wherein reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives further comprises throttling an operating speed for a particular component of that compute node that is not used during execution of the portions of the application corresponding to those identified power consumption directives.

5. The method of claim 1 wherein the plurality of compute nodes are connected together through a plurality of data communications networks, at least one of the data communications networks optimized for collective operations, and at least one of the data communications networks optimized for point to point operations.

6. A parallel computer capable of reducing power consumption during execution of an application on a plurality of compute nodes, the parallel computer comprising the plurality of compute nodes, each compute node comprising one or more computer processors and computer memory operatively coupled to the computer processors, the computer memory having disposed within it computer program instructions capable of:

executing, by each compute node, an application, the application including power consumption directives corresponding to one or more portions of the application;

identifying, by each compute node, the power consumption directives included within the application during execution of the portions of the application corresponding to those identified power consumption directives; and

reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives, wherein reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives further comprises throttling an operating speed for a particular component of that compute node that is used during execution of the portions of the application corresponding to those identified power consumption directives.

7. The parallel computer of claim 6 wherein the computer memory has disposed within it computer program instructions capable of:

receiving source code for the application, the source code annotated with user defined power conservation instructions, the user defined power conservation instructions corresponding to portions of the source code; and

compiling the source code to generate the application that includes power consumption directives corresponding to one or more portions of the application in dependence upon the user defined power conservation instructions and the portions of the source code to which the user defined power conservation instructions correspond.

8. The parallel computer of claim 6 wherein reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives further comprises powering down a particular component of that compute node that is not used during execution of the portions of the application corresponding to those identified power consumption directives.

9. The parallel computer of claim 6 wherein reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives further comprises throttling an operating speed for a particular component of that compute node that is not used during execution of the portions of the application corresponding to those identified power consumption directives.

10. The parallel computer of claim 6 wherein the plurality of compute nodes are connected together through a plurality of data communications networks, at least one of the data communications networks optimized for collective operations, and at least one of the data communications networks optimized for point to point operations.

11. A computer program product for reducing power consumption during execution of an application on a plurality of compute nodes, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions capable of:

executing, by each compute node, an application, the application including power consumption directives corresponding to one or more portions of the application;

identifying, by each compute node, the power consumption directives included within the application during execution of the portions of the application corresponding to those identified power consumption directives; and

reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives, wherein reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives further comprises throttling an operating speed for a particular component of that compute node that is used during execution of the portions of the application corresponding to those identified power consumption directives.

12. The computer program product of claim 11 further comprising computer program instructions capable of:

receiving source code for the application, the source code annotated with user defined power conservation instructions, the user defined power conservation instructions corresponding to portions of the source code; and

compiling the source code to generate the application that includes power consumption directives corresponding to one or more portions of the application in dependence upon the user defined power conservation instructions and the portions of the source code to which the user defined power conservation instructions correspond.

13. The computer program product of claim 11 wherein reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives further comprises powering down a particular component of that compute node that is not used during execution of the portions of the application corresponding to those identified power consumption directives.

14. The computer program product of claim 11 wherein reducing power, by each compute node, to one or more components of that compute node according to the identified power consumption directives during execution of the portions of the application corresponding to those identified power consumption directives further comprises throttling an operating speed for a particular component of that compute node that is not used during execution of the portions of the application corresponding to those identified power consumption directives.

15. The computer program product of claim 11 wherein the plurality of compute nodes are connected together through a plurality of data communications networks, at least one of the data communications networks optimized for collective operations, and at least one of the data communications networks optimized for point to point operations.

16. The computer program product of claim 11 wherein the computer readable medium comprises a recordable medium.

Assignments (2)
CONFIRMATORY LICENSE Recorded Sep 26, 2008
From: INTERNATIONAL BUSINESS MACHINES CORPORAITON
To: ENERGY, U.S. DEPARTMENT OF
Reel/Frame 021597/0094 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2008
From: ARCHER, CHARLES J.; BLOCKSOME, MICHAEL A.; PETERS, AMANDA E.; RATTERMAN, JOSEPH D.; SMITH, BRIAN E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 021169/0174 →
Continuity (1)
Related Publication 20090300394A1 · Dec 3, 2009