Data communications for a collective operation in a parallel active messaging interface of a parallel computer
First Claim
1. A method of algorithm selection for data communications for a collective operation in a parallel active messaging interface (‘
- PAMI’
) of a parallel computer, the parallel computer comprising a plurality of compute nodes that execute a parallel application, the PAMI comprising data communications endpoints, each endpoint comprising a specification of data communications parameters for a thread of execution on a compute node, including specifications of a client, a context, and a task, the compute nodes and the endpoints coupled for data communications through the PAMI and through data communications resources, the method comprising;
associating in the PAMI data communications algorithms and bit masks so that each algorithm is associated with a separate bit mask, each bit in each mask representing the presence or absence of a characteristic of a collective instruction to be executed by use of the algorithm associated with that mask;
initializing a Message Passing Interface (‘
MPI’
) communicator;
partially preconstructing, upon initializing the MPI communicator, a bit mask for each type of collective instruction;
receiving in an origin endpoint of the PAMI a collective instruction, the collective instruction specifying transmission of a data communications message from the origin endpoint to at least one target endpoint;
constructing by the origin endpoint a bit mask for the received collective instruction, each bit in the mask representing a characteristic of the received collective instruction, wherein constructing the bit mask for the received collective instruction further comprises constructing the bit mask for the received collective instruction from one of the partially preconstructed bit masks;
selecting by the origin endpoint, from the associated data communications algorithms in dependence upon the constructed bit mask, a data communications algorithm for use in executing the received collective instruction; and
executing the received collective instruction by the origin endpoint, including transmitting, according to the selected data communications algorithm from the origin endpoint to the target endpoint, the data communications message.
1 Assignment
0 Petitions
Accused Products
Abstract
Algorithm selection for data communications in a parallel active messaging interface (‘PAMI’) of a parallel computer, the PAMI composed of data communications endpoints, each endpoint including specifications of a client, a context, and a task, endpoints coupled for data communications through the PAMI, including associating in the PAMI data communications algorithms and bit masks; receiving in an origin endpoint of the PAMI a collective instruction, the instruction specifying transmission of a data communications message from the origin endpoint to a target endpoint; constructing a bit mask for the received collective instruction; selecting, from among the associated algorithms and bit masks, a data communications algorithm in dependence upon the constructed bit mask; and executing the collective instruction, transmitting, according to the selected data communications algorithm from the origin endpoint to the target endpoint, the data communications message.
-
Citations
17 Claims
-
1. A method of algorithm selection for data communications for a collective operation in a parallel active messaging interface (‘
- PAMI’
) of a parallel computer, the parallel computer comprising a plurality of compute nodes that execute a parallel application, the PAMI comprising data communications endpoints, each endpoint comprising a specification of data communications parameters for a thread of execution on a compute node, including specifications of a client, a context, and a task, the compute nodes and the endpoints coupled for data communications through the PAMI and through data communications resources, the method comprising;associating in the PAMI data communications algorithms and bit masks so that each algorithm is associated with a separate bit mask, each bit in each mask representing the presence or absence of a characteristic of a collective instruction to be executed by use of the algorithm associated with that mask; initializing a Message Passing Interface (‘
MPI’
) communicator;partially preconstructing, upon initializing the MPI communicator, a bit mask for each type of collective instruction; receiving in an origin endpoint of the PAMI a collective instruction, the collective instruction specifying transmission of a data communications message from the origin endpoint to at least one target endpoint; constructing by the origin endpoint a bit mask for the received collective instruction, each bit in the mask representing a characteristic of the received collective instruction, wherein constructing the bit mask for the received collective instruction further comprises constructing the bit mask for the received collective instruction from one of the partially preconstructed bit masks; selecting by the origin endpoint, from the associated data communications algorithms in dependence upon the constructed bit mask, a data communications algorithm for use in executing the received collective instruction; and executing the received collective instruction by the origin endpoint, including transmitting, according to the selected data communications algorithm from the origin endpoint to the target endpoint, the data communications message. - View Dependent Claims (2, 3, 4, 5, 6)
- PAMI’
-
7. A parallel computer that selects an algorithm for data communications for a collective operation in a parallel active messaging interface (‘
- PAMI’
) of the parallel computer, the parallel computer comprising a plurality of compute nodes that execute a parallel application, the PAMI comprising data communications endpoints, each endpoint comprising a specification of data communications parameters for a thread of execution on a compute node, including specifications of a client, a context, and a task, the compute nodes and the endpoints coupled for data communications through the PAMI and through data communications resources, the compute nodes comprising computer processors operatively coupled to computer memory having disposed within it computer program instructions that, when executed by the computer processors, cause the parallel computer to function by;associating in the PAMI data communications algorithms and bit masks so that each algorithm is associated with a separate bit mask, each bit in each mask representing the presence or absence of a characteristic of a collective instruction to be executed by use of the algorithm associated with that mask; initializing a Message Passing Interface (‘
MPI’
) communicator;partially preconstructing, upon initializing the MPI communicator, a bit mask for each type of collective instruction; receiving in an origin endpoint of the PAMI a collective instruction, the collective instruction specifying transmission of a data communications message from the origin endpoint to at least one target endpoint; constructing by the origin endpoint a bit mask for the received collective instruction, each bit in the mask representing a characteristic of the received collective instruction, wherein constructing the bit mask for the received collective instruction further comprises constructing the bit mask for the received collective instruction from one of the partially preconstructed bit masks; selecting by the origin endpoint, from the associated data communications algorithms in dependence upon the constructed bit mask, a data communications algorithm for use in executing the received collective instruction; and executing the received collective instruction by the origin endpoint, including transmitting, according to the selected data communications algorithm from the origin endpoint to the target endpoint, the data communications message. - View Dependent Claims (8, 9, 10, 11, 12)
- PAMI’
-
13. A computer program product for algorithm selection for data communications for a collective operation in a parallel active messaging interface (‘
- PAMI’
) of a parallel computer, the parallel computer comprising a plurality of compute nodes that execute a parallel application, the PAMI comprising data communications endpoints, each endpoint comprising a specification of data communications parameters for a thread of execution on a compute node, including specifications of a client, a context, and a task, the compute nodes and the endpoints coupled for data communications through the PAMI and through data communications resources, the computer program product disposed upon a computer readable storage medium, the computer program product comprising computer program instructions that, when installed and executed, cause the parallel computer to function by;associating in the PAMI data communications algorithms and bit masks so that each algorithm is associated with a separate bit mask, each bit in each mask representing the presence or absence of a characteristic of a collective instruction to be executed by use of the algorithm associated with that mask; initializing a Message Passing Interface (MPI′
) communicator;partially preconstructing, upon initializing the MPI communicator, a bit mask for each type of collective instruction; receiving in an origin endpoint of the PAMI a collective instruction, the collective instruction specifying transmission of a data communications message from the origin endpoint to at least one target endpoint; constructing by the origin endpoint a bit mask for the received collective instruction, each bit in the mask representing a characteristic of the received collective instruction, wherein constructing the bit mask for the received collective instruction further comprises constructing the bit mask for the received collective instruction from one of the partially preconstructed bit masks; selecting by the origin endpoint, from the associated data communications algorithms in dependence upon the constructed bit mask, a data communications algorithm for use in executing the received collective instruction; and executing the received collective instruction by the origin endpoint, including transmitting, according to the selected data communications algorithm from the origin endpoint to the target endpoint, the data communications message. - View Dependent Claims (14, 15, 16, 17)
- PAMI’
Specification