Optimal prediction for prefetching in the worst case

Response time delays caused by I/O are a major problem in many systems and database applications. Prefetching and cache replacement methods are attracting renewed attention because of their success in avoiding costly I/Os. Prefetching can be looked upon as a type of online sequential prediction, where the predictions must be accurate as well as made in a computationally efficient way. Unlike other online problems, prefetching cannot admit a competitive analysis, since the optimal offline prefetcher incurs no cost when it knows the future page requests. Previous analytical work on prefetching [. Vitter Krishnan 1991.] [J. Assoc. Comput. Mach., 143 (1996), pp. 771--793] consisted of modeling the user as a probabilistic Markov source. In this paper, we look at the much stronger form of worst-case analysis and derive a randomized algorithm for pure prefetching. We compare our algorithm for every page request sequence with the important class of finite state prefetchers, making no assumptions as to how the sequence of page requests is generated. We prove analytically that the fault rate of our online prefetching algorithm converges almost surely for every page request sequence to the fault rate of the optimal finite state prefetcher for the sequence. This analysis model can be looked upon as a generalization of the competitive framework, in that it compares an online algorithm in a worst-case manner over all sequences with a powerful yet nonclairvoyant opponent. We simultaneously achieve the computational goal of implementing our prefetcher in optimal constant expected time per prefetched page using the optimal dynamic discrete random variate generator of [. Matias Matias, Vitter, and Ni [Proc. 4th Annual SIAM/ACM Symposium on Discrete Algorithms, Austin, TX, January 1993].

[1]  P. Krishnan,et al.  Practical prefetching via data compression , 1993 .

[2]  Jaroslav Kožešnk,et al.  Information Theory, Statistical Decision Functions, Random Processes , 1962 .

[3]  Robert E. Tarjan,et al.  Amortized efficiency of list update and paging rules , 1985, CACM.

[4]  Umesh V. Vazirani,et al.  A Markovian extension of Valiant's learning model , 1990, Proceedings [1990] 31st Annual Symposium on Foundations of Computer Science.

[5]  K. Mehlhorn,et al.  Optimal Algorithms for Generating Discrete Random Variables with Changing Distributions , 1992 .

[6]  Jeffrey Scott Vitter,et al.  Analysis of arithmetic coding for data compression , 1991, [1991] Proceedings. Data Compression Conference.

[7]  Peter J. Denning,et al.  Working Sets Past and Present , 1980, IEEE Transactions on Software Engineering.

[8]  Anna R. Karlin,et al.  Markov paging , 1992, Proceedings., 33rd Annual Symposium on Foundations of Computer Science.

[9]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .

[10]  Anoop Gupta,et al.  Design and evaluation of a compiler algorithm for prefetching , 1992, ASPLOS V.

[11]  Laszlo A. Belady,et al.  A Study of Replacement Algorithms for Virtual-Storage Computer , 1966, IBM Syst. J..

[12]  Jeffrey Scott Vitter,et al.  Dynamic Generation of Discrete Random Variates , 1993, SODA '93.

[13]  Thomas M. Cover,et al.  Compound Bayes Predictors for Sequences with Apparent Markov Structure , 1977, IEEE Transactions on Systems, Man, and Cybernetics.

[14]  Neri Merhav,et al.  Universal sequential learning and decision from individual data sequences , 1992, COLT '92.

[15]  P. Krishnan,et al.  Optimal prefetching via data compression , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[16]  Anne Rogers,et al.  Software support for speculative loads , 1992, ASPLOS V.

[17]  D. A. Bell,et al.  Information Theory and Reliable Communication , 1969 .

[18]  Thomas M. Cover,et al.  Elements of Information Theory , 2005 .

[19]  Jeffrey Scott Vitter,et al.  Analysis of arithmetic coding for data compression , 1991, [1991] Proceedings. Data Compression Conference.

[20]  Allan Borodin,et al.  Competitive paging with locality of reference , 1991, STOC '91.

[21]  Neri Merhav,et al.  Universal prediction of individual sequences , 1992, IEEE Trans. Inf. Theory.

[22]  Sandy Irani,et al.  Strongly competitive algorithms for paging with locality of reference , 1992, SODA '92.

[23]  D. Blackwell An analog of the minimax theorem for vector payoffs. , 1956 .

[24]  Glen G. Langdon,et al.  A note on the Ziv-Lempel model for compressing individual sequences , 1983, IEEE Trans. Inf. Theory.

[25]  Jean-Loup Baer,et al.  Reducing memory latency via non-blocking and prefetching caches , 1992, ASPLOS V.

[26]  M. Luby,et al.  On ~ competitive algorithms for paging problems , 1991 .

[27]  Yali Amit,et al.  Large deviations for coding Markov chains and Gibbs random fields , 1993, IEEE Trans. Inf. Theory.

[28]  Stanley B. Zdonik,et al.  Fido: A Cache That Learns to Fetch , 1991, VLDB.

[29]  Carla Schlatter Ellis,et al.  Prefetching in File Systems for MIMD Multiprocessors , 1990, IEEE Trans. Parallel Distributed Syst..

[30]  Abraham Lempel,et al.  Compression of individual sequences via variable-rate coding , 1978, IEEE Trans. Inf. Theory.

[31]  Gerald S. Shedler,et al.  Locality in Page Reference Strings , 1972, SIAM J. Comput..