Up: Sketch of a ``Device-Level''
Previous: Eager send protocol
This assumes the protocol:
Data is never buffered, although ready-to-send messages may be.
This protocol is likely to be more efficient for long messages, because
it eliminates the need to copy data from input-buffer to user space.
A ready-to-receive message can include an identifier for the request
object at the receiving end. The sending end can reflect this id in the
header of the data packet, allowing the input handler at the receiving
end to retrieve the relevant request when the data arrives.
- source sends ready-to-send
- destination sends ready-to-receive
- data is exchanged
Pseudocode for isend method (rendezvous protocol)
Pseudocode for irecv method (rendezvous protocol)
Pseudocode for waitany method (rendezvous protocol)
Pseudocode for input handler threads (rendezvous protocol)