next up previous
Next: Optimal Prediction for Prefetching Up: LEARNING, PREDICTION, ESTIMATION, CACHING, Previous: Optimal Prefetching via Data

Practical Prefetching via Data Compression

K. M. Curewitz, P. Krishnan, and J. S. Vitter. ``Practical Prefetching via Data Compression,'' Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data (SIGMOD '93), Washington, D. C, May 1993, 257-266. This work is the basis of a patent by the authors, ``Online Background Predictors and Prefetchers,'' United States Patent No. 5,485,609, Duke University, January 16, 1996.

Full text (gzip-compressed postscript)

Full text (Adobe pdf format)

An important issue that affects response time performance in current OODB and hypertext systems is the I/O involved in moving objects from slow memory to cache. A promising way to tackle this problem is to use prefetching, in which we predict the user's next page requests and get those pages into cache in the background. Current databases perform limited prefetching using techniques derived from older virtual memory systems. A novel idea of using data compression techniques for prefetching was recently advocated by Vitter in Krishnan in which the prefetchers based on the Lempel-Ziv data compressor (the UNIX compress command) were shown theoretically to be optimal in the limit. In this paper we analyze the practical aspects of using data compression techniques for prefetching. We adapt three well-known data compressors to get three simple, deterministic, and universal prefetchers. We simulate our prefetchers on sequences of page accesses derived from the OO1 and OO7 benchmarks and from CAD applications, and demonstrate significant reductions in fault-rate. We examine the important issues of cache replacement, size of the data structure used by the prefetcher, and problems arising from bursts of ``fast'' page requests (that leave virtually no time between adjacent requests for prefetching and book keeping). We conclude that prediction for prefetching based on data compression techniques holds great promise.


next up previous
Next: Optimal Prediction for Prefetching Up: LEARNING, PREDICTION, ESTIMATION, CACHING, Previous: Optimal Prefetching via Data
Jeff Vitter
2008-06-14