Abstract
We study integrated offline caching and prefetching algorithms both in the single- and the multi-disk case. For the problem of minimizing the execution time of a given request sequence, we present simple algorithms. In the single-disk case we present a combinatorial algorithm with an approximation ratio of 3/2. An optimal solution can be computed using a linear program but this requires a very large number of variables. Our new result improves on all previous combinatorial approximation algorithms. For the multi-disk case we give combinatorial 2-approximation algorithms. Additionally, we consider this problem in the resource augmentation model where the approximation algorithms may use more cache lines than the optimal solution they are compared to. Here, we give strategies using one additional cache line per disk that outperform the optimum solution without additional cache in the single-disk case and achieve (1+o(1))-approximations in the multi-disk case. In contrast to some of the previous approaches, all the algorithms we present are combinatorial and easy to implement.
Similar content being viewed by others
References
Albers, S., Garg, N., Leonardi, S.: Minimizing stall time in single and parallel disk systems. Journal of the ACM 47, 969–986 (2000)
Albers, S., Witt, C.: Minimizing stall time in single and parallel disk systems using multicommodity network flows. In: Proc. 4th International Workshop on Approximation Algorithms for Combinatorial Optimization Problems (APPROX), pp. 12–23. Springer LNCS 2129 (2001)
Belady, L.A.: A study of replacement algorithms for virtual storage computers. IBM Systems Journal 5, 78–101 (1966)
El-Yaniv, B.: Online Computation and Competitive Analysis. Cambrige University Press (1998)
Cao, P., Felten, E.W., Karlin, A.R., Li, K.: A study of integrated prefetching and caching strategies. In: Proc. ACM International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS) pp. 188–196 (1995)
Cao, P., Felten, E.W., Karlin, A.R., Li, K.: Implementation and performance of integrated application-controlled caching, prefetching and disk scheduling. ACM Transaction on Computer Systems (TOCS) 14, 311–343 (1996)
Gaysinsky, A., Itai, A., Shachnai, H.: Strongly competitive algorithms for caching with pipelined prefetching. In Proc. of the 9th Annual European Symposium on Algorithms (ESA01), pp. 49–61, Springer LNCS 2161 (2001)
Kimbrel, T., Karlin, A.R.: Near-optimal parallel prefetching and caching. SIAM Journal on Computing 29, 1051–1082 (2000)
Kimbrel, T., Cao, P., Felten, E.W., Karlin, A.R., Li, K.: Integrated parallel prefetching and caching. In: Proc. ACM International Conference on Measurement and Modeling of Computer Systems (SIGMETRICS) (1996)
Kimbrel, T., Tomkins, A., Patterson, R.H., Bershad, B., Cao, P., Felten, E.W., Gibson, G.A., Karlin, A.R., Li, K.: A trace-driven comparison of algorithms for parallel prefetching and caching. In: Proc. of the ACM SIGOPS/USENIX Association Symposium on Operating System Design and Implementation (1996)
Tarjan, S.: Amortized efficiency of list update and paging rules. CACM 28, 202–208 (1985)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Büttner, M. Enhanced prefetching and caching strategies for single- and multi-disk systems. Acta Informatica 42, 21–42 (2005). https://doi.org/10.1007/s00236-005-0170-6
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00236-005-0170-6