MMT: Exploiting fine-grained parallelism in dynamic memory management
MMT: Exploiting fine-grained parallelism in dynamic memory management
复制标题
MMT:在动态内存管理中利用细粒度并行性
DOI:
10.1109/ipdps.2010.5470428
复制
发表时间:
2010
期刊:
影响因子:
--
通讯作者:
Yan Solihin
中科院分区:
文献类型:
--
作者:
Devesh Tiwari;Sanghoon Lee;James Tuck;Yan Solihin
Dynamic memory management is one of the most expensive but ubiquitous operations in many operations in many C/C++ applications. Additional features such as security checks, while desirable, further worsen memory management overheads. With advent of multicore architecture, it is important to investigate how dynamic memory management overheads for sequential applications can be reduced. In this paper, we propose a new approach for accelerating dynamic memory management on multicore architecture, by offloading dynamic management functions to a separate thread that we refer to as memory management thread (MMT). We show that an efficient MMT design can give significant performance improvement by extracting parallelism while being agnostic to the underlying memory management library algorithms and data structures. We also show how parallelism provided by MMT can be beneficial for high overhead memory management tasks, for example, security checks related to memory management. We evaluate MMT on heap allocation-intensive benchmarks running on an Intel core 2 quad platform for two widely-used memory allocators: Doug Lea's and PHKmalloc allocators. On average, MMT achieves a speedup ratio of 1.19× for both allocators, while both the application and memory management libraries are unmodified and are oblivious to the parallelization scheme. For PHKmalloc with security checks turned on, MMT reduces the security check overheads from 21% to only 1% on average.