Speaker: Jose Carlos Brustoloni, CMU
Effects of Buffering Semantics on I/O PerformanceDate: October 10, 1996
Abstract: We present a novel taxonomy that characterizes in a structured way the software and hardware tradeoffs for I/O data passing between applications and operating system. This work contributes new techniques, input-disabled pageout, transient output copy-on-write, and input alignment, that are used for copy avoidance in an optimized buffering semantics, emulated copy. Emulated copy offers the same API and integrity guarantees as those of copy semantics and, therefore, can transparently replace it. We implemented an I/O framework, Genie, that allows applications to select any semantics in the taxonomy. Using Genie for communication between PCs and AlphaStations over an ATM network at 155 Mbps, we found that all non-copy semantics performed similarly, and that only copy semantics had distinctly inferior performance. We analyzed end-to-end latencies in terms of the costs of primitive data passing operations and modeled how those costs scale with CPU, memory, and network speeds. The analysis suggests that current trends tend to intensify the observed performance clustering. The main conclusion is that existing I/O interfaces with copy semantics, such as that of Unix, can be transparently converted to emulated copy semantics and thus achieve performance comparable to the best obtainable with any semantics in the taxonomy.
Joint work with Peter Steenkiste to be presented at OSDI'96.