Competitive paging with locality of reference
Selected papers of the 23rd annual ACM symposium on Theory of computing
Randomized algorithms
A study of integrated prefetching and caching strategies
Proceedings of the 1995 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems
Disjoint eager execution: an optimal form of speculative execution
Proceedings of the 28th annual international symposium on Microarchitecture
Randomized and multipointer paging with locality of reference
STOC '95 Proceedings of the twenty-seventh annual ACM symposium on Theory of computing
An introduction to the analysis of algorithms
An introduction to the analysis of algorithms
Strongly Competitive Algorithms for Paging with Locality of Reference
SIAM Journal on Computing
Approximation algorithms for NP-hard problems
Approximation algorithms for NP-hard problems
Ideograph/Ideogram: framework/hardware for eager evaluation
MICRO 23 Proceedings of the 23rd annual workshop and symposium on Microprogramming and microarchitecture
Informed multi-process prefetching and caching
SIGMETRICS '97 Proceedings of the 1997 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Implementing cooperative prefetching and caching in a globally-managed memory system
SIGMETRICS '98/PERFORMANCE '98 Proceedings of the 1998 ACM SIGMETRICS joint international conference on Measurement and modeling of computer systems
Online computation and competitive analysis
Online computation and competitive analysis
Experimental studies of access graph based heuristics: beating the LRU standard?
SODA '97 Proceedings of the eighth annual ACM-SIAM symposium on Discrete algorithms
Developments from a June 1996 seminar on Online algorithms: the state of the art
Developments from a June 1996 seminar on Online algorithms: the state of the art
Truly online paging with locality of reference
FOCS '97 Proceedings of the 38th Annual Symposium on Foundations of Computer Science
Performance Characterization of the Pentium® Pro Processor
HPCA '97 Proceedings of the 3rd IEEE Symposium on High-Performance Computer Architecture
Dynamic Schemes for Speculative Execution of Code
MASCOTS '98 Proceedings of the 6th International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems
SFCS '92 Proceedings of the 33rd Annual Symposium on Foundations of Computer Science
Hi-index | 0.00 |
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 on-line 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.