Virtual heterogeneous channel for message passing
First Claim
Patent Images
1. An article comprising a machine-accessible storage medium including instructions that when executed cause a system to:
- create a shared memory segment to store a synchronization block for each of a plurality of processes that execute in a message passing interface (MPI) library, wherein each synchronization block includes a wait flag to indicate that the associated process is in a wait state, a first counter to indicate a number of messages sent by the associated process to another process that have not been received, a second counter to indicate the number of connections initiated by other processes to the associated process, and a pointer to a mutex for synchronization of processes during access to the synchronization block;
transfer a message from a first process to a shared memory buffer of a second process via a shared memory connection; and
send a wake up message from the first process to the second process via a secondary connection if the second process is in the wait state.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique includes using a virtual channel between a first process and a second process to communicate messages between the processes. Each message contains protocol data and user data. All of the protocol data is communicated over a first channel associated with the virtual channel, and the user data is selectively communicated over at least one other channel associated with the virtual channel.
48 Citations
4 Claims
-
1. An article comprising a machine-accessible storage medium including instructions that when executed cause a system to:
-
create a shared memory segment to store a synchronization block for each of a plurality of processes that execute in a message passing interface (MPI) library, wherein each synchronization block includes a wait flag to indicate that the associated process is in a wait state, a first counter to indicate a number of messages sent by the associated process to another process that have not been received, a second counter to indicate the number of connections initiated by other processes to the associated process, and a pointer to a mutex for synchronization of processes during access to the synchronization block; transfer a message from a first process to a shared memory buffer of a second process via a shared memory connection; and send a wake up message from the first process to the second process via a secondary connection if the second process is in the wait state. - View Dependent Claims (2, 3, 4)
-
Specification