Theory of Computing Systems

, Volume 62, Issue 2, pp 366–418 | Cite as

On the Smoothness of Paging Algorithms

  • Jan ReinekeEmail author
  • Alejandro Salinger


We study the smoothness of paging algorithms. How much can the number of page faults increase due to a perturbation of the request sequence? We call a paging algorithm smooth if the maximal increase in page faults is proportional to the number of changes in the request sequence. We also introduce quantitative smoothness notions that measure the smoothness of an algorithm. We derive lower and upper bounds on the smoothness of deterministic and randomized demand-paging and competitive algorithms. Among strongly-competitive deterministic algorithms, LRU matches the lower bound, while FIFO matches the upper bound. Well-known randomized algorithms such as Partition, Equitable, or Mark are shown not to be smooth. We introduce two new randomized algorithms, called Smoothed-LRU and LRU-Random. Smoothed-LRU allows sacrificing competitiveness for smoothness, where the trade-off is controlled by a parameter. LRU-Random is at least as competitive as any deterministic algorithm but smoother.


Paging Caching Smoothness Online algorithms Real-time systems 


  1. 1.
    Achlioptas, D., Chrobak, M., Noga, J.: Competitive analysis of randomized paging algorithms. Theoretical Comput. Sci. 234 (1-2), 203–218 (2000). MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Aho, A., Denning, P., Ullman, J.: Principles of optimal page replacement. J. ACM 18(1), 80–93 (1971)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Axer, P., et al.: Building timing predictable embedded systems. ACM Trans. Embed. Comput. Syst. 13(4), 82:1–8:372 (2014). CrossRefGoogle Scholar
  4. 4.
    Becchetti, L., Leonardi, S., Marchetti-Spaccamela, A., Schäfer, G., Vredeveld, T.: Average-case and smoothed competitive analysis of the multilevel feedback algorithm. Math. Oper. Res. 31(1), 85–108 (2006). MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Beckmann, N., Sanchez, D.: Talus: a Simple Way to Remove Cliffs in Cache Performance. In: 21St IEEE International Symposium on High Performance Computer Architecture, HPCA 2015, Burlingame, CA, USA, February 7-11, 2015, pp. 64–75 (2015).
  6. 6.
    Belady, L.A.: A study of replacement algorithms for virtual-storage computer. IBM Syst. J. 5(2), 78–101 (1966)CrossRefGoogle Scholar
  7. 7.
    Borodin, A., El-Yaniv, R.: Online computation and competitive analysis. Cambridge University Press, New York (1998)zbMATHGoogle Scholar
  8. 8.
    Brodal, G.S., Moruz, G., Negoescu, A.: Onlinemin: a fast strongly competitive randomized paging algorithm. Theory Comput. Syst. 56(1), 22–40 (2015). MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Cazorla, F.J., et al.: PROARTIS: Probabilistically analyzable real-time systems. ACM Trans. Embed. Comput. Syst. 12(2s), 94:1–94:26 (2013). CrossRefGoogle Scholar
  10. 10.
    Chaudhuri, S., Gulwani, S., Lublinerman, R.: Continuity and robustness of programs. Commun. ACM 55(8), 107–115 (2012). CrossRefzbMATHGoogle Scholar
  11. 11.
    Doychev, G., et al.: CacheAudit: A tool for the static analysis of cache side channels. ACM Trans. Inf. Syst. Secur 18(1), 4:1–4:32 (2015). CrossRefGoogle Scholar
  12. 12.
    Doyen, L., Henzinger, T., Legay, A., Nickovic, D.: Robustness of Sequential Circuits. In: ACSD ’10, pp 77–84 (2010).
  13. 13.
    Dwork, C.: Differential privacy. In: Bugliesi, M., Preneel, B., Sassone, V., Wegener, I. (eds.) ICALP ’06, Part II, LNCS, vol. 4052, pp 1–12. Springer (2006).
  14. 14.
    Fiat, A., Karp, R.M., Luby, M., McGeoch, L.A., Sleator, D.D., Young, N.E.: Competitive paging algorithms. J. Algorithms 12(4), 685–699 (1991)CrossRefzbMATHGoogle Scholar
  15. 15.
    Kleene, S.: Automata studies, chap. Representation of events in nerve nets and finite automata. Princeton University Press, Princeton (1956)Google Scholar
  16. 16.
    Komm, D., Královic, R., Královic, R., Mömke, T.: Randomized online algorithms with high probability guarantees. In: STACS ’14, vol. 25, pp 470–481 (2014)Google Scholar
  17. 17.
    Koutsoupias, E., Papadimitriou, C.: Beyond competitive analysis. SIAM J. Comput. 30(1), 300–317 (2000). MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Liu, C.L.: Some memory aspects of finite automata. Tech. Rep. 411 Massachusetts Institute of Technology (1963)Google Scholar
  19. 19.
    Mattson, R.L., Gecsei, J., Slutz, D.R., Traiger, I.L.: Evaluation techniques for storage hierarchies. IBM Syst. J. 9(2), 78–117 (1970)CrossRefzbMATHGoogle Scholar
  20. 20.
    McGeoch, L., Sleator, D.: A strongly competitive randomized paging algorithm. Algorithmica 6, 816–825 (1991). MathSciNetCrossRefzbMATHGoogle Scholar
  21. 21.
    Motwani, R., Raghavan, P.: Randomized algorithms. Cambridge University Press, New York (1995)CrossRefzbMATHGoogle Scholar
  22. 22.
    Perles, M., Rabin, M., Shamir, E.: The theory of definite automata. IEEE Trans. Electron. Comput. 12(3), 233–243 (1963). MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Raghavan, P., Snir, M.: Memory versus randomization in on-line algorithms (Extended Abstract). In: Ausiello, G., Dezani-Ciancaglini, M., Rocca, S.R.D. (eds.) ICALP ’89, Lecture Notes in Computer Science, vol. 372, pp 687–703. Springer (1989).
  24. 24.
    Reineke, J., Grund, D.: Sensitivity of cache replacement policies. ACM Trans. Embed. Comput. Syst. 12(1s), 42:1–42:18 (2013). CrossRefGoogle Scholar
  25. 25.
    Reineke, J., Salinger, A.: On the smoothness of paging algorithms. In: Sanità, L., Skutella, M. (eds.) Approximation and Online Algorithms - 13th International Workshop, WAOA 2015, Patras, Greece, September 17-18, 2015. Revised Selected Papers, Lecture Notes in Computer Science, vol. 9499, pp 170–182. Springer (2015).
  26. 26.
    Sleator, D.D., Tarjan, R.E.: Amortized efficiency of list update and paging rules. Commun. ACM 28(2), 202–208 (1985)MathSciNetCrossRefGoogle Scholar
  27. 27.
    Spielman, D.A., Teng, S.H.: Smoothed analysis of algorithms: why the simplex algorithm usually takes polynomial time. J. ACM 51(3), 385–463 (2004). MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    Wilhelm, R., et al.: The worst-case execution-time problem—overview of methods and survey of tools. ACM Trans. Embed. Comput. Syst. 7(3), 36:1–36:53 (2008). CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC 2017

Authors and Affiliations

  1. 1.Department of Computer ScienceSaarland UniversitySaarbrückenGermany
  2. 2.SAP SEWalldorfGermany

Personalised recommendations