José Carlos Brustoloni

Thesis Title: Effects of Data Passing Semantics and Operating System Structure on Network I/O Performance
Degree Type: Ph.D. in Computer Science
Advisor(s): Peter Steenkiste
Graduated: August 1997

Abstract:

Elimination of data and control passing overheads in I/O has been a long-sought goal. Researchers have often proposed changing the semantics of I/O data passing, so as to make copying unnecessary, or the structure of the operating system, so as to reduce or eliminate data and control passing. However, most such changes are incompatible with existing applications and therefore have not been adopted in conventional systems. My thesis is that, in network I/O, optimizations that preserve data passing semantics and system structure can give end-to-end improvements competitive with those of data and control passing optimizations that change semantics or structure. Moreover, current technological trends tend to reduce differences in such improvements.

To demonstrate the thesis, I introduce new models of I/O organization, optimization, and data passing, emphasizing structure and compatibility rather than implementation. I review previous network I/O optimizations and propose many new ones, including emulated copy, for data passing without copying but with copy semantics between application and system buffers, and I/O-oriented IPC, for efficient data passing to and from user-level server buffers. I examine in detail network adapter requirements for copy avoidance. I describe the implementation of the different optimizations in Genie, a new I/O framework.

Using Genie, I experimentally compare the optimizations on a variety of platforms and with different levels of hardware support. The experiments confirm the thesis, showing that: (1) Emulated copy performs competitively with data passing schemes with move or share semantics; (2) Emulated copy performs competitively with data and control passing optimizations enabled by extensible kernels; and (3) I/O-oriented IPC gives user-level I/O servers performance approaching that of kernel-level ones. In all tests, network I/O performance was determined primarily by limitations of the physical I/O subsystem and presence or absence of data copying, and not by semantics or structure of the operating system. Moreover, end-to-end differences among optimizations varied inversely to the processor's SPECint95 benchmark.

The experiments also demonstrate that emulated copy interoperates efficiently with mapped file I/O, allowing applications to pass data without copying between networks and file systems.

Thesis Committee:
Peter Steenkiste (Chair)
David B. Johnson
M. Satyanarayanan
Willy E. Zwaenepoel (Rice University)

James Morris, Head, Computer Science Department
Raj Reddy Dean, School of Computer Science

Keywords:
I/O, networking, copy avoidance, virtual memory, data passing semantics, APIs, operating system structure, network adapters, protocol processing

CMU-CS-97-176.pdf (1.18 MB) ( 198 pages)
Copyright Notice