DocumentCode
2075246
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
fYear
2010
fDate
15-18 Feb. 2010
Firstpage
931
Lastpage
936
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;
fLanguage
English
Publisher
ieee
Conference_Titel
Complex, Intelligent and Software Intensive Systems (CISIS), 2010 International Conference on
Conference_Location
Krakow
Print_ISBN
978-1-4244-5917-9
Type
conf
DOI
10.1109/CISIS.2010.34
Filename
5447394
Link To Document