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

24 Citations (Scopus)

Abstract

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 publicationInternational Symposium on Memory Management, ISMM
Pages174-183
Number of pages10
Volume2006
DOIs
StatePublished - 2006
Externally publishedYes
EventISMM 2006 - 2006 International Symposium on Memory Management - Ottawa, ON, Canada
Duration: Jun 10 2006Jun 11 2006

Other

OtherISMM 2006 - 2006 International Symposium on Memory Management
CountryCanada
CityOttawa, ON
Period6/10/066/11/06

Fingerprint

Data storage equipment
Level control
Phase boundaries
Experiments

Keywords

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

ASJC Scopus subject areas

  • Engineering(all)

Cite this

Zhang, C., Kelsey, K., Shen, X., Ding, C., Hertz, M., & Ogihara, M. (2006). Program-level adaptive memory management. In International Symposium on Memory Management, ISMM (Vol. 2006, pp. 174-183) https://doi.org/10.1145/1133956.1133979

Program-level adaptive memory management. / Zhang, Chengliang; Kelsey, Kirk; Shen, Xipeng; Ding, Chen; Hertz, Matthew; Ogihara, Mitsunori.

International Symposium on Memory Management, ISMM. Vol. 2006 2006. p. 174-183.

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

Zhang, C, Kelsey, K, Shen, X, Ding, C, Hertz, M & Ogihara, M 2006, Program-level adaptive memory management. in International Symposium on Memory Management, ISMM. vol. 2006, pp. 174-183, ISMM 2006 - 2006 International Symposium on Memory Management, Ottawa, ON, Canada, 6/10/06. https://doi.org/10.1145/1133956.1133979
Zhang C, Kelsey K, Shen X, Ding C, Hertz M, Ogihara M. Program-level adaptive memory management. In International Symposium on Memory Management, ISMM. Vol. 2006. 2006. p. 174-183 https://doi.org/10.1145/1133956.1133979
Zhang, Chengliang ; Kelsey, Kirk ; Shen, Xipeng ; Ding, Chen ; Hertz, Matthew ; Ogihara, Mitsunori. / Program-level adaptive memory management. International Symposium on Memory Management, ISMM. Vol. 2006 2006. pp. 174-183
@inproceedings{2d32d73cc60b4ef4bd0f1e7a41311ca6,
title = "Program-level adaptive memory management",
abstract = "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.",
keywords = "Adaptive, Garbage collection, Heap sizing, Paging, Program-level",
author = "Chengliang Zhang and Kirk Kelsey and Xipeng Shen and Chen Ding and Matthew Hertz and Mitsunori Ogihara",
year = "2006",
doi = "10.1145/1133956.1133979",
language = "English (US)",
isbn = "1595932216",
volume = "2006",
pages = "174--183",
booktitle = "International Symposium on Memory Management, ISMM",

}

TY - GEN

T1 - Program-level adaptive memory management

AU - Zhang, Chengliang

AU - Kelsey, Kirk

AU - Shen, Xipeng

AU - Ding, Chen

AU - Hertz, Matthew

AU - Ogihara, Mitsunori

PY - 2006

Y1 - 2006

N2 - 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.

AB - 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.

KW - Adaptive

KW - Garbage collection

KW - Heap sizing

KW - Paging

KW - Program-level

UR - http://www.scopus.com/inward/record.url?scp=34247236707&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=34247236707&partnerID=8YFLogxK

U2 - 10.1145/1133956.1133979

DO - 10.1145/1133956.1133979

M3 - Conference contribution

AN - SCOPUS:34247236707

SN - 1595932216

SN - 9781595932211

VL - 2006

SP - 174

EP - 183

BT - International Symposium on Memory Management, ISMM

ER -