Abstract
Prefetching and caching are widely used for improving the performance of file systems. Recent studies have shown that it is important to integrate the two. In this model we consider the following problem. Suppose that a program makes a sequence of m accesses to data blocks. The cache can hold k blocks, where k < m. An access to a block in the cache incurs one time unit, and fetching a missing block incurs d time units. A fetch of a new block can be initiated while a previous fetch is in progress. Thus, d block fetches can be in progress simultaneously. The locality of references to the cache is captured by the access graph model of [2]. The goal is to find a policy for prefetching and caching, which minimizes the overall execution time of a given reference sequence. This problem is called caching with locality and pipelined prefetching (CLPP). Our study is motivated from the pipelined operation of modern memory controllers, and program execution on fast processors. For the offline case we show that an algorithm introduced in [4] is optimal. In the online case we give an algorithm which is within factor of 2 from the optimal in the set of online deterministic algorithms, for any access graph, and k,dā„1. Improved ratios are obtained for several important classes of access graphs, including complete graphs and directed acyclic graphs (DAG). Finally, we study the CLPP problem assuming a Markovian access model, on branch trees, which often arise in applications. We give algorithms whose expected performance ratios are within factor 2 from the optimal.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
D. Bhandarkar, J. Ding, āPerformance Characterization of the Pentium Pro Processorā, 3rd International Symposium on High Performance Computer Architecture, San Antonio, 1997.
A. Borodin, S. Irani, P. Raghavan and B. Schieber, āCompetitive Paging with Locality of Referenceā, Journal of Computer and System Science, 1995, pp. 244ā258.
A. Borodin and R. El-Yaniv, āCompetitive Analysis and Online Computationā, Cambridge University Press, 1998.
P. Cao, E. Felton, A. Karlin, K. Li, āA Study of Integrated Prefetching and Caching Strategiesā, SIGMETRICS/PERFORMANCE, 1995.
A. Fiat. and G. J. Woeginger,, āOnline Algorithms, The State of the Artā, Springer, 1998 (LNCS #1442).
A. Fiat. and A. R. Karlin, āRandomized and Multipointer Paging with Locality of Referenceā, STOC, 1995.
A. Fiat. and Z. Rosen, āExperimental Studies of access Graph Based Heuristics: Beating the LRU Standard?ā, SODA, 1997.
A. Fiat. and M. Mendel, āTruly Online Paging with Locality of Referenceā, FOCS, 1997.
A. Gaysinsky, A. Itai and H. Shachnai. āStrongly Competitive Algorithms for Caching with Pipelined Prefetchingā, full version. http://www.cs.technion.ac.il/~hadas/PUB/clpp.ps.gz.
D.S. Hochbaum, Approximation Algorithms for NP-Hard Problems, PUS Publishing Company, 1995.
S. Irani, A. R. Karlin and S. Phillips, āStrongly competitive algorithms for paging with locality of referenceā, SIAM Journal Comput., June 1996, pp. 477ā497.
A. R. Karlin, T. Kimbrel, āNear-optimal parallel prefetching and cachingā, CS TR, Washington Univ., 1996.
A. R. Karlin, S. Phillips and P. Raghavan, āMarkov pagingā, FOCS 1992.
D. E. Knuth, The Art of Computer Programming, Vol. 3, Addison Wesley, 1973.
S. Lang, Algebra, Columbia University, New York, 153ā155, 1965.
R. Motwani, P. Raghavan, Randomized Algorithms, Cambridge University Press, 1995.
P. Raghavan, H. Shachnai, M. Yaniv, āDynamic Schemes for Speculative Execution of Codeā, MASCOTS, 1998.
A. Tomkins, R. H. Patterson and G. Gibson. āInformed Multi-Process Prefetching and Cachingā, SIGMETRICS, 1997.
R. Sedgewick and P. Flajolet, An Introduction to the Analysis of Algorithms, Addison-Wesley Publishing, 1996.
A.K. Uht and V. Sindagi, āDisjoint Eager Execution: An optimal form of speculative executionā, MICRO-28, 1995.
G. M. Voelker, E. J. Anderson, T. Kimbrel, M. J. Feeley, J. S. Chase, A. R. Karlin and H. M. Levy, āImplementing Cooperative Prefetching and Caching in Globally-Managed Memory Systemā. SIGMETRICS, 1998.
S. S. H. Wang and A. K. Uht, āIdeograph/Ideogram: Framework/Architecture for Eager Evaluationā, MICRO-23, 1990.
M. Yaniv, āDynamic Schemes for Speculative Execution of Codeā, M.Sc. Thesis, Dept. of Computer Science, The Technion, 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
Ā© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gaysinsky, A., Itai, A., Shachnai, H. (2001). Strongly Competitive Algorithms for Caching with Pipelined Prefetching. In: auf der Heide, F.M. (eds) Algorithms ā ESA 2001. ESA 2001. Lecture Notes in Computer Science, vol 2161. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44676-1_4
Download citation
DOI: https://doi.org/10.1007/3-540-44676-1_4
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42493-2
Online ISBN: 978-3-540-44676-7
eBook Packages: Springer Book Archive