IP Library Granted Patent US 8,893,083
Granted Patent B2
US 8,893,083 · App. 13/206,116 · Granted Nov 18, 2014

Collective operation protocol selection in a parallel computer

Inventors: Charles J. Archer (Rochester, MN); Michael A. Blocksome (Rochester, MN); Joseph D. Ratterman (Rochester, MN); Brian E. Smith (Rochester, MN)
Assignee: International Business Machines Coporation
G06F9/38G06F15/78G06F8/443G06F9/50G06F11/3447
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,893,083
App. No.
13/206,116
Granted
Nov 18, 2014
Kind
B2
Abstract

Collective operation protocol selection in a parallel computer that includes compute nodes may be carried out by calling a collective operation with operating parameters; selecting a protocol for executing the operation and executing the operation with the selected protocol. Selecting a protocol includes: iteratively, until a prospective protocol meets predetermined performance criteria: providing, to a protocol performance function for the prospective protocol, the operating parameters; determining whether the prospective protocol meets predefined performance criteria by evaluating a predefined performance fit equation, calculating a measure of performance of the protocol for the operating parameters; determining that the prospective protocol meets predetermined performance criteria and selecting the protocol for executing the operation only if the calculated measure of performance is greater than a predefined minimum performance threshold.

Claims (52)

1. An apparatus for collective operation protocol selection in a parallel computer, the parallel computer comprising a plurality of compute nodes, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

calling a collective operation with one or more operating parameters;

selecting one of a plurality of protocols that define execution of the collective operation, including, iteratively, for each protocol beginning with a first prospective protocol until a prospective protocol meets predetermined performance criteria:

providing, to a protocol performance function for the prospective protocol, the operating parameters of the collective operation;

determining, by the performance function, whether the prospective protocol meets predefined performance criteria for the operating parameters, including evaluating, with the operating parameters, a predefined performance fit equation for the prospective protocol, calculating a measure of performance of the prospective protocol for the operating parameters, and determining that the prospective protocol meets predetermined performance criteria; and

selecting the prospective protocol as the protocol for executing the collective operation only if the calculated measure of performance is greater than a predefined minimum performance threshold; and

executing the collective operation with the selected protocol.

2. The apparatus of claim 1 wherein:

each protocol of the collective operation is associated with metadata, the metadata for each collective operation including a pointer to the protocol's performance function; and

providing, to a protocol performance function for the prospective protocol, the operating parameters of the collective operation further comprises retrieving, from the prospective protocol's metadata, the pointer to the prospective protocol's performance function.

3. The apparatus of claim 1 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

prior to protocol selection, for one or more sets of operating parameters and one or more prospective protocols of the collective operation: determining whether the prospective protocol meets predetermined performance criteria; and

caching each determination of a prospective protocol meeting the predetermined performance criteria upon establishment of an operational group of the compute nodes,

wherein selecting one of a plurality of protocols for executing the collective operation further comprises:

determining, for the operating parameters of the collective operation, whether there is a cached determination of a prospective protocol meeting the predetermined performance criteria; and

if there is a cached determination of a prospective protocol meeting the predetermined performance criteria, selecting the prospective protocol as the protocol for executing the collective operation, without calculating a measure of performance of the prospective protocol for the operating parameter during protocol selection.

4. The apparatus of claim 1 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:

establishing, for each protocol of the collective operation, a predefined performance fit equation, including:

executing the protocol once for each of a plurality of sets of operating parameters;

recording, for each execution, a performance measurement; and

calculating a fit equation for the recorded performance measurements.

5. The apparatus of claim 4 wherein calculating a fit equation for the recorded performance measurements further comprises calculating one of:

a linear approximation fit equation;

a cubic approximation fit equation; and

a quartic approximation fit equation.

6. The apparatus of claim 4 wherein calculating a fit equation for the recorded performance measurements further comprises calculating an exact function for all possible operating parameters.

7. A computer program product for collective operation protocol selection in a parallel computer, the parallel computer comprising a plurality of compute nodes, the computer program product disposed upon a computer readable medium that is not a signal medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:

calling a collective operation with one or more operating parameters;

selecting one of a plurality of protocols that define execution of the collective operation, including, iteratively, for each protocol beginning with a first prospective protocol until a prospective protocol meets predetermined performance criteria:

providing, to a protocol performance function for the prospective protocol, the operating parameters of the collective operation;

determining, by the performance function, whether the prospective protocol meets predefined performance criteria for the operating parameters, including evaluating, with the operating parameters, a predefined performance fit equation for the prospective protocol, calculating a measure of performance of the prospective protocol for the operating parameters, and determining that the prospective protocol meets predetermined performance criteria; and

selecting the prospective protocol as the protocol for executing the collective operation only if the calculated measure of performance is greater than a predefined minimum performance threshold; and

executing the collective operation with the selected protocol.

8. The computer program product of claim 7 wherein:

each protocol of the collective operation is associated with metadata, the metadata for each collective operation including a pointer to the protocol's performance function; and

providing, to a protocol performance function for the prospective protocol, the operating parameters of the collective operation further comprises retrieving, from the prospective protocol's metadata, the pointer to the prospective protocol's performance function.

9. The computer program product of claim 7 further comprising computer program instructions that, when executed, cause the computer to carry out the steps of:

prior to protocol selection, for one or more sets of operating parameters and one or more prospective protocols of the collective operation: determining whether the prospective protocol meets predetermined performance criteria; and

caching each determination of a prospective protocol meeting the predetermined performance criteria upon establishment of an operational group of the compute nodes,

wherein selecting one of a plurality of protocols for executing the collective operation further comprises:

determining, for the operating parameters of the collective operation, whether there is a cached determination of a prospective protocol meeting the predetermined performance criteria; and

if there is a cached determination of a prospective protocol meeting the predetermined performance criteria, selecting the prospective protocol as the protocol for executing the collective operation, without calculating a measure of performance of the prospective protocol for the operating parameter during protocol selection.

10. The computer program product of claim 7 further comprising computer program instructions that, when executed, cause the computer to carry out the steps of:

establishing, for each protocol of the collective operation, a predefined performance fit equation, including:

executing the protocol once for each of a plurality of sets of operating parameters;

recording, for each execution, a performance measurement; and

calculating a fit equation for the recorded performance measurements.

11. The computer program product of claim 10 wherein calculating a fit equation for the recorded performance measurements further comprises calculating one of:

a linear approximation fit equation;

a cubic approximation fit equation; and

a quartic approximation fit equation.

12. The computer program product of claim 10 wherein calculating a fit equation for the recorded performance measurements further comprises calculating an exact function for all possible operating parameters.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2011
From: ARCHER, CHARLES J.; BLOCKSOME, MICHAEL A.; RATTERMAN, JOSEPH D.; SMITH, BRIAN E.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 026724/0858 →
Continuity (1)
Related Publication 20130042088A1 · Feb 14, 2013