Sciweavers

CGO
2010
IEEE

On improving heap memory layout by dynamic pool allocation

13 years 10 months ago
On improving heap memory layout by dynamic pool allocation
Dynamic memory allocation is widely used in modern programs. General-purpose heap allocators often focus more on reducing their run-time overhead and memory space utilization, but less on exploiting the characteristics of their allocated heap objects. This paper presents a lightweight dynamic optimizer, named Dynamic Pool Allocation (DPA), which aims to exploit the affinity of the allocated heap objects and improve their layout at run-time. DPA uses an adaptive partial call chain with heuristics to aggregate affinitive heap objects into dedicated memory regions, called memory pools. We examine the factors that could affect the effectiveness of such layout. We have implemented DPA and measured its performance on several SPEC CPU 2000 and 2006 benchmarks that use extensive heap objects. Evaluations show that it could achieve an average speed up of 12.1% and 10.8% on two x86 commodity machines respectively using GCC -O3, and up to 82.2% for some benchmarks. Categories and Subject Descrip...
Zhenjiang Wang, Chenggang Wu, Pen-Chung Yew
Added 10 Feb 2011
Updated 10 Feb 2011
Type Journal
Year 2010
Where CGO
Authors Zhenjiang Wang, Chenggang Wu, Pen-Chung Yew
Comments (0)