Intranode data communications in a parallel computer
First Claim
1. A method of intranode data communications in a parallel computer, the parallel computer comprising a plurality of compute nodes, each compute node of the plurality of compute nodes configured to execute a plurality of processes, the method comprising:
- upon initialization of a first process of one of the plurality of compute nodes, allocating, by the first process, a region of shared memory;
establishing, by the first process within the allocated region of shared memory, a predefined number of message buffers, each message buffer associated with one of the plurality of processes to be initialized on the one of the plurality of compute nodes;
sending, by the first process to a second process of the one of the plurality of compute nodes, a data communications message without determining whether the second process has been initialized, including storing the data communications message in the message buffer of the second process;
upon initialization of the second process;
retrieving, by the second process, a pointer to the second process'"'"'s message buffer; and
retrieving, by the second process from the second process'"'"'s message buffer in dependence upon the pointer, the data communications message sent by the first process, 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 a compute node of the plurality of compute nodes, including specifications of a client, a context, and a task, the data communications endpoints coupled for data communications through the PAMI;
each process of the plurality of processes 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.
1 Assignment
0 Petitions
Accused Products
Abstract
Intranode data communications in a parallel computer that includes compute nodes configured to execute processes, where the data communications include: allocating, upon initialization of a first process of a compute node, a region of shared memory; establishing, by the first process, a predefined number of message buffers, each message buffer associated with a process to be initialized on the compute node; sending, to a second process on the same compute node, a data communications message without determining whether the second process has been initialized, including storing the data communications message in the message buffer of the second process; and upon initialization of the second process: retrieving, by the second process, a pointer to the second process'"'"'s message buffer; and retrieving, by the second process from the second process'"'"'s message buffer in dependence upon the pointer, the data communications message sent by the first process.
-
Citations
5 Claims
-
1. A method of intranode data communications in a parallel computer, the parallel computer comprising a plurality of compute nodes, each compute node of the plurality of compute nodes configured to execute a plurality of processes, the method comprising:
-
upon initialization of a first process of one of the plurality of compute nodes, allocating, by the first process, a region of shared memory; establishing, by the first process within the allocated region of shared memory, a predefined number of message buffers, each message buffer associated with one of the plurality of processes to be initialized on the one of the plurality of compute nodes; sending, by the first process to a second process of the one of the plurality of compute nodes, a data communications message without determining whether the second process has been initialized, including storing the data communications message in the message buffer of the second process; upon initialization of the second process; retrieving, by the second process, a pointer to the second process'"'"'s message buffer; and retrieving, by the second process from the second process'"'"'s message buffer in dependence upon the pointer, the data communications message sent by the first process, 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 a compute node of the plurality of compute nodes, including specifications of a client, a context, and a task, the data communications endpoints coupled for data communications through the PAMI;each process of the plurality of processes 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)
-
Specification