Virtual heterogeneous channel for message passing
First Claim
Patent Images
1. A system comprising:
- a first processor to send a message from a first process executing on the first processor to a second process executing on a second processor, wherein the first process is to send the message while the second process is in a wait state;
the second processor to receive the message from the first process while the second process is in the wait state, wherein the first process is to send a wake up message to the second process based on a state of a synchronization block for the second process if the second process is in the wait state when the message is sent; and
a dynamic random access memory (DRAM) coupled to the first and second processors and including instructions to create a shared memory segment having a location distributed using an out-of-band communication, the shared memory segment to store a synchronization block for the first process and store the synchronization block for the second process, wherein each synchronization block includes a wait flag to indicate that the associated process is in the wait state and a wake up counter to indicate a number of messages sent by the associated process to another process that have not been received.
0 Assignments
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.
-
Citations
10 Claims
-
1. A system comprising:
-
a first processor to send a message from a first process executing on the first processor to a second process executing on a second processor, wherein the first process is to send the message while the second process is in a wait state; the second processor to receive the message from the first process while the second process is in the wait state, wherein the first process is to send a wake up message to the second process based on a state of a synchronization block for the second process if the second process is in the wait state when the message is sent; and a dynamic random access memory (DRAM) coupled to the first and second processors and including instructions to create a shared memory segment having a location distributed using an out-of-band communication, the shared memory segment to store a synchronization block for the first process and store the synchronization block for the second process, wherein each synchronization block includes a wait flag to indicate that the associated process is in the wait state and a wake up counter to indicate a number of messages sent by the associated process to another process that have not been received. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
creating a shared memory segment having a location distributed using an out-of-band communication and 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, and a pointer to a mutex for synchronization of processes during access to the synchronization block; transferring a message from a first process to a shared memory buffer of a second process via a shared memory connection; and sending 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 (8, 9, 10)
-
Specification