Software support for outboard buffering and checksumming

Data copying and checksumming are the most expensive operations when doing high-bandwidth network IO over a high-speed network. Under some conditions, outboard buffering and checksumming can eliminate accesses to the data, thus making communication less expensive and faster. One of the scenarios in which outboard buffering pays off is the common case of applications accessing the network using the Berkeley sockets interface and the Internet protocol stack. In this paper we describe the changes that were made to a BSD protocol stack to make use of a network adaptor that supports outboard buffering and checksumming. Our goal is not only to achieve "single copy" communication for application that use sockets, but to also have efficient communication for in-kernel applications and for applications using other networks. Performance measurements show that for large reads and writes the single-copy path through the stack is significantly more efficient than the original implementation.

[1]  D. Orr,et al.  Mach: a foundation for open systems (operating systems) , 1989, Proceedings of the Second Workshop on Workstation Operating Systems.

[2]  Peter Steenkiste A systematic approach to host interface design for high-speed networks , 1994, Computer.

[3]  Larry L. Peterson,et al.  Fbufs: a high-bandwidth cross-domain transfer facility , 1994, SOSP '93.

[4]  David Banks,et al.  User-space protocols deliver high performance to applications on a low-cost Gb/s LAN , 1994, SIGCOMM '94.

[5]  José Carlos Brustoloni Exposed buffering and sub-datagram flow control for ATM LANs , 1994, Proceedings of 19th Conference on Local Computer Networks.

[6]  Larry L. Peterson,et al.  Experiences with a high-speed network adaptor: a software perspective , 1994 .

[7]  C. Dalton,et al.  Afterburner (network-independent card for protocols) , 1993, IEEE Network.

[8]  Peter Steenkiste,et al.  Analyzing communication latency using the Nectar communication processor , 1992, SIGCOMM '92.

[9]  K. K. Ramakrishnan,et al.  Performance Considerations in Designing Network Interfaces , 1993, IEEE J. Sel. Areas Commun..

[10]  Peter Druschel,et al.  Experiences with a high-speed network adaptor: a software perspective , 1994, SIGCOMM 1994.

[11]  K. Hardwick,et al.  HIPPI world-the switch is the network , 1992, Digest of Papers COMPCON Spring 1992.

[12]  Samuel J. Leffler,et al.  The design and implementation of the 4.3 BSD Unix operating system , 1991, Addison-Wesley series in computer science.

[13]  H. T. Kung,et al.  A Host Interface Architecture for High-Speed Networks , 1992, HPN.

[14]  Armando P. Stettner The design and implementation of the 4.3BSD UNIX operating system , 1988 .

[15]  Brian Zill,et al.  Architecture and evaluation of a high-speed networking subsystem for distributed-memory systems , 1994, ISCA '94.

[16]  Chris I. Dalton,et al.  User-space protocols deliver high performance to applications on a low-cost Gb/s LAN , 1994, SIGCOMM 1994.