Skip to main content

A Machine Learning Methodology for Cache Recommendation

  • Conference paper
  • First Online:
Applied Reconfigurable Computing (ARC 2017)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 10216))

Included in the following conference series:

Abstract

Cache memories are an important component of modern processors and consume a large percentage of the processor’s power consumption. The quality of service of this cache memories relies heavily on the memory demands of the software, what means that a certain program might benefit more from a certain cache configuration which is highly inefficient for another program. Moreover, finding the optimal cache configuration for a certain program is not a trivial task and usually, involves exhaustive simulation. In this paper, we propose a machine learning-based methodology that, given an unknown application as input, it outputs a prediction of the optimal cache reconfiguration for that application, regarding energy consumption and performance. We evaluated our methodology using a large benchmark suite, and our results show a 99.8% precision at predicting the optimal cache configuration for a program. Furthermore, further analysis of the results indicates that 85% of the mispredictions produce only up to a 10% increase in energy consumption in comparison to the optimal energy consumption.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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

References

  1. C source codes benchmark. http://people.sc.fsu.edu/~jburkardt/c_src/c_src.html

  2. Weka’s resample filter. http://weka.sourceforge.net/doc.dev/weka/filters/supervised/instance/Resample.html

  3. Binkert, N., Beckmann, B., Black, G., Reinhardt, S.K., Saidi, A., Basu, A., Hestness, J., Hower, D.R., Krishna, T., Sardashti, S., et al.: The gem5 simulator. ACM SIGARCH Comput. Archit. News 39(2), 1–7 (2011)

    Google Scholar 

  4. Burger, D., Austin, T.M.: The simplescalar tool set, version 2.0. ACM SIGARCH Comput. Archit. News 25(3), 13–25 (1997)

    Article  Google Scholar 

  5. Dinero IV, T.D.U.C.: Simulator (2012). http://www.cs.wisc.edu/markhill/DineroIV

  6. Elakkumanan, P., Liu, L., Vankadara, V.K., Sridhar, R.: CHIDDAM: a data mining based technique for cache hierarchy determination in commercial applications. In: 48th Midwest Symposium on Circuits and Systems, pp. 1888–1891. IEEE (2005)

    Google Scholar 

  7. Gomez, F.J., Burger, D., Miikkulainen, R.: A neuro-evolution method for dynamic resource allocation on a chip multiprocessor. In: Proceedings of the International Joint Conference on Neural Networks, IJCNN 2001, vol. 4, pp. 2355–2360. IEEE (2001)

    Google Scholar 

  8. Guthaus, M., Ringenberg, J., Ernst, D., Austin, T., Mudge, T., Brown, R.: MiBench: a free, commercially representative embedded benchmark suite. In: Proceedings of the Fourth Annual IEEE International Workshop on Workload Characterization, pp. 3–14. WWC-4 (Cat. No. 01EX538) (2001)

    Google Scholar 

  9. Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P., Witten, I.H.: The weka data mining software: an update. ACM SIGKDD Explor. Newsl. 11(1), 10–18 (2009)

    Article  Google Scholar 

  10. Jiménez, D.A., Lin, C.: Neural methods for dynamic branch prediction. ACM Trans. Comput. Syst. (TOCS) 20(4), 369–397 (2002)

    Article  Google Scholar 

  11. Khakhaeng, S., Chantrapornchai, C.: On the finding proper cache prediction model using neural network. In: 2016 8th International Conference on Knowledge and Smart Technology (KST), pp. 146–151. IEEE (2016)

    Google Scholar 

  12. 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. In: ACM Sigplan Notices, vol. 40, pp. 190–200. ACM (2005)

    Google Scholar 

  13. Mittal, S.: A survey of architectural techniques for improving cache power efficiency. Sustain. Comput.: Inform. Syst. 4(1), 33–43 (2014)

    MathSciNet  Google Scholar 

  14. Navarro, O., Leiding, T., Hübner, M.: Configurable cache tuning with a victim cache. In: 2015 10th International Symposium on Reconfigurable Communication-centric Systems-on-Chip (ReCoSoC), pp. 1–6. IEEE (2015)

    Google Scholar 

  15. Tarjan, D., Thoziyoor, S., Jouppi, N.P.: Cacti 4.0. Technical report, Technical report HPL-2006-86, HP Laboratories Palo Alto (2006)

    Google Scholar 

  16. Vega, M.A., Martín, R., Zarallo, F.A., Sánchez, J.M., Gómez, J.A.: Smpcache: simulador de sistemas de memoria cache en multiprocesadores simétricos. Granada, XI Jornadas de Paralelismo (2000)

    Google Scholar 

  17. Wang, W., Mishra, P., Gordon-Ross, A.: Dynamic cache reconfiguration for soft real-time systems. ACM Trans. Embed. Comput. Syst. (1) (2012). http://dl.acm.org/citation.cfm?id=2220340

  18. Wang, Y., Chen, L.: Dynamic Branch Prediction Using Machine Learning. ECS-201A, Fall (2015)

    Google Scholar 

  19. Zhang, C., Vahid, F., Najjar, W.: A highly configurable cache architecture for embedded systems. In: 2003 Proceedings of the 30th Annual International Symposium on Computer Architecture, pp. 136–146. IEEE (2003)

    Google Scholar 

Download references

Acknowledgements

The authors of this paper would like to thank CONACyT (grant number 359472) and CAPES Foundation for their support.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jones Mori .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Navarro, O., Mori, J., Hoffmann, J., Stuckmann, F., Hübner, M. (2017). A Machine Learning Methodology for Cache Recommendation. In: Wong, S., Beck, A., Bertels, K., Carro, L. (eds) Applied Reconfigurable Computing. ARC 2017. Lecture Notes in Computer Science(), vol 10216. Springer, Cham. https://doi.org/10.1007/978-3-319-56258-2_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-56258-2_27

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-56257-5

  • Online ISBN: 978-3-319-56258-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics