next up previous
Next: A Unified Approach for Up: EXTERNAL MEMORY ALGORITHMS, I/O Previous: Online Data Structures in

   
External Memory Algorithms with Dynamically Changing Memory Allocations

R. D. Barve and J. S. Vitter. ``External Memory Algorithms with Dynamically Changing Memory Allocations,'' Duke University Technical Report CS-1998-09, June 1998. A shorter version of the paper appeared as ``A Theoretical Framework for Memory-Adaptive Algorithms,'' Proceedings of the 40th Annual IEEE Symposium on Foundations of Computer Science (FOCS '99), New York, NY, October 1999, 273-284.

Full text (gzip-compressed postscript)

Full text (Adobe pdf format)

We consider the problem of devising external memory algorithms whose memory allocations can change dynamically and unpredictably at run-time. The investigation of ``memory-adaptive'' algorithms, which are designed to adapt to dynamically changing memory allocations, can be considered a natural extension of the investigation of traditional, non-adaptive external memory algorithms. Our study is motivated by high performance database systems and operating systems in which applications are prioritized and internal memory is dynamically allocated in accordance with the priorities. In such situations, external memory applications are expected to perform as well as possible for the current memory allocation. The computation must be reorganized to adapt to the sequence of memory allocations in an online manner. In this paper we present a simple and natural dynamic memory allocation model. We define memory-adaptive external memory algorithms and specify what is needed for them to be dynamically optimal. Using novel techniques, we design and analyze dynamically optimal memory-adaptive algorithms for the problems of sorting, permuting, FFT, permutation networks, (standard) matrix multiplication and LU decomposition. We also present a dynamically optimal (in an amortized sense) memory-adaptive version of the buffer tree, a generic external memory data structure for a large number of batched dynamic applications. We show that a previously devised approach to memory-adaptive external mergesort is provably nonoptimal because of fundamental drawbacks. The lower bound proof techniques for sorting and matrix multiplication are fundamentally distinct techniques, and they are invoked by most other external memory lower bounds; hence we anticipate that the techniques presented here will apply to many external memory problems.


next up previous
Next: A Unified Approach for Up: EXTERNAL MEMORY ALGORITHMS, I/O Previous: Online Data Structures in
Jeff Vitter
2008-04-02