Issue No. 01 - January/February (1997 vol. 17)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/40.566186
The SHRIMP project at Princeton University supports user-level communication between processes by mapping memory pages between virtual address spaces. This virtual memory-mapped network interface seems to have many advantages including flexible user-level communication, and very low overhead to initiate data transfers. In this work we examine two implementations of RPC and sockets for the SHRIMP multicomputer that deliver to user applications almost raw hardware performance. We achieve high performance by taking advantage of the features of the underlying SHRIMP architecture. SHRIMP provides low-latency, user-level communication, without imposing any buffer management semantics, and without requiring an interrupt for each message. This allows packages like our RPC and sockets libraries to customize their buffer management and control transfer strategies to optimize performance.
Interconnects, client-server computing, multicomputing, distributed computing, fault tolerance
Angelos Bilas, Edward W. Felten, Stefanos N. Damianakis, Cezary Dubnicki, "Client-Server Computing on Shrimp", IEEE Micro, vol. 17, no. , pp. 8-18, January/February 1997, doi:10.1109/40.566186