*Result*: Effects of Data Passing Semantics and Operating System Structure on Network I/O Performance

Title:
Effects of Data Passing Semantics and Operating System Structure on Network I/O Performance
Contributors:
CARNEGIE-MELLON UNIV PITTSBURGH PA SCHOOL OF COMPUTER SCIENCE
Source:
DTIC AND NTIS
Publication Year:
1997
Collection:
Defense Technical Information Center: DTIC Technical Reports database
Document Type:
*Academic Journal* text
File Description:
text/html
Language:
English
Rights:
APPROVED FOR PUBLIC RELEASE
Accession Number:
edsbas.B4E02C69
Database:
BASE

*Further Information*

*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.*