Energy consumption in reconfigurable mpsoc architecture: Two-level caches optimization oriented approach

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

[1]  Juan José Moreno-Navarro,et al.  Cache Configuration Exploration on Prototyping Platforms , 2003 .

[2]  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.

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

[4]  Jung Ho Ahn,et al.  McPAT 1 . 0 : An Integrated Power , Area , and Timing Modeling Framework for Multicore Architectures ∗ , 2010 .

[5]  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.

[6]  Frank Vahid,et al.  A self-tuning cache architecture for embedded systems , 2004 .

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

[8]  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).

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

[10]  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.

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

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

[13]  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.

[14]  Emilio Luque,et al.  A Reconfigurable Data Cache for Adaptive Processors , 2006, ARC.

[15]  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).