Methodology for refinement and optimization 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. We assess the performance of our new system-level exploration methodology to optimize the memory management of typical multimedia applications in an extensively used 3D image reconstruction system (Pollefeys, M. et al, 1998; Cosmas, J. et al, 2002). This methodology is based on an analysis of the number of memory accesses, normalized memory use and energy estimations for the system studied. This results in an improvement in the normalized memory footprint of up to 44.2% and in the estimated energy dissipation of up to 22.6% over conventional static memory implementations in an optimized 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 optimized 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]  Kathryn S. McKinley,et al.  Composing high-performance memory allocators , 2001, PLDI '01.

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

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

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