Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Dynamic memory management for embedded systems
Alonso D., Mamagkakis S., Poucet C., Peón-Quirós M., Bartzas A., Catthoor F., Soudris D., Springer Publishing Company, Incorporated, New York, NY, 2014. 243 pp. Type: Book (978-3-319105-71-0)
Date Reviewed: May 11 2015

Embedded systems are becoming a very important part of our lives, as they are everywhere, in technologies such as mobile phones, transportation systems, and medical devices. The energy optimization of those systems plays a crucial role due to their higher energy requirements. The dynamic memory access behavior of programs running on embedded systems requires dynamic data type (DDT) design, and the optimization of these programs needs to perform dynamic memory management (DMM) solutions to tackle this behavior. This book presents a DMM optimization approach based on dynamic memory exploration of multimedia and network applications. It explains fundamental memory problems requiring optimization and also provides the details of the proposed optimization framework. Therefore, the book is helpful both as a reference book for those who want to learn general memory optimization concepts and as a guide for those who want to apply a similar optimization technique on their systems.

Chapter 1 introduces main concepts including embedded systems and memory-related metrics, and provides an overview of the proposed memory optimization approach for the dynamic nature of embedded systems. The chapter starts with basic definitions to give a broad idea about the dynamic memory management in embedded systems by explaining DDT design and DMM implementation concepts. The summary at the end of the chapter is helpful to understanding the main approach with clear problem statements that include the problem, the solution, and the result of each problem.

Chapter 2 presents dynamic memory characteristics of multimedia embedded applications and possible optimization strategies to handle dynamic data. The chapter both introduces standard DDT implementations and explains the proposed dynamic data flow methodology by introducing the main components of the solution.

Chapter 3 explains profiling and analysis techniques of the proposed optimization method by providing metadata structures, which represent the characteristics of the dynamic data behavior of applications, and metadata mining techniques. Both metadata structures and mining techniques are given at the software code level with intensive explanation, and it is possible to implement a similar methodology for system developers who want to adapt the proposed technique for their target system. Additionally, a case study implementing the proposed approach is very helpful with a step-by-step description of the dynamic data handling implementation. The detailed results of the optimization on memory metrics also provide insight on the advantage of the approach.

Chapter 4 presents dynamic data type optimization techniques for multimedia applications. It explains optimization and implementation alternatives by illustrating the application of methods for example cases. The chapter also provides evolutionary computation-based heuristics to explore through different DDT implementations. The details of those techniques are also very clear and easily adaptable for other systems.

Chapter 5 introduces memory access and footprint reduction techniques to deal with energy consumption of applications. The chapter first presents examples from internal data structures in a program, and then it explains variable removal solutions to reduce memory footprint. The proposed methodology is described by providing step-by-step implementation details with code samples.

Chapter 6 presents design choices for dynamic memory management optimization techniques. Case studies, where the proposed methodology is applied, and detailed experimental results are given to present the reduction of the memory footprint.

Chapter 7 introduces an efficient methodology for placement of dynamic data into physical memory resources in the target system. The chapter defines steps for the placement strategy and presents detailed algorithms for each step. It also provides case studies and comparison results with existing approaches.

Even though I am not an embedded systems expert, nor a memory system optimization expert, I read the book easily and understood the concepts. Not only are all concepts explained from scratch for inexperienced readers, but also implementation details are provided for more experienced readers who want to apply the techniques in their systems.

Reviewer:  Isil Oz Review #: CR143429 (1508-0660)
Bookmark and Share
 
Memory Management (Garbage Collection) (D.3.4 ... )
 
 
Real-Time And Embedded Systems (C.3 ... )
 
 
Performance of Systems (C.4 )
 
 
Special-Purpose And Application-Based Systems (C.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Memory Management (Garbage Collection)": Date
Hardware support for real-time embedded multiprocessor system-on-a-chip memory management
Shalan M., Vincent J I.  Hardware/software codesign (Proceedings of the tenth international symposium, Estes Park, Colorado, May 6-8, 2002)79-84, 2002. Type: Proceedings
Jan 30 2004
Memory as a programming concept in C and C++
Franek F., Cambridge University Press, New York, NY, 2003.  250, Type: Book (9780521520430)
Apr 30 2004
Interprocedural pointer alias analysis
Hind M., Burke M., Carini P., Choi J. ACM Transactions on Programming Languages and Systems 21(4): 848-894, 1999. Type: Article
Mar 1 2000
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy