Application-Specific Multi-Threaded Dynamic Memory Management

This chapter presents the methodology and the corresponding software framework developed to systematically explore the design space of Multi-Threaded Dynamic Memory Management (MTh-DMM). We developed two exploration approaches: (a) a two-phase constraint-orthogonal and (b) a single-phase aggressive exploration methodologies. Pareto optimal configurations are generated considering various design targets. Experimental results evaluate the solution quality delivered by the proposed exploration approaches and by state-of-the art general purpose dynamic memory management solutions, based on a real-life multi-threaded network application.

[1]  Kiamal Z. Pekmestzi,et al.  Custom multi-threaded Dynamic Memory Management for Multiprocessor System-on-Chip platforms , 2010, 2010 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation.

[2]  Robert D. Blumofe,et al.  Scheduling multithreaded computations by work stealing , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[3]  Francky Catthoor,et al.  Enabling run-time memory data transfer optimizations at the system level with automated extraction of embedded software metadata information , 2008, 2008 Asia and South Pacific Design Automation Conference.

[4]  Luca Benini,et al.  Efficient system-level prototyping of power-aware dynamic memory managers for embedded systems , 2006, Integr..

[5]  Carla Schlatter Ellis,et al.  Algorithms for parallel memory allocation , 1989, International Journal of Parallel Programming.

[6]  Dirk Grunwald,et al.  Customalloc: Efficient synthesized memory allocators , 1993, Softw. Pract. Exp..

[7]  Vilfredo Pareto,et al.  Manuale di economia politica , 1965 .

[8]  Paul E. McKenney,et al.  Efficient Kernel Memory Allocation on Shared-Memory Multiprocessors , 1993, USENIX Winter.

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

[10]  Arun Iyengar,et al.  Parallel dynamic storage allocation algorithms , 1993, Proceedings of 1993 5th IEEE Symposium on Parallel and Distributed Processing.

[11]  R. R. Oldehoeft,et al.  Parallel Dynamic Storage Allocation , 1985, ICPP.

[12]  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.

[13]  Wen-Jing Hsu,et al.  A Scalable and Efficient Storage Allocator on Shared-Memory Multiprocessors , 2001, Parallel Process. Lett..

[14]  Félix García,et al.  POSIX thread libraries , 2000 .

[15]  Luca Benini,et al.  Increasing Energy Efficiency of Embedded Systems by Application-Specific Memory Hierarchy Generation , 2000, IEEE Des. Test Comput..

[16]  Rajasekhar Velamuri,et al.  A 65nm C64x+ Multi-Core DSP Platform for Communications Infrastructure , 2007, 2007 IEEE International Solid-State Circuits Conference. Digest of Technical Papers.

[17]  William R. Cook,et al.  Mixin-based inheritance , 1990, OOPSLA/ECOOP '90.

[18]  Kathryn S. McKinley,et al.  Hoard: a scalable memory allocator for multithreaded applications , 2000, SIGP.

[19]  Francky Catthoor,et al.  Fast System-Level Prototyping of Power-Aware Dynamic Memory Managers for Embedded Systems , 2003 .

[20]  Per-Åke Larson,et al.  Memory allocation for long-running server applications , 1998, ISMM '98.

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

[22]  M. Muthu Rama Krishnan Heap: pleasures and pains , 1999 .

[23]  Francky Catthoor,et al.  Systematic dynamic memory management design methodology for reduced memory footprint , 2006, TODE.

[24]  Theodore Johnson A Concurrent Fast-fits Memory Manager University of Florida, Dept. of Cis Electronic Tr91-009 , 1991 .

[25]  John Goodacre,et al.  ARM MPCore; The streamlined and scalable ARM11 processor core , 2007, 2007 Asia and South Pacific Design Automation Conference.