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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
C source codes benchmark. http://people.sc.fsu.edu/~jburkardt/c_src/c_src.html
Weka’s resample filter. http://weka.sourceforge.net/doc.dev/weka/filters/supervised/instance/Resample.html
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)
Burger, D., Austin, T.M.: The simplescalar tool set, version 2.0. ACM SIGARCH Comput. Archit. News 25(3), 13–25 (1997)
Dinero IV, T.D.U.C.: Simulator (2012). http://www.cs.wisc.edu/markhill/DineroIV
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)
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)
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)
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)
Jiménez, D.A., Lin, C.: Neural methods for dynamic branch prediction. ACM Trans. Comput. Syst. (TOCS) 20(4), 369–397 (2002)
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)
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)
Mittal, S.: A survey of architectural techniques for improving cache power efficiency. Sustain. Comput.: Inform. Syst. 4(1), 33–43 (2014)
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)
Tarjan, D., Thoziyoor, S., Jouppi, N.P.: Cacti 4.0. Technical report, Technical report HPL-2006-86, HP Laboratories Palo Alto (2006)
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)
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
Wang, Y., Chen, L.: Dynamic Branch Prediction Using Machine Learning. ECS-201A, Fall (2015)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights 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)