Check out the new USENIX Web site.

Zero-Copy TCP in Solaris


Hsiao-keng Jerry Chu
SunSoft Inc.

Abstract

This paper describes a new feature in Solaris that uses virtual memory remapping combined with checksumming support from the networking hardware, to eliminate data-touching overhead from the TCP/IP protocol stack. By implementing page remapping operations at the right level of the operating system, and caching MMU mappings to take advantage of locality of reference, significant performance gain is attained on certain hardware platforms. Nevertheless, the performance improvement over CPU copying varies, depending on the host memory cache architecture, MMU design, and application behavior. We begin by comparing different zero-copy schemes, and explain our preference for page remapping and copy-on-write (COW) techniques. We then describe our implementation, and present its performance characteristics under a number of different parameters. We conclude with ideas for future improvements.


Download the full text of this paper in ASCII (50,623 bytes) and POSTSCRIPT (185,727 bytes) form.

To Become a USENIX Member, please see our Membership Information.