Energy-efficient dynamic memory allocators at the middleware level of embedded systems

The next generation of embedded systems will be dominated by mobile devices, which are able to deliver communications and rich multimedia content anytime, anywhere. The major themes in these ubiquitous computing systems are applications with increased user control and interactivity with the environment. Therefore, the storage of dynamic data increases, thus making the dynamic memory allocation of heap data at run time a very important component with heavy energy consumption. In this paper, we propose a novel script, which heavily customizes the dynamic memory allocator according to the target application domain and the underlying memory hier-archy of the embedded system. The dynamic memory allocator resides in the middleware level or in the Operating System level (whenever it is available). The result of our script and automated tools is the reduction of energy consumption by 72% on average and the reduction of the execution time by 40% on average, which is demonstrated with the use of 1 real life wireless network appli-cation and 1 multimedia application.

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

[2]  V. T. Rajan,et al.  A real-time garbage collector with low overhead and consistent utilization , 2003, POPL '03.

[3]  Giuseppe Attardi,et al.  A customisable memory management framework for C++ , 1998 .

[4]  Hugo De Man,et al.  Global interconnect trade-off for technology over memory modules to application level: case study , 2003, SLIP '03.

[5]  Kathryn S. McKinley,et al.  Ulterior reference counting: fast garbage collection without a long wait , 2003, OOPSLA '03.

[6]  Giuseppe Attardi,et al.  A Customisable Memory Management Framework for C++ , 1998, Softw. Pract. Exp..

[7]  Jörg Henkel,et al.  System-level exploration for Pareto-optimal configurations in parameterized systems-on-a-chip , 2001, IEEE/ACM International Conference on Computer Aided Design. ICCAD 2001. IEEE/ACM Digest of Technical Papers (Cat. No.01CH37281).

[8]  Mohamed Shalan,et al.  A dynamic memory management unit for embedded real-time system-on-a-chip , 2000, CASES '00.

[9]  Kiem-Phong Vo,et al.  Vmalloc: A General and Efficient Memory Allocator , 1996, Softw. Pract. Exp..

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

[11]  Kiem-Phong Vo Vmalloc: A General and Efficient Memory Allocator , 1996 .

[12]  Francky Catthoor,et al.  Automated Exploration of Pareto-optimal Configurations in Parameterized Dynamic Memory Allocation for Embedded Systems , 2006, Proceedings of the Design Automation & Test in Europe Conference.

[13]  Erik Brockmeyer,et al.  Unified Meta-Flow Summary for Low-Power Data-Dominated Applications , 2000 .

[14]  Francky Catthoor,et al.  Dynamic memory management design methodology for reduced memory footprint in multimedia and wireless network applications , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.