skip to main content
research-article
Public Access

Cache Reconfiguration Using Machine Learning for Vulnerability-aware Energy Optimization

Published:02 April 2019Publication History
Skip Abstract Section

Abstract

Dynamic cache reconfiguration has been widely explored for energy optimization and performance improvement for single-core systems. Cache partitioning techniques are introduced for the shared cache in multicore systems to alleviate inter-core interference. While these techniques focus only on performance and energy, they ignore vulnerability due to soft errors. In this article, we present a static profiling based algorithm to enable vulnerability-aware energy-optimization for real-time multicore systems. Our approach can efficiently search the space of cache configurations and partitioning schemes for energy optimization while task deadlines and vulnerability constraints are satisfied. A machine learning technique has been employed to minimize the static profiling time without sacrificing the accuracy of results. Our experimental results demonstrate that our approach can achieve 19.2% average energy savings compared with the base configuration, while drastically reducing the vulnerability (49.3% on average) compared to state-of-the-art techniques. Furthermore, the machine learning technique enabled more than 10x speedup in static profiling time with a negligible prediction error of 3%.

References

  1. Statistics and Machine Learning Toolbox, Matlab. 2017b. MathWorks, Retrieved from https://www.mathworks.com/products/statistics.html.Google ScholarGoogle Scholar
  2. Tosiron Adegbija, Ann Gordon-Ross, and Arslan Munir. 2012. Dynamic phase-based tuning for embedded systems using phase distance mapping. In IEEE 30th International Conference on Computer Design (ICCD’12). IEEE, 284--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G-H Asadi, V. S. Mehdi, B. Tahoori, and David Kaeli. 2005. Balancing performance and reliability in the memory hierarchy. In IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS’05). IEEE, 269--279. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Nathan Binkert, Bradford Beckmann, Gabriel Black, Steven K. Reinhardt, Ali Saidi, Arkaprava Basu, Joel Hestness, Derek R. Hower, Tushar Krishna, Somayeh Sardashti, et al. 2011. The gem5 simulator. ACM SIGARCH Comput. Archit. News 39, 2 (2011), 1--7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Arijit Biswas, Paul Racunas, Razvan Cheveresan, Joel Emer, Shubhendu S. Mukherjee, and Ram Rangan. 2005. Computing architectural vulnerability factors for address-based structures. ACM SIGARCH Comput. Archit. News 33, 532--543. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Yuan Cai, Marcus T. Schmitz, Alireza Ejlali, Bashir M. Al-Hashimi, and Sudhakar M. Reddy. 2006. Cache size selection for performance, energy and reliability of time-constrained systems. In 2006 Asia and South Pacific Design Automation Conference. IEEE Press, 923--928. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Shounak Chakraborty and Hemangee K. Kapoor. 2016. Static energy reduction by performance linked dynamic cache resizing. In IFIP/IEEE International Conference on Very Large Scale Integration (VLSI-SoC’16). IEEE, 1--6.Google ScholarGoogle Scholar
  8. Timothy J. Dell. 1997. A white paper on the benefits of chipkill-correct ECC for PC server main memory. IBM Microelectronics Division 11 (1997).Google ScholarGoogle Scholar
  9. Ann Gordon-Ross and Frank Vahid. 2007. A self-tuning configurable cache. In Proceedings of the 44th Annual Design Automation Conference. ACM, 234--237. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Matthew R. Guthaus, Jeffrey S. Ringenberg, Dan Ernst, Todd M. Austin, Trevor Mudge, and Richard B. Brown. 2001. MiBench: A free, commercially representative embedded benchmark suite. In IEEE International Workshop on Workload Characterization (WWC-4’01). IEEE, 3--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Hadi Hajimiri, Prabhat Mishra, Swarup Bhunia, Branden Long, Yibo Li, and Rashmi Jha. 2013. Content-aware encoding for improving energy efficiency in multi-level cell resistive random access memory. In IEEE/ACM International Symposium on Nanoscale Architectures (NANOARCH’14). 76--81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Hadi Hajimiri, Kamran Rahmani, and Prabhat Mishra. 2011. Synergistic integration of dynamic cache reconfiguration and code compression in embedded systems. InInternational Green Computing Conference (IGCC’11). 1--8. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Hadi Hajimiri and Prabhat Mishra. 2012. Intra-task dynamic cache reconfiguration. In 25th International Conference on VLSI Design (VLSID’12). IEEE, 430--435. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. John L. Henning. 2000. SPEC CPU2000: Measuring CPU performance in the new millennium. Computer 33, 7 (2000), 28--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Po-Yang Hsu and TingTing Hwang. 2013. Thread-criticality aware dynamic cache reconfiguration in multi-core system. In International Conference on Computer-Aided Design. IEEE Press, 413--420. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Hadi Hajimiri, Kamran Rahmani, and Prabhat Mishra. 2012. Compression-aware dynamic cache reconfiguration for embedded systems. Elsevier Sustainable Comput. Inf. Syst. 2, 2 (2012), 71--80.Google ScholarGoogle ScholarCross RefCross Ref
  17. Yuanwen Huang and Prabhat Mishra. 2011. Vulnerability-aware energy optimization for reconfigurable caches in multitasking systems. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. https://ieeexplore.ieee.org/document/8355959.Google ScholarGoogle Scholar
  18. Yuanwen Huang and Prabhat Mishra. 2016. Reliability and energy-aware cache reconfiguration for embedded systems. In 17th International Symposium on Quality Electronic Design (ISQED’16). IEEE, 313--318.Google ScholarGoogle Scholar
  19. Yuanwen Huang and Prabhat Mishra. 2017. Vulnerability-aware energy optimization using reconfigurable caches in multicore systems. In 2017 IEEE 35th International Conference on Computer Design (ICCD). IEEE, 241--248.Google ScholarGoogle ScholarCross RefCross Ref
  20. Reiley Jeyapaul and Aviral Shrivastava. 2011. Smart cache cleaning: Energy efficient vulnerability reduction in embedded processors. In 14th International Conference on Compilers, Architectures and Synthesis for Embedded Systems. ACM, 105--114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Dimitris Kaseridis, Jeffrey Stuecheli, and Lizy K. John. 2009. Bank-aware dynamic cache partitioning for multicore architectures. In International Conference on Parallel Processing (ICPP’09). IEEE, 18--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Yohan Ko, Reiley Jeyapaul, Youngbin Kim, Kyoungwoo Lee, and Aviral Shrivastava. 2015. Guidelines to design parity protected write-back L1 data cache. In 52nd ACM/EDAC/IEEE Design Automation Conference (DAC’15). IEEE, 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Yun Liang, Xiuhong Li, and Xiaolong Xie. 2017. Exploring cache bypassing and partitioning for multi-tasking on GPUs. In Proceedings of the 36th International Conference on Computer-Aided Design. IEEE Press, 9--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Sparsh Mittal, Yanan Cao, and Zhao Zhang. 2014. Master: A multicore cache energy-saving technique using dynamic cache reconfiguration. IEEE Trans. Very Large Scale Integr. VLSI Syst. 22, 8 (2014), 1653--1665.Google ScholarGoogle ScholarCross RefCross Ref
  25. Sparsh Mittal and Jeffrey S. Vetter. 2016. A survey of techniques for modeling and improving reliability of computing systems. IEEE Trans. Parallel Distrib. Syst. 27, 4 (2016), 1226--1238. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Shubhendu S. Mukherjee, Christopher Weaver, Joel Emer, Steven K. Reinhardt, and Todd Austin. 2003. A systematic methodology to compute the architectural vulnerability factors for a high-performance microprocessor. In Proceedings of the 36th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO’36). IEEE, 29--40. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Xiaoke Qin and Prabhat Mishra. 2014. TECS: Temperature- and energy-constrained scheduling for multicore systems. International Conference on VLSI Design (VLSID’14). 216--221. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Xiaoke Qin, Weixun Wang, and Prabhat Mishra. 2012. TCEC: Temperature- and energy-constrained scheduling in real-time multitasking systems. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 31, 8 (2012), 1159--1168. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Soft Error Rates. 2002. Neutrons from above. Actel (2002).Google ScholarGoogle Scholar
  30. Kamran Rahmani, Prabhat Mishra, and Swarup Bhunia. 2012. Memory-based computing for performance and energy improvement in multicore architectures. ACM Great Lakes Symposium on VLSI (GLSVLSI’12). 287--290. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Rakesh Reddy and Peter Petrov. 2010. Cache partitioning for energy-efficient and interference-free embedded multitasking. ACM Trans. Embedded Comput. Syst. (TECS) 9, 3 (2010), 16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Nathan N. Sadler and Daniel J. Sorin. 2007. Choosing an error protection scheme for a microprocessor’s L1 data cache. In International Conference on Computer Design (ICCD’06). IEEE, 499--505.Google ScholarGoogle Scholar
  33. Alex Settle, Dan Connors, Enric Gibert, and Antonio González. 2006. A dynamically reconfigurable cache for multithreaded processors. J. Embedded Comput. 2, 2 (2006), 221--233. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Timothy Sherwood, Suleyman Sair, and Brad Calder. 2003. Phase tracking and prediction. In ACM SIGARCH Computer Architecture News, Vol. 31. ACM, 336--349. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Vilas Sridharan, Hossein Asadi, Mehdi B. Tahoori, and David Kaeli. 2006. Reducing data cache susceptibility to soft errors. IEEE Trans. Dependable Secure Comput. 3, 4 (2006), 353--364. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Vilas Sridharan and Dean Liberty. 2012. A study of DRAM failures in the field. In International Conference for High Performance Computing, Networking, Storage and Analysis (SC’12). IEEE, 1--11. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Jinho Suh, Mehrtash Manoochehri, Murali Annavaram, and Michel Dubois. 2011. Soft error benchmarking of L2 caches with PARMA. ACM SIGMETRICS Perform. Eval. Rev. 39, 1 (2011), 85--96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Weixun Wang, Sanjay Ranka, and Prabhat Mishra. 2011. A general algorithm for energy-aware dynamic reconfiguration in multitasking systems. International Conference on VLSI Design (VLSID), 334--339. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Weixun Wang, Prabhat Mishra, and Ann Gordon-Ross. 2009. SACR: Scheduling-aware cache reconfiguration for real-time embedded systems. International Conference on VLSI Design (VLSID), 547--552. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Weixun Wang and Prabhat Mishra. 2010. Leakage-aware energy minimization using dynamic voltage scaling and cache reconfiguration in real-time systems. International Conference on VLSI Design (VLSID), 357--362. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Weixun Wang and Prabhat Mishra. 2009. Dynamic reconfiguration of two-level caches in soft real-time embedded systems. In IEEE Computer Society Annual Symposium on VLSI (ISVLSI’09). IEEE, 145--150. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Weixun Wang, Xiaoke Qin, and Prabhat Mishra. 2010. Temperature- and energy-constrained scheduling in multitasking systems: A model checking approach. In ACM/IEEE International Symposium on Low Power Electronics and Design (ISLPED), 85--90. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Weixun Wang, Sanjay Ranka and Prabhat Mishra. 2011. Energy-aware dynamic reconfiguration algorithms for real-time multitasking systems. Elsevier Sustainable Comput. Inf. Syst. 1, 1 (2011), 35--45.Google ScholarGoogle ScholarCross RefCross Ref
  44. Weixun Wang and Prabhat Mishra. 2012. System-wide leakage-aware energy minimization using dynamic voltage scaling and cache reconfiguration in multitasking systems. IEEE Trans. Very Large Scale Integr. VLSI Syst. 20, 5 (2012), 902--910. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Weixun Wang and Prabhat Mishra. 2011. Dynamic reconfiguration of two-level cache hierarchy in real-time embedded systems. J. Low Power Electron. 7, 1 (2011), 17--28.Google ScholarGoogle ScholarCross RefCross Ref
  46. Weixun Wang, Sanjay Ranka and Prabhat Mishra. 2011. Energy-aware dynamic slack allocation for real-time multitasking systems. Elsevier Sustainable Computing: Informatics and Systems (SUSCOM), 2, 3 (2012), 128--137.Google ScholarGoogle ScholarCross RefCross Ref
  47. Weixun Wang, Prabhat Mishra, and Ann Gordon-Ross. 2012. Dynamic cache reconfiguration for soft real-time systems. ACM Trans. Embedded Comput. Syst. 11, 2 (2012), 28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Weixun Wang, Prabhat Mishra, and Sanjay Ranka. 2011. Dynamic cache reconfiguration and partitioning for energy optimization in real-time multi-core systems. In Proceedings of the 48th Design Automation Conference. ACM, 948--953. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Weixun Wang, Prabhat Mishra, and Sanjay Ranka. 2012. Dynamic Reconfiguration in Real-Time Systems. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Chuanjun Zhang, Frank Vahid, and Walid Najjar. 2005. A highly configurable cache for low energy embedded systems. ACM Trans. Embedded Comput. Syst. 4, 2 (2005), 363--387. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Wangyuan Zhang, Xin Fu, Tao Li, and José Fortes. 2007. An analysis of microarchitecture vulnerability to soft errors on simultaneous multithreaded architectures. In IEEE International Symposium on Performance Analysis of Systems 8 Software (ISPASS’07). IEEE, 169--178.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Cache Reconfiguration Using Machine Learning for Vulnerability-aware Energy Optimization

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!