Memory-access-aware data structure transformations for embedded software with dynamic data accesses
Edgar G. Daylight,David Atienza,Arnout Vandecappelle,Francky Catthoor,Jose M. Mendias +4 more
- 01 Mar 2004
- Vol. 12, Iss: 3, pp 269-280
TL;DR: The objective of this paper is to introduce high-level, systematically applicable, data structure transformations and to show in detail the practical feasibility of the optimizations on three real-life multimedia case studies.
read more
Abstract: Embedded systems are evolving from traditional, stand-alone devices to devices that participate in Internet activity. The days of simple, manifest embedded software [e.g. a simple finite-impulse response (FIR) algorithm on a digital signal processor (DSP] are over. Complex, nonmanifest code, executed on a variety of embedded platforms in a distributed manner, characterizes next generation embedded software. One dominant niche, which we concentrate on, is embedded, multimedia software. The need is present to map large scale, dynamic, multimedia software onto an embedded system in a systematic and highly optimized manner. The objective of this paper is to introduce high-level, systematically applicable, data structure transformations and to show in detail the practical feasibility of our optimizations on three real-life multimedia case studies. We derive Pareto tradeoff points in terms of accesses versus memory footprint and obtain significant gains in execution time and power consumption with respect to the initial implementation choices. Our approach is a first step to systematically applying high-level data structure transformations in the context of memory-efficient and low-power multimedia systems.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Figures

Fig. 1. Adding an array of links on top of an array of records. 
Fig. 6. Implem1: a sparse array of records. A record represents the position (Pos) of the upper right corner and the RGB color of a rectangle in the Tetris game. Each array element is indexed by a position value which represents the lower left corner of a rectangle. The total number of array elements is equal to the resolution of the screen, i.e., 640 480 = 307200. Only 100 of these contain a Pos-RGB value since there are only 100 rectangles in our version of the Tetris game. Note that for simplicity only three of the 100 rectangles are shown. ![TABLE I PIXELS BUFFER IMPLEMENTATIONS MEMORY FOOTPRINT [KB], DATA ACCESSES TO INSERT 100 TETRIS RECTANGLES, REMOVE 100 RECTANGLES AND TRAVERSE ONCE THROUGH ALL 100 RECTANGLES, AND ESTIMATED POWER CONSUMPTION [mW]](/figures/table-i-pixels-buffer-implementations-memory-footprint-kb-3u26hkn2.png)
TABLE I PIXELS BUFFER IMPLEMENTATIONS MEMORY FOOTPRINT [KB], DATA ACCESSES TO INSERT 100 TETRIS RECTANGLES, REMOVE 100 RECTANGLES AND TRAVERSE ONCE THROUGH ALL 100 RECTANGLES, AND ESTIMATED POWER CONSUMPTION [mW] 
Fig. 7. Implem2: a more compact storage representation: the keys are explicit. Only four of the 100 rectangles are shown for simplicity. 
Fig. 8. Implem3: a storage representation where the key values are stored both implicitly (array 1) and explicitly (array 2). The drawing corresponds to the scenario where only three of the 100 rectangles have been inserted into the data structure. This is done for simplicity. Other 97 rectangles still need to be inserted. ![TABLE II GAME ENGINE IMPLEMENTATIONS. MEMORY FOOTPRINT [KB]/DATA ACCESSES FOR ONE OUTPUT FRAME AND VARYING NUMBER OF SOLDIERS](/figures/table-ii-game-engine-implementations-memory-footprint-kb-23pkvmjj.png)
TABLE II GAME ENGINE IMPLEMENTATIONS. MEMORY FOOTPRINT [KB]/DATA ACCESSES FOR ONE OUTPUT FRAME AND VARYING NUMBER OF SOLDIERS
Citations
Systematic dynamic memory management design methodology for reduced memory footprint
TL;DR: This article presents a new methodology that allows to design custom DM management mechanisms with a reduced memory footprint for multimedia and wireless network applications and proposes a suitable way to traverse the aforementioned design space and construct custom DM managers that minimize the DM used by these highly dynamic applications.
Optimization methodology of dynamic data structures based on genetic algorithms for multimedia embedded systems
Christos Baloukas,José L. Risco-Martín,David Atienza,Christophe Poucet,Lazaros Papadopoulos,Stylianos Mamagkakis,Dimitrios Soudris,J. Ignacio Hidalgo,Francky Catthoor,Juan Lanchares +9 more
TL;DR: A novel and automated way to optimize dynamic data structures is presented, which is pruned using genetic algorithms that converge to the best multilayered data structure implementation for the targeted applications.
24
Dynamic data type refinement methodology for systematic performance-energy design exploration of network applications
Alexandros Bartzas,Stylianos Mamagkakis,Georgios Pouiklis,David Atienza,F. Catthoor,Dimitrios Soudris,Adonios Thanailakis +6 more
- 06 Mar 2006
TL;DR: A new systematic methodology, generating performance-energy trade-offs by implementing dynamic data types (DDTs), targeting network applications, achieves up to 93% reduction in energy consumption and up to 48% increase in performance.
Optimization of dynamic data structures in multimedia embedded systems using evolutionary computation
David Atienza,Christos Baloukas,Lazaros Papadopoulos,Christophe Poucet,Stylianos Mamagkakis,José Ignacio Hidalgo,Francky Catthoor,Dimitrios Soudris,Juan Lanchares +8 more
- 20 Apr 2007
TL;DR: The results in real-life multimedia applications show that the best implementations of DDTs can be obtained in an automated way in few hours, while typically designers would require days to find a suitable implementation, achieving important savings in exploration time with respect to other state-of-the-art heuristics-based optimization methods for this task.
•Book
Dynamic Memory Management for Embedded Systems
David Atienza Alonso,Stylianos Mamagkakis,Christophe Poucet,Miguel Pen-Quirs,Alexandros Bartzas,Francky Catthoor,Dimitrios Soudris +6 more
- 25 Sep 2014
TL;DR: This book provides a systematic and unified methodology, including basic principles and reusable processes, for dynamic memory management (DMM) in embedded systems and describes in detail how to design and optimize the use of dynamic memory in modern, multimedia and network applications.
14
References
•Book
Design Patterns: Elements of Reusable Object-Oriented Software
Erich Gamma,Richard Helm,Ralph E. Johnson,John Vlissides +3 more
- 01 Jan 1994
TL;DR: The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns, which most experienced OOP designers will find out they've known about patterns all along.
24.8K
The Art in Computer Programming
Andrew Hunt,Dave Thomas +1 more
- 01 Jan 2001
TL;DR: Here the authors haven’t even started the project yet, and already they’re forced to answer many questions: what will this thing be named, what directory will it be in, what type of module is it, how should it be compiled, and so on.
R-trees: a dynamic index structure for spatial searching
Antonin Guttman
- 01 Jun 1984
TL;DR: A dynamic index structure called an R-tree is described which meets this need, and algorithms for searching and updating it are given and it is concluded that it is useful for current database systems in spatial applications.
8K
•Book
Distributed Systems: Concepts and Design
George Coulouris,Jean Dollimore +1 more
- 01 Jan 1988
TL;DR: The fifth edition of this best-selling text continues to provide a comprehensive source of material on the principles and practice of distributed computer systems and the exciting new developments based on them, using a wealth of modern case studies to illustrate their design and development.