DOI QR코드

DOI QR Code

Improving Memory Efficiency of Dynamic Memory Allocators for Real-Time Embedded Systems

  • Lee, Jung-Hee (Department of Electrical and Computer Engineering, Georgia Institute of Technology) ;
  • Yi, Joon-Hwan (Department of Computer Engineering, Kwangwoon University)
  • Received : 2010.05.11
  • Accepted : 2010.07.19
  • Published : 2011.04.30

Abstract

Dynamic memory allocators for real-time embedded systems need to fulfill three fundamental requirements: bounded worst-case execution time, fast average execution time, and minimal fragmentation. Since embedded systems generally run continuously during their whole lifetime, fragmentation is one of the most important factors in designing the memory allocator. This paper focuses on minimizing fragmentation while other requirements are still satisfied. To minimize fragmentation, a part of a memory region is segregated by the proposed budgeting method that exploits the memory profile of the given application. The budgeting method can be applied for any existing memory allocators. Experimental results show that the memory efficiency of allocators can be improved by up to 18.85% by using the budgeting method. Its worst-case execution time is analyzed to be bounded.

Keywords

References

  1. A. Marchand et al., "Memory Resource Management for Realtime Systems," Proc. Euromicro Conf. Real-Time Systems, Pisa, Italy, July 2007, pp. 201-210.
  2. M. Ramakrishna et al., "Smart Dynamic Memory Allocator for Embedded Systems," Proc. Int. Symp. Computer Inf. Sci., 2008, pp. 1-6.
  3. M. Masmano et al., "TLSF: A New Dynamic Memory Allocator for Real-Time Systems," Proc. Euromicro Conf. Real-Time Syst., Catania, Italy, June 2004, pp. 79-88.
  4. P. Wilson et al., "Dynamic Storage Allocation: A Survey and Critical Review," Technical Report, Department of Computer Science, Univ. of Texas, Austin, 1995.
  5. D. Lea, A Memory Allocator. Available: http://g.oswego.edu/dl/html/malloc.html
  6. Delorie software. Available: http://www.delorie.com/djgpp/malloc
  7. T. Ogasawara, "An Algorithm with Constant Execution Time for Dynamic Storage Allocation," Proc. 2nd Int. Workshop Real-Time Computing Syst. Appl., 1995, pp. 21-25.
  8. Y. Hasan and J. Chang, "A Hybrid Allocator," Proc. IEEE Int. Symp. Performance Anal. Syst. Software, Austin, USA, Mar. 2003, pp. 214-222.
  9. E. Berger, B. Zorn, and K. McKinley, "Reconsidering Custom Memory Allocation," Proc. ACM Conf. Object-Oriented Programming, Syst., Languages, Appl., Seattle, USA, Nov. 2002, pp. 1-12.
  10. H. Zhe, Z. Jun, and L. Xiling, "Design and Realization of Efficient Memory Management for Embedded Real-Time Application," Proc. Int. Conference ITS Telecommun., Chengdu, China, June 2006, pp. 174-177.
  11. M. Seidl and B. Zorn, "Segregating Heap Objects by Reference Behavior and Lifetime," Proc. Int. Conf. Architectural Support for Programming Languages Operating Syst., San Jose, USA, Oct. 1998, pp. 12-23.
  12. M. Tofte and J. Talpin, "Region-Based Memory Management," Inf. Computation, vol. 132, no. 2, Feb. 1997, pp. 109-176. https://doi.org/10.1006/inco.1996.2613
  13. J. Bonwick, "The Slab Allocator: An Object-Caching Kernel Memory Allocator," Proc. USENIX Technical Conf., Boston, USA, June 1994, pp. 87-98.
  14. A. Eswaran and R. Rajkumar, "Energy-Aware Memory Firewalling for QoS-Sensitive Applications," Proc. Euromicro Conf. Real-Time Syst., 2005, pp. 11-20.
  15. D. Atienze et al., "Dynamic Memory Management Design Methodology for Reduced Memory Footprint in Multimedia and Wireless Network Applications," Proc. Design, Automation and Test in Europe, Acropolis, France, Apr. 2004, pp. 532-537.
  16. Carbon Design Systems, SoC Designer. Available: http://carbondesignsystems. com/Products/SoCDesigner.aspx
  17. ARM Ltd., RealView Compilation Tools (RVCT) 2.2. Available: http://www. arm.com
  18. B. Zorn and D. Grunwald, "Evaluating Models of Memory Allocation," ACM Trans. Modeling Computer Simulation, vol. 4, no. 1, Jan. 1994, pp. 107-131. https://doi.org/10.1145/174619.174624