Two-level caches tuning technique for energy consumption in reconfigurable embedded MPSoC

In order to meet the ever-increasing computing requirement in the embedded market, multiprocessor chips were proposed as the best way out. In this work we investigate the energy consumption in these embedded MPSoC systems. One of the efficient solutions to reduce the energy consumption is to reconfigure the cache memories. This approach was applied for one cache level/one processor architecture, but has not yet been investigated for multiprocessor architecture with two level caches. The main contribution of this paper is to explore two level caches (L1/L2) multiprocessor architecture by estimating the energy consumption. Using a simulation platform, we first built a multiprocessor architecture, and then we propose a new algorithm that tunes the two-level cache memory hierarchy (L1 and L2). The tuning caches approach is based on three parameters: cache size, line size, and associativity. To find the best cache configuration, the application is divided into several execution intervals. And then, for each interval, we generate the best cache configuration. Finally, the approach is validated using a set of open source benchmarks; Spec 2006, Splash-2, MediaBench and we discuss the performance in terms of speedup and energy reduction.

[1]  David H. Albonesi,et al.  Selective cache ways: on-demand cache resource allocation , 1999, MICRO-32. Proceedings of the 32nd Annual ACM/IEEE International Symposium on Microarchitecture.

[2]  Bouziane Beldjilali,et al.  Energy consumption in reconfigurable mpsoc architecture: Two-level caches optimization oriented approach , 2013, 2013 8th IEEE Design and Test Symposium.

[3]  Abel G. Silva-Filho,et al.  Heuristic for Two-Level Cache Hierarchy Exploration Considering Energy Consumption and Performance , 2006, PATMOS.

[4]  Bill Moyer,et al.  A low power unified cache architecture providing power and performance flexibility , 2000, ISLPED'00: Proceedings of the 2000 International Symposium on Low Power Electronics and Design (Cat. No.00TH8514).

[5]  Sanjay Ranka,et al.  Dynamic cache reconfiguration and partitioning for energy optimization in real-time multi-core systems , 2011, 2011 48th ACM/EDAC/IEEE Design Automation Conference (DAC).

[6]  Maurizio Palesi,et al.  Multi-objective design space exploration using genetic algorithms , 2002, Proceedings of the Tenth International Symposium on Hardware/Software Codesign. CODES 2002 (IEEE Cat. No.02TH8627).

[7]  Peter Petrov,et al.  Eliminating inter-process cache interference through cache reconfigurability for real-time and low-power embedded multi-tasking systems , 2007, CASES '07.

[8]  Frank Vahid,et al.  Platune: a tuning framework for system-on-a-chip platforms , 2002, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[9]  Ann Gordon-Ross,et al.  An application classification guided cache tuning heuristic for multi-core architectures , 2012, 17th Asia and South Pacific Design Automation Conference.

[10]  Frank Vahid,et al.  A self-tuning cache architecture for embedded systems , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[11]  Jung Ho Ahn,et al.  McPAT: An integrated power, area, and timing modeling framework for multicore and manycore architectures , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[12]  Frank Vahid,et al.  Dynamic tuning of configurable architectures: the AWW online algorithm , 2008, CODES+ISSS '08.

[13]  Ann Gordon-Ross,et al.  CPACT - The conditional parameter adjustment cache tuner for dual-core architectures , 2011, 2011 IEEE 29th International Conference on Computer Design (ICCD).

[14]  Frank Vahid,et al.  A highly configurable cache architecture for embedded systems , 2003, 30th Annual International Symposium on Computer Architecture, 2003. Proceedings..

[15]  Lizy Kurian John,et al.  Bank-aware Dynamic Cache Partitioning for Multicore Architectures , 2009, 2009 International Conference on Parallel Processing.

[16]  Nikil D. Dutt,et al.  Fast Configurable-Cache Tuning With a Unified Second-Level Cache , 2009, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[17]  Frank Vahid,et al.  A One-Shot Configurable-Cache Tuner for Improved Energy and Performance , 2007, 2007 Design, Automation & Test in Europe Conference & Exhibition.

[18]  Frank Vahid,et al.  Cache configuration exploration on prototyping platforms , 2003, 14th IEEE International Workshop on Rapid Systems Prototyping, 2003. Proceedings..

[19]  Nikil D. Dutt,et al.  Automatic tuning of two-level caches to embedded applications , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[20]  Abel G. Silva-Filho,et al.  A Combined Optimization Method for Tuning Two-Level Memory Hierarchy Considering Energy Consumption , 2011, EURASIP J. Embed. Syst..