Abstract
In typical multicore processors, last level caches are formed by distributed clusters of memory banks of the same size, namely homogeneous ones. By shutting down part of these clusters to save power along generations of multicore processors, clusters with non-homogeneous cache sizes can be originated, named as heterogeneous ones. Given that heterogeneous clusters have typically smaller sizes than the homogeneous ones, they present larger miss rates that are likely to deteriorate performance. In this investigation, we study the impact of heterogeneous caches in embedded microprocessors, by having an arbitrary mix of homogeneous and heterogeneous clusters. That is, we propose to evaluate the architectural implications of these heterogeneous caches and a flexible algorithm that can be used to explore them. From scientific applications’ experimental benchmarking, our findings show that microprocessors with heterogeneous clusters present a maximal performance degradation of about 10 % and maximal performance improvement of 16 %, while obtaining maximum miss hit rate of reduction and improvement up to 10 %. In addition, 10 % of coherence activity decrease when presenting maximum energy utilization up to 50 % and maximum energy reduction of 15 %.
Similar content being viewed by others
References
Cook H et al (2013) A hardware evaluation of cache partitioning to improve utilization and energy-efficiency while preserving responsiveness. In: ISCA’13, New York, NY, USA, ACM, pp 308–319
Benitez D, Moure JC, Rexachs D, Luque E (2010) A reconfigurable cache memory with heterogeneous banks. In: Proceedings of the conference on design, automation and test in Europe, DATE ’10 (3001 Leuven, Belgium, Belgium), pp 825–830. European Design and Automation Association
Benitez D, Moure JC, Rexachs DI, Luque E (2006) A reconfigurable data cache for adaptive processors. In: Reconfigurable computing: architectures and applications, vol 3985. Lecture notes in computer science, pp 230–242. Springer, Berlin
Mittal S, Zhang Z, Vetter J (2013) FlexiWay: a cache energy saving technique using fine-grained cache reconfiguration. In: 2013 IEEE 31st international conference on computer design (ICCD), pp 100–107
Sleiman FM, Dreslinski RG, Wenisch TF (2012) Embedded way prediction for last-level caches. In: 2012 IEEE 30th international conference on computer design (ICCD), pp 167–174
Sundararajan KT, Porpodas V, Jones TM, Topham NP, Franke B (2012) Cooperative partitioning: energy-efficient cache partitioning for high-performance CMPs. In: 2012 IEEE 18th international symposium on high performance computer architecture (HPCA), pp 1–12
Mittal S, Zhang Z (2012) Encache: Improving cache energy efficiency using a software-controlled profiling cache. In: IEEE international conference on electro/information technology, pp 1–12
Mittal S, Zhang Z, Cao Y (2013) Cashier: a cache energy saving technique for QoS systems. In: 2013 26th international conference on VLSI design and 2013 12th international conference on embedded systems (VLSID), pp 43–48
Wang W, Mishra P, Ranka S (2011) Dynamic cache reconfiguration and partitioning for energy optimization in real-time multi-core systems. In: Design automation conference (DAC), 2011 48th ACM/EDAC/IEEE, pp 948–953
Hajimiri H, Mishra P, Bhunia S (2013) Dynamic cache tuning for efficient memory based computing in multicore architectures. In: International conference on VLSI design, pp 49–54. Pune, India, January 5–10, 2013
Mittal S, Zhang Z (2013) Palette: a cache leakage energy saving technique for green computing. In: Series advances in parallel computing Ebook, pp 46–61
Kotera I, Abe K, Egawa R, Takizawa H, Kobayashi H (2011) Power-aware dynamic cache partitioning for CMPs. Transactions on high-performance embedded architectures and compilers iii, pp 135–153
Sundararajan et al (2013) The smart cache: an energy-efficient cache architecture through dynamic adaptation. Int J Parallel Program 41:305–330
Paul M, Petrov P (2011) Dynamically adaptive I-cache partitioning for energy-efficient embedded multitasking. IEEE Trans Very Large Scale Integr Syst 19:2067–2080
Abella J, González A (2006) Heterogeneous way-size cache. In: Proceedings of the 20th annual international conference on supercomputing, ICS ’06, New York, NY, USA, pp 239–248. ACM
Bardine A, Foglia P, Gabrielli G, Prete CA, Stenstrm P (2007) Improving power efficiency of D-NUCA caches. ACM SIGARCH Comput Arch News 35(4):53–58
Lodde M, Flich J, Acacio ME (2012) Dynamic last-level cache allocation to reduce area and power overhead in directory coherence protocols. In: Proceedings of the 18th international conference on parallel processing. Euro-Par’12, pp 206–218. Springer, Berlin
Marino MD (2006) L2-cache hierarchical organizations for multi-core architectures. Frontiers of high performance computing and networking–ISPA 2006 workshops, pp 74–83, Springer, Sorrento, Italy
Gebhart M, Maher BA, Coons KE, Diamond J, Gratz P, Marino M, Ranganathan N, Robatmili B, Smith A, Burrill J, Keckler SW, Burger D, McKinley KS (2009) An evaluation of the trips computer system. In: Proceedings of the 14th international conference on architectural support for programming languages and operating systems, ASPLOS XIV, New York, NY, USA, pp 1–12. ACM
Muralimanohar N, Balasubramonian R (2007) Interconnect design considerations for large NUCA caches. In: Proceedings of the 34th annual international symposium on computer architecture, New York, NY, USA, ACM
Tian Y et al (2014) Last-level cache deduplication. In: International conference on supercomputing, New York, NY, USA. ACM, pp 53–62
Hameed F et al (2014) Reducing latency in an SRAM/DRAM cache hierarchy via a novel tag-cache architecture. In: DAC ’14, New York, NY, USA. ACM
CACTI 5.1. http://www.hpl.hp.com/techreports/2008/HPL200820.html. Accessed 01 November 2014
Marino MD (2006) 32-core CMP with Multi-sliced L2: 2 and 4 cores sharing a L2 slice. In: International symposium on computer architecture and high performance computing, IEEE, pp 141–150
Marino MD (2012) RFiop: RF-memory path to address on-package I/O pad and memory controller scalability. In: ICCD, 2012, Montreal, Quebec, Canada. IEEE
Marino MD, Li K-C (2015) Implications of shallower memory controller transaction queues in scalable memory systems. J Supercomput. doi:10.1007/s11227-015-1485-x
Ortego PM, Sack P (2004) Sesc: superescalar simulator. Technical report, University of Illinois
Woo SC, Ohara M, Torrie E, Singh JP, Gupta A (1995) The SPLASH-2 programs: characterization and methodological considerations. In: Proceedings of the 22nd annual international symposium on computer architecture. ISCA ’95, New York, NY, USA, pp 24–36. ACM
Bardine A, Comparetti M, Foglia P, Prete CA (2014) Evaluation of leakage reduction alternatives for deep submicron dynamic nonuniform cache architecture caches. IEEE Trans Very Large Scale Integr Syst 22:185–190
Abella J, González A, Vera X, O’Boyle MFP (2005) Iatac: a smart predictor to turn-off l2 cache lines. ACM Trans Archit Code Optim 2:55–77
Reconfigurable caches for adaptive high-performance and embedded processors. http://serdis.dis.ulpgc.es/~dbenitez/index_archivos/Page318.htm. Accessed 15 October 2015
Marino MD, Li KC (2014) Insights on memory controller scalability in heterogeneous multi-core embedded systems 6(4)
Marino MD (2013) RFiof: an RF approach to the I/O-pin and memory controller scalability for off-chip memories, in CF, May 14–16 , Ischia, Italy. ACM, pp 100–110
Marino MD (2012) On-package scalability of RF and inductive memory controllers. In: Euromicro DSD, Turkey. IEEE, pp 923–930
Acknowledgments
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the funding agencies or institutions. We would like to thank Maria Amelia Guitti and anonymous reviewers for their valuable comments and feedbacks. This research is based upon work partially supported by Ministry of Science and Technology (MOST)/Taiwan and The Providence University research project awards.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Marino, M.D., Li, KC. Last level cache size heterogeneity in embedded systems. J Supercomput 72, 503–544 (2016). https://doi.org/10.1007/s11227-015-1576-8
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-015-1576-8