Skip to main content

Cache Behavior Analysis of a Compiler-Assisted Cache Replacement Policy

  • Conference paper
Advances in Computer Systems Architecture (ACSAC 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3189))

Included in the following conference series:

  • 367 Accesses

Abstract

Recent research results show that conventional hardware-only cache replacement policies result in unsatisfactory cache utilization because of cache pollution. To overcome this problem, cache hints are introduced to assist cache replacement. Cache hints are used to specify the cache level at which the data is stored after accessing it. This paper present a compiler-assisted cache replacement policy, Optimum Cache Partition (OCP), which can be carried out through cache hints and LRU replacement policy. Presburger arithmetic is used to exactly model the behavior of loop nests under OCP policy. The OCP replacement policy results in plain cache behaviors, and makes cache misses analyzing and optimizing easily and efficiently. OCP replacement policy has been implemented in our compiler test-bed and evaluated on a set of scientific computing benchmarks. Initial results show that our approach is effective on reducing the cache miss rate.

This work was supported by 863 National High Technology Program, grant No. 2002AA1Z2105

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. McKinley, K.S., Temam, O.: Quantifying loop nest locality using spec’95 and the perfect benchmarks. ACM Transactions on Computer Systems (TOCS) 17(4), 288–336 (1999)

    Article  Google Scholar 

  2. Kathail, V., Schlansker, M.S., Rau, B.R.: HPL-PD architecture specification: Version 1.1. Technical Report HPL-93-80 (R.1), Hewlett-Packard (February 2000)

    Google Scholar 

  3. IA-64 Application Developer’s Architecture Guide (May 1999)

    Google Scholar 

  4. Wolf, M.E., Lam, M.S.: A data locality optimizing algorithm. In: Proc. Of SIGPLAN PLDI 1991, Toronto, Ont., pp. 30–44 (June 1991)

    Google Scholar 

  5. Gao, G.R., Sarkar, V., Han, S.: Locality analysis for distributed sharedmemory multiprocesors. In: Sehr, D., Banerjee, U., Gelernter, D., Nicolau, A., Padua, D.A. (eds.) LCPC 1996. LNCS, vol. 1239, Springer, Heidelberg (1997)

    Google Scholar 

  6. Ghosh, S., Martonosi, M., Malik, S.: Cache miss equations: An analytical representation of cache misses. In: Conf. Proc., 1997 Intl. Conf. on Supercomputing, Vienna, Austria, July 1997, pp. 317–324 (1997)

    Google Scholar 

  7. The Trimaran Compiler Research Infrastructure, http://www.trimaran.org

  8. Dinero IV Trace-Driven Uniprocessor Cache Simulator, http://www.cs.wisc.edu/~markhill/DineroIV

  9. Rivera, G., Tseng, C.-W.: Eliminating conflict misses for high performance architectures. In: ACM Internacional Conference on Supercomputing, ICS 1998 (1998)

    Google Scholar 

  10. Jain, P., Devadas, S., Engels, D., Rudolph, L.: Software-assisted replacement mechanisms for embedded systems. In: International Conference on Computer Aided Design, November 2001, pp. 119–126 (2001)

    Google Scholar 

  11. Wang, Z., McKinley, K., Rosenberg, A., Weems, C.: Using the compiler to improve cache replacement decisions. In: PACT 2002 (September 2002)

    Google Scholar 

  12. Yang, H., Govindarajan, R., Gao, G.R., Hu, Z.: Compiler-assisted cache replacement: Problem formulation and performance evaluation. In: Rauchwerger, L. (ed.) LCPC 2003. LNCS, vol. 2958, Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  13. Beyls, K., D’Hollander, E.H.: Compile-Time Cache Hint Generation for EPIC Architectures. In: Proceedings of the 2nd International Workshop on Explicitly Parallel Instruction Computing (EPIC) Architectures and Compiler Techniques, Istanbul, Turkey (November 2002)

    Google Scholar 

  14. Gannon, D., Jalby, W., Gallivan, K.: Strategies for cache and local memory management by global programming transformation. Journal of Parallel and Distributed Computing 5(5), 587–616 (1988)

    Article  Google Scholar 

  15. Pugh, W.: Counting solutions to Presburger formulas: How and why. ACM SIGPLAN Notices 29(6), 121–134 (1994)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Tian, X., Zhao, K., Chen, H., Du, H. (2004). Cache Behavior Analysis of a Compiler-Assisted Cache Replacement Policy. In: Yew, PC., Xue, J. (eds) Advances in Computer Systems Architecture. ACSAC 2004. Lecture Notes in Computer Science, vol 3189. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30102-8_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30102-8_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23003-8

  • Online ISBN: 978-3-540-30102-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics