IP Library Granted Patent US 8,095,811
Granted Patent B2
US 8,095,811 · App. 12/129,223 · Granted Jan 10, 2012

Reducing power consumption while synchronizing a plurality of compute nodes during execution of a parallel application

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,095,811
App. No.
12/129,223
Granted
Jan 10, 2012
Kind
B2
Abstract

Methods, apparatus, and products are disclosed for reducing power consumption while synchronizing a plurality of compute nodes during execution of a parallel application that include: beginning, by each compute node, performance of a blocking operation specified by the parallel application, each compute node beginning the blocking operation asynchronously with respect to the other compute nodes; reducing, for each compute node, power to one or more hardware components of that compute node in response to that compute node beginning the performance of the blocking operation; and restoring, for each compute node, the power to the hardware components having power reduced in response to all of the compute nodes beginning the performance of the blocking operation.

Claims (38)

1. A method of reducing power consumption while synchronizing a plurality of compute nodes during execution of a parallel application, the method comprising:

beginning, by each compute node, performance of a blocking operation specified by the parallel application, each compute node beginning the blocking operation asynchronously with respect to the other compute nodes;

reducing, for each compute node, power to one or more hardware components of that compute node in response to that compute node beginning the performance of the blocking operation; and

restoring, for each compute node, the power to the hardware components having power reduced in response to all of the compute nodes beginning the performance of the blocking operation.

2. The method of claim 1 wherein reducing power to one or more hardware components of that compute node further comprises powering down the hardware components of that compute node not utilized to perform the blocking operation.

3. The method of claim 1 wherein reducing power to one or more hardware components of that compute node further comprises throttling operating speeds for the hardware components of that compute node not utilized to perform the blocking operation.

4. The method of claim 1 wherein reducing power to one or more hardware components of that compute node further comprises throttling operating speeds for the hardware components of that compute node that are utilized to perform the blocking operation.

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

6. The method of claim 5 wherein:

beginning, by each compute node, performance of a blocking operation specified by the parallel application further comprises transmitting, by that compute node, a blocking operation entry signal through one of the plurality of data communications networks;

reducing, by each compute node, power to one or more hardware components of that compute node in response to beginning the performance of the blocking operation further comprises reducing, by that compute node, power for the network components of that compute node used for data communications through the other data communications networks not utilized to transmit the blocking operation entry signals among compute nodes; and

restoring, by each compute node, the power to the hardware components having power reduced in response to all of the compute nodes beginning the performance of the blocking operation further comprises restoring, by that compute node, power for the network components of that compute node used for data communications through the other data communications networks not utilized to transmit the blocking operation entry signals among compute nodes.

7. A parallel computer capable of reducing power consumption while synchronizing a plurality of compute nodes during execution of a parallel application, the parallel computer comprising a plurality of computer processors and computer memory operatively coupled to the computer processors, the computer memory having disposed within it computer program instructions capable of:

beginning, by each compute node, performance of a blocking operation specified by the parallel application, each compute node beginning the blocking operation asynchronously with respect to the other compute nodes;

reducing, for each compute node, power to one or more hardware components of that compute node in response to that compute node beginning the performance of the blocking operation; and

restoring, for each compute node, the power to the hardware components having power reduced in response to all of the compute nodes beginning the performance of the blocking operation.

8. The parallel computer of claim 7 wherein reducing power to one or more hardware components of that compute node further comprises powering down the hardware components of that compute node not utilized to perform the blocking operation.

9. The parallel computer of claim 7 wherein reducing power to one or more hardware components of that compute node further comprises throttling operating speeds for the hardware components of that compute node not utilized to perform the blocking operation.

10. The parallel computer of claim 7 wherein reducing power to one or more hardware components of that compute node further comprises throttling operating speeds for the hardware components of that compute node that are utilized to perform the blocking operation.

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

12. The parallel computer of claim 11 wherein:

beginning, by each compute node, performance of a blocking operation specified by the parallel application further comprises transmitting, by that compute node, a blocking operation entry signal through one of the plurality of data communications networks;

reducing, by each compute node, power to one or more hardware components of that compute node in response to beginning the performance of the blocking operation further comprises reducing, by that compute node, power for the network components of that compute node used for data communications through the other data communications networks not utilized to transmit the blocking operation entry signals among compute nodes; and

restoring, by each compute node, the power to the hardware components having power reduced in response to all of the compute nodes beginning the performance of the blocking operation further comprises restoring, by that compute node, power for the network components of that compute node used for data communications through the other data communications networks not utilized to transmit the blocking operation entry signals among compute nodes.

13. A computer program product for reducing power consumption while synchronizing a plurality of compute nodes during execution of a parallel application, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions capable of:

beginning, by each compute node, performance of a blocking operation specified by the parallel application, each compute node beginning the blocking operation asynchronously with respect to the other compute nodes;

reducing, for each compute node, power to one or more hardware components of that compute node in response to that compute node beginning the performance of the blocking operation; and

restoring, for each compute node, the power to the hardware components having power reduced in response to all of the compute nodes beginning the performance of the blocking operation.

14. The computer program product of claim 13 wherein reducing power to one or more hardware components of that compute node further comprises powering down the hardware components of that compute node not utilized to perform the blocking operation.

15. The computer program product of claim 13 wherein reducing power to one or more hardware components of that compute node further comprises throttling operating speeds for the hardware components of that compute node not utilized to perform the blocking operation.

16. The computer program product of claim 13 wherein reducing power to one or more hardware components of that compute node further comprises throttling operating speeds for the hardware components of that compute node that are utilized to perform the blocking operation.

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

18. The computer program product of claim 17 wherein:

beginning, by each compute node, performance of a blocking operation specified by the parallel application further comprises transmitting, by that compute node, a blocking operation entry signal through one of the plurality of data communications networks;

reducing, by each compute node, power to one or more hardware components of that compute node in response to beginning the performance of the blocking operation further comprises reducing, by that compute node, power for the network components of that compute node used for data communications through the other data communications networks not utilized to transmit the blocking operation entry signals among compute nodes; and

restoring, by each compute node, the power to the hardware components having power reduced in response to all of the compute nodes beginning the performance of the blocking operation further comprises restoring, by that compute node, power for the network components of that compute node used for data communications through the other data communications networks not utilized to transmit the blocking operation entry signals among compute nodes.

19. The computer program product of claim 13 wherein the computer readable medium comprises a recordable medium.

20. The computer program product of claim 13 wherein the computer readable medium comprises a transmission medium.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2009
From: ARCHER, CHARLES J.; BLOCKSOME, MICHAEL A.; PETERS, AMANDA E.; RATTERMAN, JOSEPH D.; SMITH, BRIAN E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022593/0622 →
CONFIRMATORY LICENSE Recorded Sep 26, 2008
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: ENERGY, U.S. DEPARTMENT OF
Reel/Frame 021596/0994 →
Continuity (1)
Related Publication 20090300385A1 · Dec 3, 2009