Application-Allocated I/O Buffering with System-Allocated Performance,

Abstract

We present a novel taxonomy that classifies I/O data passing between applications and operating system along three dimensions: buffer allocation scheme, guaranteed integrity, and optimization. We contribute new optimizations - input-disabled pageout, transient output copy-on-write, and input alignment - that are used in a novel buffering semantics, emulated copy. We implemented an I/O framework, Genie, that allows applications to select any semantics in the taxonomy. Using Genie for end-to-end communication over an ATM network, we found that, compared to other semantics, only copy had sharply inferior performance. All other semantics performed quite similarly, contradicting the expectation that emulated copy, being application-allocated and strong-integrity (as is copy semantics), should have considerably worse performance than those of move (system-allocated) or share (weak-integrity) semantics. 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. We conclude that I/O interfaces with copy semantics, such as that of Unix, can be transparently converted to emulated copy and thus achieve performance approaching the best in the taxonomy.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Aug 01, 1996
Accession Number
ADA322736

Entities

People

  • Jose C. Brustoloni
  • Peter Steenkiste

Organizations

  • Carnegie Mellon University

Tags

DTIC Thesaurus Topics

  • Clustering
  • Operating Systems
  • Optimization
  • Semantics
  • Taxonomy

Fields of Study

  • Computer science

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Parallel and Distributed Computing.
  • Systems Analysis and Design