Methodology for Refinement and Optimisation of Dynamic Memory Management for Embedded Systems in Multimedia Applications

In multimedia applications, run-time memory management support has to allow real-time memory de/allocation, retrieving and processing of data. Thus, its implementation must be designed to combine high speed, low power, large data storage capacity and a high memory bandwidth. In this paper, we assess the performance of our new system-level exploration methodology to optimise the memory management of typical multimedia applications in an extensively used 3D reconstruction image system [1, 2]. This methodology is based on an analysis of the number of memory accesses, normalised memory footprint1 and energy estimations for the system studied. This results in an improvement of normalised memory footprint up to 44.2% and the estimated energy dissipation up to 22.6% over conventional static memory implementations in an optimised version of the driver application. Finally, our final version is able to scale perfectly the memory consumed in the system for a wide range of input parameters whereas the statically optimised version is unable to do this.

[1]  M.A. Horowitz,et al.  Speed and power scaling of SRAM's , 2000, IEEE Journal of Solid-State Circuits.

[2]  Mahmut T. Kandemir,et al.  Evaluating Integrated Hardware-Software Optimizations Using a Unified Energy Estimation Framework , 2003, IEEE Trans. Computers.

[3]  Niraj K. Jha,et al.  High-level software energy macro-modeling , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[4]  S. Wuytack,et al.  Analyzing energy friendly steady state phases of dynamic application execution in terms of sparse data structures , 2002, Proceedings of the International Symposium on Low Power Electronics and Design.

[5]  Sharad Malik,et al.  Power analysis and minimization techniques for embedded DSP software , 1997, IEEE Trans. Very Large Scale Integr. Syst..

[6]  Luca Benini,et al.  System-level power optimization: techniques and tools , 1999, ISLPED '99.

[7]  Mary Jane Irwin,et al.  Architecture-level power estimation and design experiments , 2001, TODE.

[8]  Rudy Lauwereins,et al.  Power Estimation Approach of Dynamic Data Storage on a Hardware Software Boundary Level , 2003, PATMOS.

[9]  Roger Henriksson,et al.  Scheduling Garbage Collection in Embedded Systems , 1998 .

[10]  Paul R. Wilson,et al.  The memory fragmentation problem: solved? , 1998, ISMM '98.

[11]  IrwinMary Jane,et al.  Architecture-level power estimation and design experiments , 2001 .

[12]  Paul R. Wilson,et al.  Dynamic Storage Allocation: A Survey and Critical Review , 1995, IWMM.

[13]  Sharad Malik,et al.  Power analysis of embedded software: a first step towards software power minimization , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[14]  Francky Catthoor,et al.  Fast System-Level Prototyping of Power-Aware Dynamic Memory Managers for Embedded Systems , 2003 .

[15]  James R. Larus,et al.  Cache-conscious structure layout , 1999, PLDI '99.

[16]  Luca Benini,et al.  Efficient system-level prototyping of power-aware dynamic memory managers for embedded systems , 2006, Integr..

[17]  Chantal Ykman-Couvreur,et al.  Analyzing energy friendly steady state phases of dynamic application execution in terms of sparse data structures , 2002, ISLPED '02.

[18]  Mahmut T. Kandemir,et al.  EAC: a compiler framework for high-level energy estimation and optimization , 2002, Proceedings 2002 Design, Automation and Test in Europe Conference and Exhibition.

[19]  Chantal Ykman-Couvreur,et al.  Memory management for embedded network applications , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[20]  Henrietta Hardy Mrs Hammond The complete guide , 1883 .

[21]  Nikil D. Dutt,et al.  Memory organization for improved data cache performance in embedded processors , 1996, Proceedings of 9th International Symposium on Systems Synthesis.

[22]  Erik Brockmeyer,et al.  Storage Management Programmable Process , 2002 .

[23]  Kathryn S. McKinley,et al.  Composing high-performance memory allocators , 2001, PLDI '01.

[24]  Erik Brockmeyer,et al.  Data Access and Storage Management for Embedded Programmable Processors , 2002, Springer US.

[25]  Reinhard Koch,et al.  Metric 3D reconstruction from uncalibrated image sequence , 1998 .

[26]  D. Sarta,et al.  A data dependent approach to instruction level power estimation , 1999, Proceedings IEEE Alessandro Volta Memorial Workshop on Low-Power Design.

[27]  David Atienza,et al.  Intermediate variable elimination in a global context for a 3D multimedia application , 2003, 2003 International Conference on Multimedia and Expo. ICME '03. Proceedings (Cat. No.03TH8698).

[28]  Christopher G. Harris,et al.  A Combined Corner and Edge Detector , 1988, Alvey Vision Conference.

[29]  Luc Van Gool,et al.  3D MURALE: a multimedia system for archaeology , 2001, VAST '01.

[30]  Douglas Gregor,et al.  C++ Templates: The Complete Guide , 2002 .