ACM Computing Surveys 28A(4), December 1996, http://www.cs.duke.edu/~jsv/SDCR96-IO/VengroffVitterIO/. Copyright © 1996 by the Association for Computing Machinery, Inc. See the permissions statement below.
Darren Erik
Vengroff
Department of Electrical
Engineering, University of Delaware
Evans Hall, Newark, DE 19716, USA
vengroff@ee.udel.edu,
http://www.ee.udel.edu/~vengroff/
Jeffrey Scott
Vitter
Abstract: There has recently been much productive work in the algorithms community on techniques for efficient use of external memory in large-scale applications. In order for I/O-optimal algorithms to be implemented efficiently, the machines that they run on must support fundamental external-memory operations. Unfortunately, existing file systems generally do not support the necessary semantics or provide useful tools. There are three basic approaches to supporting development of I/O-efficient code, which we call array-oriented systems (such as PASSION and ViC*), access-oriented systems (such as the UNIX file system and Panda), and framework-oriented systems (such as TPIE, a Transparent Parallel I/O Programming Environment). In the full position statement, we discuss the advantages and potential of the TPIE approach in enabling I/O-efficient computation.Categories and Subject Descriptors: D.4.2 [Operating Systems]: Storage Management - Secondary Storage; D.4.4 [Operating Systems]: Communications Management - Input/Output; E.2 [Data Storage Representations]: Contiguous representations; E.5 [Files]: Sorting/searching; F.2.1 [Analysis of Algorithms and Problem Complexity: Numerical Algorithms and Problems - Computations on matrices; F.2.2 [Analysis of Algorithms and Problem Complexity: Nonnumerical Algorithms and Problems - Computations on discrete structures, geometrical problems and computations, sorting and searching; B.4.4 [Input/Output and Data Communications: Performance Analysis and Design Aids] - Formal models, Worst-case analysis;
General Terms: Algorithms, Design, Languages, Performance, Theory.
Additional Key Words and Phrases: I/O, external memory, secondary memory, communication, disk drive, parallel disks, sorting.