Send specifies buffer to be transmitted and receiving process |
Receive specifies sending process and application storage to receive into |
Memory to memory copy, but need to name processes |
Optional tag on send and matching rule on receive |
User process names local data and entities in process/tag space too |
In simplest form, the send/recv match achieves pairwise synch event but also collective communication |
Many overheads: copying, buffer management, protection |