• 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