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 - https://www.scopus.com/pages/publications/34247236707
U2 - 10.1145/1133956.1133979
DO - 10.1145/1133956.1133979
M3 - Conference contribution
AN - SCOPUS:34247236707
SN - 1595932216
SN - 9781595932211
T3 - International Symposium on Memory Management, ISMM
SP - 174
EP - 183
BT - ISMM 2006 - Proceedings of the 2006 InternationalSymposium on Memory Management
T2 - ISMM 2006 - 2006 International Symposium on Memory Management
Y2 - 10 June 2006 through 11 June 2006
ER -