Dynamic Memory Management for Embedded Systems

David Atienza, PhD, EPFL-IC-LSI

Computer Architecture and Automation Department (DACYA), UCM, Spain;
VLSI Department, Democritus University, Xanthi, Greece;
Digital Design Technology (DDT) Group, IMEC vzw, Leuven, Belgium.

Dynamic memory, heap, garbage collection, dynamic data types

New multimedia and wireless network applications are interactive and dynamic in nature. Therefore, the minimum/maximum power consumption levels can be significantly different. Also, they include thread-level parallelism, and portable devices run several applications concurrently. All these factors cannot be overlooked to design a low-power system from a memory efficient point of view. In addition, latest embedded systems are implemented using very high-level abstraction languages (e.g. C++ or Java) to achieve modularity, and platform-dependent optimizations are only applied much later, in the final mapping phase. Thus, these implementations are usually over-dimensioned in most of the cases and will hence waste cost and power, so the most common solution is to select a cheaper implementation that will occasionally suffer performance problems or not handle dynamic memory and rely on automatic garbage collection mechanisms provided by Java.

The goal of this research line is to develop the necessary new methodologies to overcome the aforementioned present design limitations and to suitably implement this highly dynamic new multimedia applications, e.g. MPEG-4 video systems, Quality of Service (QoS) 3D rendering, 3D games, etc., in current embedded and portable consumer devices. Therefore, we refine the systems and applications at different abstraction levels thus starting from a high-level specification, i.e. C++ or Java, to the final hardware/software implementation on embedded devices. The key steps of this process include optimization of the dynamic data types used by the algorithm to interact with the OS and refinement of dynamic memory managers at the OS level.

“Systematic Dynamic Memory Management Design Methodology for Reduced Memory Footprint”, David Atienza, Stylianos Mamagkakis, Francky Catthoor, Jose M. Mendias, Dimitrios Soudris, Accepted for ACM Transactions on Design Automation for Embedded Systems, 2006.

“Energy Characterization of Garbage Collectors for Dynamic Applications on Embedded Systems”, Jose Manuel Velasco, David Atienza, Katzalin Olcoz, Francky Catthoor, Francisco Tirado, Jose M. Mendias, Proceedings of the Workshop PATMOS ’05, Lecture Notes in Computer Science (LNCS), Springer-Verlag Heidelberg, Leuven, Belgium, September 2005.

“Memory-Access-Aware Data Structure Transformations for Embedded Software with Dynamic Data Accesses”, E. G.Daylight, David Atienza, Arnout Vandecappelle, Francky Catthoor, Jose M. Mendias, IEEE Transactions on VLSI, Vol.12, Num.3, pp.269-280, March 2004.

“Reducing Memory Fragmentation with Performance-optimized Dynamic Memory Allocators in Network Applications”, Stylianos Mamagkakis, Christos Baloukas, David Atienza, et al., Elsevier Computer Communications, to appear in November 2006.

Download project description file (76 KB pdf)