José Carlos Brustoloni 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