Internode data communications in a parallel computer
First Claim
1. An apparatus for internode data communications in a parallel computer, the parallel computer comprising a plurality of compute nodes, each compute node comprising main computer memory and a messaging unit, the messaging unit comprising messaging unit computer memory, the messaging unit comprising a module of automated computing machinery coupling the plurality of compute nodes for data communications, 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, cause the apparatus to carry out the steps of:
- for each compute node at compute node boot time;
allocating, by the messaging unit in the messaging unit'"'"'s computer memory, a predefined number of message buffers, each message buffer associated with a process to be initialized on the compute node;
receiving, by the messaging unit prior to initialization of a particular process on the compute node, a data communications message intended for the particular process;
storing the data communications message in the message buffer associated with the particular process;
upon initialization of the particular process, establishing, by the particular process, a messaging buffer in the main computer memory of the compute node; and
copying, by the particular process, the data communications message from the message buffer of the messaging unit into the message buffer of the main computer memory, wherein;
the parallel computer comprises a parallel active messaging interface (‘
PAMI’
) and the plurality of compute nodes execute a parallel application, the PAMI comprises data communications endpoints, each data communications endpoint comprising a specification of data communications parameters for a thread of execution on one of the plurality of compute nodes, including specifications of a client, a context, and a task, the data communication endpoints coupled for data communications through the PAMI;
the particular process comprises one of the data communications endpoints;
each client comprises a collection of data communications resources dedicated to exclusive use of an application-level data processing entity;
each context comprises a subset of the collection of data processing resources of a client, context functions, and a work queue of data transfer instructions to be performed by use of the subset through the context functions operated by an assigned thread of execution;
each task represents a process of execution of the parallel application; and
each context carries out data communications operations independently and in parallel with other contexts.
2 Assignments
0 Petitions
Accused Products
Abstract
Internode data communications in a parallel computer that includes compute nodes that each include main memory and a messaging unit, the messaging unit including computer memory and coupling compute nodes for data communications, in which, for each compute node at compute node boot time: a messaging unit allocates, in the messaging unit'"'"'s computer memory, a predefined number of message buffers, each message buffer associated with a process to be initialized on the compute node; receives, prior to initialization of a particular process on the compute node, a data communications message intended for the particular process; and stores the data communications message in the message buffer associated with the particular process. Upon initialization of the particular process, the process establishes a messaging buffer in main memory of the compute node and copies the data communications message from the message buffer of the messaging unit into the message buffer of main memory.
63 Citations
8 Claims
-
1. An apparatus for internode data communications in a parallel computer, the parallel computer comprising a plurality of compute nodes, each compute node comprising main computer memory and a messaging unit, the messaging unit comprising messaging unit computer memory, the messaging unit comprising a module of automated computing machinery coupling the plurality of compute nodes for data communications, 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, cause the apparatus to carry out the steps of:
for each compute node at compute node boot time; allocating, by the messaging unit in the messaging unit'"'"'s computer memory, a predefined number of message buffers, each message buffer associated with a process to be initialized on the compute node; receiving, by the messaging unit prior to initialization of a particular process on the compute node, a data communications message intended for the particular process; storing the data communications message in the message buffer associated with the particular process; upon initialization of the particular process, establishing, by the particular process, a messaging buffer in the main computer memory of the compute node; and copying, by the particular process, the data communications message from the message buffer of the messaging unit into the message buffer of the main computer memory, wherein; the parallel computer comprises a parallel active messaging interface (‘
PAMI’
) and the plurality of compute nodes execute a parallel application, the PAMI comprises data communications endpoints, each data communications endpoint comprising a specification of data communications parameters for a thread of execution on one of the plurality of compute nodes, including specifications of a client, a context, and a task, the data communication endpoints coupled for data communications through the PAMI;the particular process comprises one of the data communications endpoints; each client comprises a collection of data communications resources dedicated to exclusive use of an application-level data processing entity; each context comprises a subset of the collection of data processing resources of a client, context functions, and a work queue of data transfer instructions to be performed by use of the subset through the context functions operated by an assigned thread of execution; each task represents a process of execution of the parallel application; and each context carries out data communications operations independently and in parallel with other contexts. - View Dependent Claims (2, 3, 4)
-
5. A computer program product for internode data communications in a parallel computer, the parallel computer comprising a plurality of compute nodes, each compute node comprising main computer memory and a messaging unit, the messaging unit comprising messaging unit computer memory, the messaging unit comprising a module of automated computing machinery coupling the plurality of compute nodes for data communications, the computer program product disposed upon a computer readable storage medium, wherein the computer readable storage medium is not a signal and the computer program product comprises computer program instructions that, when executed, cause a computer to carry out the steps of:
for each compute node at compute node boot time; allocating, by the messaging unit in the messaging unit'"'"'s computer memory, a predefined number of message buffers, each message buffer associated with a process to be initialized on the compute node; receiving, by the messaging unit prior to initialization of a particular process on the compute node, a data communications message intended for the particular process; storing the data communications message in the message buffer associated with the particular process; upon initialization of the particular process, establishing, by the particular process, a messaging buffer in the main computer memory of the compute node; and copying, by the particular process, the data communications message from the message buffer of the messaging unit into the message buffer of the main computer memory, wherein; the parallel computer comprises a Parallel active messaging interface (‘
PAMI’
) and the plurality of compute nodes execute a parallel application, the PAMI comprises data communications endpoints, each data communications endpoint comprising a specification of data communications parameters for a thread of execution on one of the plurality of compute nodes, including specifications of a client, a context, and a task, the data communication endpoints coupled for data communications through the PAMI;the particular process comprises one of the data communications endpoints; each client comprises a collection of data communications resources dedicated to exclusive use of an application-level data processing entity; each context comprises a subset of the collection of data processing resources of a client, context functions, and a work queue of data transfer instructions to be performed by use of the subset through the context functions operated by an assigned thread of execution; each task represents a process of execution of the parallel application; and each context carries out data communications operations independently and in parallel with other contexts. - View Dependent Claims (6, 7, 8)
Specification