Abstract
Traditional paging models seek algorithms that maximize their performance while using the maximum amount of cache resources available. However, in many applications this resource is shared or its usage involves a cost. In this work we introduce the Minimum Cache Usage problem, which is an extension to the classic paging problem that accounts for the efficient use of cache resources by paging algorithms. In this problem, the cost of a paging algorithm is a combination of both its number of faults and the amount of cache it uses, where the relative cost of faults and cache usage can vary with the application. We present a simple family of online paging algorithms that adapt to the ratio α between cache and fault costs, achieving competitive ratios that vary with α, and that are between 2 and the cache size k. Furthermore, for sequences with high locality of reference, we show that the competitive ratio is at most 2, and provide evidence of the competitiveness of our algorithms on real world traces. Finally, we show that the offline problem admits a polynomial time algorithm. In doing so, we define a reduction of paging with cache usage to weighted interval scheduling on identical machines.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Lemon graph library, http://lemon.cs.elte.hu/trac/lemon
Trace reduction for virtual memory simulation, http://www.cs.amherst.edu/sfkaplan/research/trace-reduction/index.html
Arkin, E.M., Silverberg, E.B.: Scheduling jobs with fixed start and end times. Discrete Appl. Math. 18(1), 1–8 (1987)
Barve, R.D., Grove, E.F., Vitter, J.S.: Application-controlled paging for a shared cache. SIAM J. Comput. 29, 1290–1303 (2000)
Belady, L.A.: A study of replacement algorithms for virtual-storage computer. IBM Systems Journal 5(2), 78–101 (1966)
Borodin, A., El-Yaniv, R.: Online computation and competitive analysis. Cambridge University Press, New York (1998)
Bouzina, K.I., Emmons, H.: Interval scheduling on identical machines. Journal of Global Optimization 9, 379–393 (1996)
Brehob, M., Wagner, S., Torng, E., Enbody, R.J.: Optimal replacement is NP-hard for nonstandard caches. IEEE Trans. Computers 53(1), 73–76 (2004)
Cao, P., Felten, E.W., Li, K.: Application-controlled file caching policies. In: Proceedings of USTC, vol. 1, pp. 171–182 (1994)
Cao, P., Irani, S.: Cost-aware WWW proxy caching algorithms. In: Proceedings of USITS, p. 18 (1997)
Chrobak, M., Karloff, H., Payne, T., Vishwanathan, S.: New results on server problems. SIAM J. Discret. Math. 4(2), 172–181 (1991)
Chrobak, M.: SIGACT news online algorithms column 17. SIGACT News 41(4), 114–121 (2010)
Chrobak, M., Woeginger, G.J., Makino, K., Xu, H.: Caching is hard - even in the fault model. Algorithmica 63(4), 781–794 (2012)
Csirik, J., Imreh, C., Noga, J., Seiden, S.S., Woeginger, G.J.: Buying a constant competitive ratio for paging. In: Meyer auf der Heide, F. (ed.) ESA 2001. LNCS, vol. 2161, pp. 98–108. Springer, Heidelberg (2001)
Dorrigiv, R., López-Ortiz, A., Munro, J.I.: On the relative dominance of paging algorithms. Theor. Comput. Sci. 410(38-40), 3694–3701 (2009)
Feuerstein, E., Strejilevich de Loma, A.: On-line multi-threaded paging. Algorithmica 32(1), 36–60 (2002)
Hassidim, A.: Cache replacement policies for multicore processors. In: Yao, A.C.C. (ed.) ICS, pp. 501–509. Tsinghua University Press (2010)
Irani, S.: Page replacement with multi-size pages and applications to web caching. In: Proceedings of STOC, pp. 701–710. ACM (1997)
Kaplan, S.F., Smaragdakis, Y., Wilson, P.R.: Flexible reference trace reduction for vm simulations. ACM Trans. Model. Comput. Simul. 13(1), 1–38 (2003)
López-Ortiz, A., Salinger, A.: Minimizing cache usage in paging. Tech. Rep. CS-2012-15, University of Waterloo (2012), http://www.cs.uwaterloo.ca/research/tr/2012/CS-2012-15.pdf
López-Ortiz, A., Salinger, A.: Paging for multi-core shared caches. In: Goldwasser, S. (ed.) ITCS, pp. 113–127. ACM (2012)
Miyatake, H., Tanaka, M., Mori, Y.: A design for high-speed low-power CMOS fully parallel content-addressable memory macros. IEEE JSSC 36(6), 956–968 (2001)
Moruz, G., Negoescu, A.: Outperforming LRU via competitive analysis on parametrized inputs for paging. In: Proceedings of SODA, pp. 1669–1680 (2012)
Pagiamtzis, K., Sheikholeslami, A.: Content-addressable memory (CAM) circuits and architectures: A tutorial and survey. IEEE JSSC 41(3), 712–727 (2006)
Panagiotou, K., Souza, A.: On adequate performance measures for paging. In: Proceedings of STOC, pp. 487–496. ACM (2006)
Sleator, D.D., Tarjan, R.E.: Amortized efficiency of list update and paging rules. Commun. ACM 28(2), 202–208 (1985)
Torng, E.: A unified analysis of paging and caching. Algorithmica 20, 194–203 (1998)
Wagner, S.: Restricted Cache Scheduling. Ph.D. thesis, Michigan State Univ. (2001)
Young, N.E.: On-line file caching. In: Proc. of SODA, pp. 82–86. SIAM (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
López-Ortiz, A., Salinger, A. (2013). Minimizing Cache Usage in Paging. In: Erlebach, T., Persiano, G. (eds) Approximation and Online Algorithms. WAOA 2012. Lecture Notes in Computer Science, vol 7846. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38016-7_13
Download citation
DOI: https://doi.org/10.1007/978-3-642-38016-7_13
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-38015-0
Online ISBN: 978-3-642-38016-7
eBook Packages: Computer ScienceComputer Science (R0)