External memory algorithms and data structures
Top Cited Papers
- 1 June 2001
- journal article
- review article
- Published by Association for Computing Machinery (ACM) in ACM Computing Surveys
- Vol. 33 (2) , 209-271
- https://doi.org/10.1145/384192.384193
Abstract
Data sets in large applications are often too massive to fit completely inside the computers internal memory. The resulting input/output communication (or I/O) between fast internal memory and slower external memory (such as disks) can be a major performance bottleneck. In this article we survey the state of the art in the design and analysis of external memory (or EM) algorithms and data structures, where the goal is to exploit locality in order to reduce the I/O costs. We consider a variety of EM paradigms for solving batched and online problems efficiently in external memory. For the batched problem of sorting and related problems such as permuting and fast Fourier transform, the key paradigms include distribution and merging. The paradigm of disk striping offers an elegant way to use multiple disks in parallel. For sorting, however, disk striping can be nonoptimal with respect to I/O, so to gain further improvements we discuss distribution and merging techniques for using the disks independently. We also consider useful techniques for batched EM problems involving matrices (such as matrix multiplication and transposition), geometric data (such as finding intersections and constructing convex hulls), and graphs (such as list ranking, connected components, topological sorting, and shortest paths). In the online domain, canonical EM applications include dictionary lookup and range searching. The two important classes of indexed data structures are based upon extendible hashing and B-trees. The paradigms of filtering and bootstrapping provide a convenient means in online data structures to make effective use of the data accessed from disk. We also reexamine some of the above EM problems in slightly different settings, such as when the data items are moving, when the data items are variable-length (e.g., text strings), or when the allocated amount of internal memory can change dynamically. Programming tools and environments are available for simplifying the EM programming task. During the course of the survey, we report on some experiments in the domain of spatial databases using the TPIE system (transparent parallel I/O programming environment). The newly developed EM algorithms and data structures that incorporate the paradigms we discuss are significantly faster than methods currently used in practice.Keywords
This publication has 150 references indexed in Scilit:
- Data Structures for Mobile DataJournal of Algorithms, 1999
- Experiments on the practical I/O efficiency of geometric algorithms: Distribution sweep versus plane sweepComputational Geometry, 1998
- The hB $^Pi$ -tree: a multi-attribute index supporting concurrency, recovery and node consolidationThe VLDB Journal, 1997
- An asymptotically optimal multiversion B-treeThe VLDB Journal, 1996
- Bounded disorder: The effect of the indexTheoretical Computer Science, 1996
- MODELS AND RESOURCE METRICS FOR PARALLEL AND DISTRIBUTED COMPUTATION∗Parallel Algorithms and Applications, 1996
- Coding techniques for handling failures in large disk arraysAlgorithmica, 1994
- The uniform memory hierarchy model of computationAlgorithmica, 1994
- Deterministic sorting in nearly logarithmic time on the hypercube and related computersJournal of Computer and System Sciences, 1993
- TheSB-tree an index-sequential structure for high-performance sequential accessActa Informatica, 1992