On improving heap memory layout by dynamic pool allocation

Zhenjiang Wang, Chenggang Wu, Pen Chung Yew

Research output: Chapter in Book/Report/Conference proceedingConference contribution

9 Scopus citations

Abstract

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.

Original languageEnglish (US)
Title of host publicationProceedings of the 2010 CGO - The 8th International Symposium on Code Generation and Optimization
Pages92-100
Number of pages9
DOIs
StatePublished - Jul 1 2010
Event8th International Symposium on Code Generation and Optimization, CGO 2010 - Toronto, ON, Canada
Duration: Apr 24 2010Apr 28 2010

Publication series

NameProceedings of the 2010 CGO - The 8th International Symposium on Code Generation and Optimization

Other

Other8th International Symposium on Code Generation and Optimization, CGO 2010
CountryCanada
CityToronto, ON
Period4/24/104/28/10

Keywords

  • adaptive partial call chain
  • data layout
  • dynamic optimization
  • pool allocation

Fingerprint Dive into the research topics of 'On improving heap memory layout by dynamic pool allocation'. Together they form a unique fingerprint.

  • Cite this

    Wang, Z., Wu, C., & Yew, P. C. (2010). On improving heap memory layout by dynamic pool allocation. In Proceedings of the 2010 CGO - The 8th International Symposium on Code Generation and Optimization (pp. 92-100). (Proceedings of the 2010 CGO - The 8th International Symposium on Code Generation and Optimization). https://doi.org/10.1145/1772954.1772969