VMMC-2: Efficient Support for Reliable, Connection-Oriented Communication
Abstract:
The basic virtual memory-mapped communication (VMMC) model provides
protected, direct communication between the sender's and receiver's
virtual address spaces, but it does not support
high-level connection-oriented communication APIs well. This paper
presents VMMC-2, an extension to the basic VMMC. We describe
the design, implementation, and evaluate the performance of three
mechanisms in VMMC-2: (1) a user-managed TLB mechanism for address
translation which enables user libraries to dynamically manage the
amount of pinned space and requires only driver support from many
operating systems; (2) a transfer redirection mechanism which avoids
copying on the receiver's side; (3) a reliable communication protocol
at the data link layer which avoids copying on the sender's side.To validate our extensions we implemented stream sockets on top
of the VMMC-2{} running on a Myrinet network of Pentium PCs. This
zero-copy sockets implementation provides a maximum bandwidth of over
84~Mbytes/s and a one-way latency of 20 ~ µ s.