ABSTRACT
New portable consumer embedded devices must execute multimedia applications (e.g., 3D games, video players and signal processing software, etc.) that demand extensive memory accesses and memory usage at a low energy consumption. Moreover, they must heavily rely on Dynamic Memory (DM) due to the unpredictability of the input data and system behavior. Within this context, consistent design methodologies that can tackle efficiently the complex DM behavior of these multimedia applications are in great need. In this article, we present a novel design framework, based on genetic programming, which allows us to design custom DM management mechanisms, optimizing memory accesses, memory use and energy consumption for the target embedded system. First, we describe the large design space of DM management decisions for multimedia embedded applications. Then, we propose a suitable way to traverse this design space using grammatical evolution and construct custom DM managers that minimize the DM used by these highly dynamic applications. As a result, our methodology achieves significant improvements in memory accesses (23% less on average), memory usage (38% less on average) and energy consumption (reductions of 21% on average) in real case studies over the current state-of-the-art DM managers used for these types of dynamic applications. To the best of our knowledge, this is the first approach to efficiently design DM managers for embedded systems using evolutionary computation and grammar evolution.
- Real-Time Operating System for Multiprocessor Systems (RTEMS). http://www.rtems.com, 2008.Google Scholar
- VDrift racing simulator. http://vdrift.net, 2008.Google Scholar
- D. Atienza, S. Mamagkakis, F. Catthoor, J.M. Mendias, and D. Soudris. Dynamic memory management design methodology for reduced memory footprint in multimedia and wireless network applications. In DATE '04: Proceedings of the conference on Design, automation and test in Europe, page 10532, Washington, DC, USA, 2004. IEEE Computer Society. Google ScholarDigital Library
- D. Atienza, S. Mamagkakis, F. Poletti, J.M. Mendias, F. Catthoor, L. Benini, and D. Soudris. Effcient system-level prototyping of power-aware dynamic memory managers for embedded systems. Integr. VLSI J., 39(2):113--130, 2006. Google ScholarDigital Library
- D. Atienza, J.M. Mendias, S. Mamagkakis, D. Soudris, and F. Catthoor. Systematic dynamic memory management design methodology for reduced memory footprint. ACM Trans. Des. Autom. Electron. Syst., 11(2):465--489, 2006. Google ScholarDigital Library
- E.D. Berger, B.G. Zorn, and K.S. McKinley. Composing high-performance memory allocators. SIGPLAN Not., 36(5):114--124, 2001. Google ScholarDigital Library
- A. Brabazon, M. O'Neill, and I. Dempsey. An introduction to evolutionary computation in finance. Computational Intelligence Magazine, IEEE, 3(4):42--55, Nov. 2008. Google ScholarDigital Library
- I. Dempsey, M. O'Neill, and A. Brabazon. Constant creation in grammatical evolution. Int. J. Innov. Comput. Appl., 1(1):23--38, 2007. Google ScholarDigital Library
- J.I. Hidalgo, J.L. Risco-Martín, D. Atienza, and J. Lanchares. Analysis of multi-objective evolutionary algorithms to optimize dynamic data types in embedded systems. In GECCO '08: Proceedings of the 10th annual conference on Genetic and evolutionary computation, pages 1515--1522, New York, NY, USA, 2008. ACM. Google ScholarDigital Library
- L. Kharevych and R. Khan. 3D physics engine for elastic and deformable bodies. University of Maryland, College Park, 2002.Google Scholar
- J. Kozubik. FreeBSD and solid state devices. Available at: http://www.freebsd.org/doc/en/articles/solid-state/index.html, 2001.Google Scholar
- S. Mamagkakis, D. Atienza, C. Poucet, F. Catthoor, and D. Soudris. Energy-efficient dynamic memory allocators at the middleware level of embedded systems. In EMSOFT '06: Proceedings of the 6th ACM&IEEE International conference on Embedded software, pages 215--222, New York, NY, USA, 2006. ACM. Google ScholarDigital Library
- M. Mamidipaka and N. Dutt. eCACTI: An enhanced power estimation model for on-chip caches. Technical Report TR-04-28, CECS, UC Irvine, 2004.Google Scholar
- M. O'Neill, E. Hemberg, C. Gilligan, E. Bartley, J. McDermott, and A. Brabazon. Geva -- grammatical evolution in java. Technical report, Natural Computing Research&Applications Group -- UCD Complex&Adaptive Systems Laboratory, University College Dublin, Ireland, 2008.Google Scholar
- M. O'Neill and C. Ryan. Grammatical Evolution: Evolutionary Automatic Programming in an Arbitrary Language. Kluwer Academic Publishers, 2003. Google ScholarDigital Library
- R. Poli, W.B. Langdon, and N.F. McPhee. A field guide to genetic programming. Published via http://lulu.com and freely available at http://www.gp-field-guide.org.uk., 2008. Google ScholarDigital Library
- J.L. Risco-Martín, D. Atienza, J.I. Hidalgo, and J. Lanchares. A parallel evolutionary algorithm to optimize dynamic data types in embedded systems. Soft Comput., 12(12):1157--1167, 2008. Google ScholarDigital Library
- M. Sipser. Introduction to the Theory of Computation. Course Technology, 2005. Google ScholarDigital Library
- B. Stroustrup. The C++ Programming Language. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2000. Google ScholarDigital Library
- N. Vijaykrishnan, M. Kandemir, M.J. Irwin, H.S. Kim, W. Ye, and D. Duarte. Evaluating integrated hardware-software optimizations using a unified energy estimation framework. IEEE Trans. Comput., 52(1):59--76, 2003. Google ScholarDigital Library
- P.R. Wilson, M.S. Johnstone, M. Neely, and D. Boles. Dynamic storage allocation: A survey and critical review. In IWMM '95: Proceedings of the International Workshop on Memory Management, pages 1--116, London, UK, 1995. Springer-Verlag. Google ScholarDigital Library
Index Terms
- Optimization of dynamic memory managers for embedded systems using grammatical evolution
Recommendations
Improving reliability of embedded systems through dynamic memory manager optimization using grammatical evolution
GECCO '10: Proceedings of the 12th annual conference on Genetic and evolutionary computationTechnology scaling has offered advantages to embedded systems, such as increased performance, more available memory and reduced energy consumption. However, scaling also brings a number of problems like reliability degradation mechanisms. The intensive ...
Simulation of high-performance memory allocators
For the last 30years, a large variety of memory allocators have been proposed. Since performance, memory usage and energy consumption of each memory allocator differs, software engineers often face difficult choices in selecting the most suitable ...
A parallel evolutionary algorithm to optimize dynamic memory managers in embedded systems
For the last 30 years, several dynamic memory managers (DMMs) have been proposed. Such DMMs include first fit, best fit, segregated fit and buddy systems. Since the performance, memory usage and energy consumption of each DMM differs, software engineers ...
Comments