ComputingComputer EngineeringComputer ScienceFault ToleranceOperating SystemsStorage SystemsCache Behavior AnalysisCachingCaching StrategiesInterprocess CommunicationMemory Hierarchy OptimizationVirtual MemoryCache ArchitectureCache MemoryCopy-on-writeMemory Locality OptimizationNetworkingOperating System ArchitectureProtocol Stack DesignVirtual Memory Systems
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.
12
Mach: A New Kernel Foundation for UNIX Development.
Michael J. Accetta, R. Baron, William J. Bolosky et al. · USENIX Summer · 1986 · 919 citations
An analysis of TCP processing overhead
David D. Clark, Van Jacobson, John Romkey et al. · IEEE Communications Magazine · 2002 · 562 citations
Fbufs: a high-bandwidth cross-domain transfer facility
Peter Druschel, Larry Peterson · 1993 · 333 citations