Skip to main content
Log in

APR: adaptive page replacement scheme for scientific applications

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

The amount of data in modern computing workloads is growing rapidly. Meanwhile, the capacity of main memory is growing slowly; thus, memory management of operating systems plays an increasingly important role in application performance. Recent scientific applications process large amounts of data as well. They tend to manage intermediate data in anonymous pages and repeat core operations on the data using loops. However, LRU variants have difficulty handling loop access patterns in scientific applications, which are commonly used as a page replacement policy in the operating system. In this article, we propose a new page replacement scheme, called adaptive page replacement (APR) for looping access patterns in scientific applications. APR can detect various looping access patterns and handle them appropriately online by exploiting the information already available in the virtual memory subsystem of OS. We evaluate APR by trace-driven simulation with traces extracted from 12 workloads in the SPLASH-2x benchmark. Throughout our experimental results, we demonstrate that APR outperforms prior schemes including CLOCK.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

References

  1. Sometimes hpc means big memory, not big compute. https://www.nextplatform.com/2020/11/04/sometimes-hpc-means-big-memory-not-big-compute/. Accessed 26-01-2021

  2. Ari, I., Amer, A., Gramacy, R.B., Miller, E.L., Brandt, S.A., Long, D.D.: Acme: Adaptive caching using multiple experts. In WDAS, pp 143–158 (2002)

  3. Arora, S., Bala, A.: A survey: ICT enabled energy efficiency techniques for big data applications. Clust. Comput., pp. 1–22 (2019)

  4. Bansal, S., Modha, D.S.: Car: clock with adaptive replacement. FAST 4, 187–200 (2004)

    Google Scholar 

  5. Belady, L.A.: A study of replacement algorithms for a virtual-storage computer. IBM Syst. J. 5(2), 78–101 (1966)

    Article  Google Scholar 

  6. Chen, C.P., Zhang, C.-Y.: Data-intensive applications, challenges, techniques and technologies: a survey on big data. Inform. Sci. 275, 314–347 (2014)

    Article  Google Scholar 

  7. Corbato, F.J.: A paging experiment with the multics system. MIT Project MAC Report MAC-M-384 (1968)

  8. Glass, G., Cao, P.: Adaptive page replacement based on memory reference behavior. ACM Sigmet. Perform. Eval. Rev. 25(1), 115–126 (1997)

    Article  Google Scholar 

  9. Jaleel, A., Theobald, K.B., Steely Jr., S.C., Emer, J.: High performance cache replacement using re-reference interval prediction (RRIP). ACM Sigarch Comput. Architect. News 38(3), 60–71 (2010)

    Article  Google Scholar 

  10. Jiang, S., Chen, F., Zhang, X.: Clock-pro: An effective improvement of the clock replacement. In USENIX Annu Tech. Conf. General Track, pp. 323–336 (2005)

  11. Jiang, S., Zhang, X.: Lirs: an efficient low inter-reference recency set replacement policy to improve buffer cache performance. ACM Sigmet. Perform. Eval. Rev. 30(1), 31–42 (2002)

    Article  Google Scholar 

  12. Jiang, S., Zhang, X.: Token-ordered lRU: an effective page replacement policy and its implementation in linux systems. Perform. Eval. 60(1–4), 5–29 (2005)

    Article  Google Scholar 

  13. Johnson, T., Shasha, D.: et al. 2q: a low overhead high performance bu er management replacement algorithm. In: Proceedings of the 20th International Conference on Very Large Data Bases, pp. 439–450. Citeseer (1994)

  14. Jonas, E., Schleier-Smith, J., Sreekanti, V., Tsai, C.-C., Khandelwal, A., Pu, Q., Shankar, V., Carreira, J., Krauth, K., Yadwadkar, N.: et al. Cloud programming simplified: a berkeley view on serverless computing. arXiv preprintarXiv:1902.03383 (2019)

  15. Kim, J.M., Choi, J., Kim, J., Noh, S.H., Min, S.L., Cho, Y., Kim, C.S.: A low-overhead high-performance unified buffer management scheme that exploits sequential and looping references. In: Proceedings of the 4th conference on Symposium on Operating System Design & Implementation-Volume 4, pp. 9. USENIX Association (2000)

  16. Lee, D., Choi, J., Kim, J.-H., Noh, S.H., Min, S.L., Cho, Y., Kim, C.S.: LRFU: a spectrum of policies that subsumes the least recently used and least frequently used policies. IEEE Trans. Comput. 12, 1352–1361 (2001)

    MathSciNet  MATH  Google Scholar 

  17. Lee, Y., Yeom, H.Y., Han, H.: An adaptive page replacement scheme for scientific applications. In: 2020 IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion (ACSOS-C) (2020)

  18. Luk, C.-K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: Pin: building customized program analysis tools with dynamic instrumentation. ACM Sigplan Not. 40(6), 190–200 (2005)

    Article  Google Scholar 

  19. Megiddo, N., Modha, D.S.: Arc: a self-tuning, low overhead replacement cache. Fast 3, 115–130 (2003)

    Google Scholar 

  20. O’neil, E.J., O’neil, P.E., Weikum, G.: The lru-k page replacement algorithm for database disk buffering. ACM Sigmod Record 22(2), 297–306 (1993)

    Article  Google Scholar 

  21. Pathak, A.R., Pandey, M., Rautaray, S.S.: Approaches of enhancing interoperations among high performance computing and big data analytics via augmentation. Clust. Comput., pp. 1–36, (2019)

  22. Qureshi, M.K., Jaleel, A., Patt, Y.N., Steely, S.C., Emer, J.: Adaptive insertion policies for high performance caching. ACM Sigarch Comput. Archit. News 35(2), 381–391 (2007)

    Article  Google Scholar 

  23. Smaragdakis, Y., Kaplan, S., Wilson, P.: Eelru: simple and effective adaptive page replacement. ACM Sigarch Perform. Eval. Rev. 27(1), 122–133 (1999)

    Article  Google Scholar 

  24. F. M. Talaat, S. H. Ali, A. I. Saleh, and H. A. Ali. Effective cache replacement strategy (ECRS) for real-time fog computing environment. Clust. Comput., pp. 3309–3333 (2020)

  25. G. Vietri, L. V. Rodriguez, W. A. Martinez, S. Lyons, J. Liu, R. Rangaswami, M. Zhao, and G. Narasimhan. Driving cache replacement with ml-based lecar. In:: 10th \(\{\)USENIX\(\}\) Workshop on Hot Topics in Storage and File Systems (HotStorage 18) (2018)

  26. M. Weiland, H. Brunst, T. Quintino, N. Johnson, O. Iffrig, S. Smart, C. Herold, A. Bonanni, A. Jackson, and M. Parsons. An early evaluation of intel’s optane dc persistent memory module and its impact on high-performance scientific applications. In: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 1–19 (2019)

  27. Zhan, X., Bao, Y., Bienia, C., Li, K.: Parsec3. 0: a multicore benchmark suite with network stacks and splash-2x. ACM Sigarch Comput. Archit. News 44(5), 1–16 (2017)

    Article  Google Scholar 

  28. Zivanovic, D., Pavlovic, M., Radulovic, M., Shin, H., Son, J., Mckee, S.A., Carpenter, P.M., Radojković, P., Ayguadé, E.: Main memory in HPC: do we need more or could we live with less? ACM Trans. Archit. Code Optim. (TACO) 14(1), 1–26 (2017)

    Article  Google Scholar 

Download references

Acknowledgements

This research was supported by the National Research Foundation of Korea (NRF) (2015M3C4A7065581, 2015M3C4A7065645, 2020R1F1A1055489). Hyuck Han is the corresponding author of this article.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hyuck Han.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A preliminary version [17] of this article was presented at AMGCC 2020.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Lee, Y., Yeom, H.Y. & Han, H. APR: adaptive page replacement scheme for scientific applications. Cluster Comput 26, 2551–2562 (2023). https://doi.org/10.1007/s10586-021-03296-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10586-021-03296-2

Keywords

Navigation