Stream Sockets on SHRIMP
Abstract:
This paper describes an implementation of stream sockets for the
SHRIMP multicomputer. SHRIMP supports protected, user-level data
transfer, allows user-level code to perform its own buffer management,
and separates data transfers from control transfers so that data
transfers can be done without the interrupting the receiving node's
CPU. Our sockets implementation exploits all of these features to
provide high performance. End-to-end latency for 8 byte transfers is
11 microseconds, which is considerably lower than all previous
implementations of the sockets interface. For large transfers, we
obtained a bandwidth of 13.5 MBytes/sec, which is close to the
hardware limit when the receiver must perform a copy. Further
experiments with the public-domain benchmarks ttcp and netperf
confirms the excellent performance of our implementation.
- This technical report has been published as
- Stream Sockets on SHRIMP. Stefanos N. Damianakis, Cezary Dubnicki
and Edward W. Felten, Proc. of 1st
Internat. Workshop on Communication and
Architectural Support for Network-Based Parallel
Computing, February 1997. (Proceedings available
as Lecture Notes in Computer Science
#1199.)