Patent ID: 8893083

Claim:
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.