IP Library Granted Patent US 8,533,504
Granted Patent B2
US 8,533,504 · App. 12/129,334 · Granted Sep 10, 2013

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

Inventors: Charles J. Archer (Rochester, MN); Michael A. Blocksome (Rochester, MN); Amanda E. Peters (Rochester, MN); Joseph D. Ratterman (Rochester, MN); Brian E. Smith (Rochester, MN)
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,533,504
App. No.
12/129,334
Granted
Sep 10, 2013
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: powering up, during compute node initialization, only a portion of computer memory of the compute node, including configuring an operating system for the compute node in the powered up portion of computer memory; receiving, by the operating system, an instruction to load an application for execution; allocating, by the operating system, additional portions of computer memory to the application for use during execution; powering up the additional portions of computer memory allocated for use by the application during execution; and loading, by the operating system, the application into the powered up additional portions of computer memory.

Claims (45)

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

powering up, during compute node initialization, only a portion of computer memory of a compute node;

configuring an operating system for the compute node in the powered up portion of computer memory, including copying an image of the operating system to the powered up portion of computer memory;

receiving, by the operating system, an instruction to load an application for execution;

allocating, by the operating system, additional portions of computer memory to the application for use during execution;

powering up the additional portions of computer memory allocated for use by the application during execution, wherein powering up the additional portions of computer memory allocated for use by the application during execution further comprises powering up the additional portions of computer memory upon requests to access those additional portions of computer memory; and

loading, by the operating system, the application into the powered up additional portions of computer memory.

2. The method of claim 1 further comprising:

identifying, by the operating system, unused portions of the computer memory allocated to the application, the unused portions not utilized by the application during execution; and

reducing power to at least some of the unused portions of the computer memory allocated to the application.

3. The method of claim 1 wherein:

the computer memory of each compute node is characterized by varying levels of power consumption and varying levels of performance; and

allocating, by the operating system, additional portions of computer memory to the application for use during execution further comprises allocating the additional portions of computer memory to the application in dependence upon the levels of power consumption and levels of performance that characterize the computer memory.

4. The method of claim 1 wherein allocating, by the operating system, additional portions of computer memory to the application for use during execution further comprises allocating the additional portions of computer memory to the application in dependence upon computer memory allocation instructions included in the application.

5. The method of claim 1 wherein the plurality of compute nodes are connected together for data communications using 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:

powering up, during compute node initialization, only a portion of computer memory of a compute node;

configuring an operating system for the compute node in the powered up portion of computer memory, including copying an image of the operating system to the powered up portion of computer memory;

receiving, by the operating system, an instruction to load an application for execution;

allocating, by the operating system, additional portions of computer memory to the application for use during execution;

powering up the additional portions of computer memory allocated for use by the application during execution, wherein powering up the additional portions of computer memory allocated for use by the application during execution further comprises powering up the additional portions of computer memory upon requests to access those additional portions of computer memory; and

loading, by the operating system, the application into the powered up additional portions of computer memory.

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

identifying, by the operating system, unused portions of the computer memory allocated to the application, the unused portions not utilized by the application during execution; and

reducing power to at least some of the unused portions of the computer memory allocated to the application.

8. The parallel computer of claim 6 wherein:

the computer memory of each compute node is characterized by varying levels of power consumption and varying levels of performance; and

allocating, by the operating system, additional portions of computer memory to the application for use during execution further comprises allocating the additional portions of computer memory to the application in dependence upon the levels of power consumption and levels of performance that characterize the computer memory.

9. The parallel computer of claim 6 wherein allocating, by the operating system, additional portions of computer memory to the application for use during execution further comprises allocating the additional portions of computer memory to the application in dependence upon computer memory allocation instructions included in the application.

10. The parallel computer of claim 6 wherein the plurality of compute nodes are connected together for data communications using 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 recordable medium, the computer program product comprising computer program instructions capable of:

powering up, during compute node initialization, only a portion of computer memory of a compute node;

configuring an operating system for the compute node in the powered up portion of computer memory, including copying an image of the operating system to the powered up portion of computer memory;

receiving, by the operating system, an instruction to load an application for execution;

allocating, by the operating system, additional portions of computer memory to the application for use during execution;

powering up the additional portions of computer memory allocated for use by the application during execution, wherein powering up the additional portions of computer memory allocated for use by the application during execution further comprises powering up the additional portions of computer memory upon requests to access those additional portions of computer memory; and

loading, by the operating system, the application into the powered up additional portions of computer memory.

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

identifying, by the operating system, unused portions of the computer memory allocated to the application, the unused portions not utilized by the application during execution; and

reducing power to at least some of the unused portions of the computer memory allocated to the application.

13. The computer program product of claim 11 wherein:

the computer memory of each compute node is characterized by varying levels of power consumption and varying levels of performance; and

allocating, by the operating system, additional portions of computer memory to the application for use during execution further comprises allocating the additional portions of computer memory to the application in dependence upon the levels of power consumption and levels of performance that characterize the computer memory.

14. The computer program product of claim 11 wherein allocating, by the operating system, additional portions of computer memory to the application for use during execution further comprises allocating the additional portions of computer memory to the application in dependence upon computer memory allocation instructions included in the application.

15. The computer program product of claim 11 wherein the plurality of compute nodes are connected together for data communications using 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.

Assignments (2)
CONFIRMATORY LICENSE Recorded Sep 26, 2008
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: ENERGY, U.S. DEPARTMENT OF
Reel/Frame 021597/0074 →
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/0347 →
Continuity (1)
Related Publication 20090300386A1 · Dec 3, 2009