Title :
Threaded Dynamic Memory Management in Many-Core Processors
Author :
Herrmann, Edward C. ; Wilsey, Philip A.
Author_Institution :
Dept. of ECE, Exp. Comput. Lab., Cincinnati, OH, USA
Abstract :
Current trends in desktop processor design have been toward many-core solutions with increased parallelism. As the number of supported threads grows in these processors, it may prove difficult to exploit them on the commodity desktop. This paper presents a study that explores the spawning of the dynamic memory management activities into a separately executing thread that runs concurrently with the main program thread. Our approach works without requiring modifications to the original source program by redefining the dynamic link path to capture malloc and free calls in a threading dynamic memory management library. The routines of this library are setup so that the initial call to malloc triggers the creation of a thread for dynamic memory management; successive calls to malloc and free will trigger coordination with this thread for dynamic memory management activities. Our preliminary studies show that we can transparently redefine the dynamic memory management activities and we have successfully done so for numerous test programs including most of the SPEC CPU2006 benchmarks, Firefox, and other unix utilities. The results of our experiments show that it is possible to achieve 2-3% performance gains in the three most memory-intensive SPEC CPU2006 benchmarks without requiring recompilation of the benchmark source code. We were also able to achieve a 3-4% speedup when using our library with the gcc and llvm compilers.
Keywords :
Unix; logic design; microprocessor chips; multiprocessing systems; storage management chips; Firefox; SPEC CPU2006 benchmarks; desktop processor design; dynamic memory management; free calls; malloc; many core processors; threaded dynamic memory management; unix utilities; Benchmark testing; Competitive intelligence; Costs; Libraries; Memory management; Parallel processing; Performance gain; Process design; Software systems; Yarn; Many-core; SPEC benchmarks; dynamic memory; threads;
Conference_Titel :
Complex, Intelligent and Software Intensive Systems (CISIS), 2010 International Conference on
Conference_Location :
Krakow
Print_ISBN :
978-1-4244-5917-9
DOI :
10.1109/CISIS.2010.34