Program-level adaptive memory management

Chengliang Zhang, Kirk Kelsey, Xipeng Shen, Chen Ding, Matthew Hertz, Mitsunori Ogihara

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

28 Scopus citations


Most application's performance is impacted by the amount of available memory. In a traditional application, which has a fixed working set size, increasing memory has a beneficial effect up until the application's working set is met. In the presence of garbage collection this relationship becomes more complex. While increasing the size of the program's heap reduces the frequency of collections, collecting a heap with memory paged to the backing store is very expensive. We first demonstrate the presence of an optimal heap size for a number of applications running on a machine with a specific configuration. We then introduce a scheme which adaptively finds this good heap size. In this scheme, we track the memory usage and number of page faults at a program's phase boundaries. Using this information, the system selects the soft heap size. By adapting itself dynamically, our scheme is independent of the underlying main memory size, code optimizations, and garbage collection algorithm. We present several experiments on real applications to show the effectiveness of our approach. Our results show that program-level heap control provides up to a factor of 7.8 overall speedup versus using the best possible fixed heap size controlled by the virtual machine on identical garbage collectors.

Original languageEnglish (US)
Title of host publicationISMM 2006 - Proceedings of the 2006 InternationalSymposium on Memory Management
Number of pages10
StatePublished - 2006
Externally publishedYes
EventISMM 2006 - 2006 International Symposium on Memory Management - Ottawa, ON, Canada
Duration: Jun 10 2006Jun 11 2006

Publication series

NameInternational Symposium on Memory Management, ISMM


OtherISMM 2006 - 2006 International Symposium on Memory Management
CityOttawa, ON


  • Adaptive
  • Garbage collection
  • Heap sizing
  • Paging
  • Program-level

ASJC Scopus subject areas

  • Engineering(all)


Dive into the research topics of 'Program-level adaptive memory management'. Together they form a unique fingerprint.

Cite this