Minimizing stall time in single and parallel disk systems

We study integrated prefetching and caching problems following the work of Cao et al. [1995] and Kimbrel and Karlin [1996]. Cao et al. and Kimbrel and Karlin gave approximation algorithms for minimizing the total elapsed time in single and parallel disk settings. The total elapsed time is the sum of the processor stall times and the length of the request sequence to be served. We show that an optimum prefetching/caching schedule for a single disk problem can be computed in polynomial time, thereby settling an open question by Kimbrel and Karlin. For the parallel disk problem, we give an approximation algorithm for minimizing stall time. The solution uses a few extra memory blocks in cache. Stall time is an important and harder to approximate measure for this problem. All of our algorithms are based on a new approach which involves formulating the prefetching/caching problems as linear programs.

[1]  P. Krishnan,et al.  Optimal prediction for prefetching in the worst case , 1994, SODA '94.

[2]  Brian N. Bershad,et al.  A trace-driven comparison of algorithms for parallel prefetching and caching , 1996, OSDI '96.

[3]  Amos Fiat,et al.  Randomized and multipointer paging with locality of reference , 1995, STOC '95.

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

[5]  Amos Fiat,et al.  Experimental Studies of Access Graph Based Heuristics: Beating the LRU Standard? , 1997, SODA.

[6]  Amos Fiat,et al.  Competitive Paging Algorithms , 1991, J. Algorithms.

[7]  Anna R. Karlin,et al.  Implementation and performance of integrated application-controlled file caching, prefetching, and disk scheduling , 1996, TOCS.

[8]  Alexander Schrijver,et al.  Theory of linear and integer programming , 1986, Wiley-Interscience series in discrete mathematics and optimization.

[9]  Jim Zelenka,et al.  Informed prefetching and caching , 1995, SOSP.

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

[11]  Peter J. Varman,et al.  Prefetching and I/O Parallelism in Multiple Disk Systems , 1995, ICPP.

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

[13]  Anna R. Karlin,et al.  Near-optimal parallel prefetching and caching , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

[14]  Donald E. Knuth,et al.  Optimal prepaging and font caching , 1985, TOPL.

[15]  Anna R. Karlin,et al.  A study of integrated prefetching and caching strategies , 1995, SIGMETRICS '95/PERFORMANCE '95.

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

[17]  Tracy Kimbrel Parallel prefetching and caching , 1998 .

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

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

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

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