Dynamic object sampling for pretenuring
Proceedings of the 4th international symposium on Memory management
Towards intelligent analysis techniques for object pretenuring
Proceedings of the 5th international symposium on Principles and practice of programming in Java
Proceedings of the 6th international symposium on Memory management
Garbage collection: Java application servers' Achilles heel
Science of Computer Programming
Efficient runtime tracking of allocation sites in Java
Proceedings of the 6th ACM SIGPLAN/SIGOPS international conference on Virtual execution environments
Headroom-based pretenuring: dynamically pretenuring objects that live "long enough"
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Garbage collection in the presence of remote objects: an empirical study
OTM'05 Proceedings of the 2005 OTM Confederated international conference on On the Move to Meaningful Internet Systems: CoopIS, COA, and ODBASE - Volume Part II
Hi-index | 0.00 |
Previous research efforts have shown that pretenuring can potentially reduce the copying cost by creating long lived objects into the mature memory regions directly. To date, researchers often employ profiling and static analysis to accurately select the objects that should be pretenured. However, little research efforts have been spent on dynamic approaches for pretenuring objects. In this paper, we propose a novel approach that dynamically predicts object lifespan to assist with pretenuring selection. The proposed scheme performs dynamic pretenuring selection based on a feedback mechanism that records lifespan of objects from each class during garbage collection invocations. This information is then used to pretenure objects in subsequent allocation requests. We experiment with two approaches, jumpstart feedback and continuous feedback, to collect tenuring information. The experimental results of selected benchmark programs show that our schemes can improve the garbage collection time of IBM's Jikes RVM by up to 37%, and improve the overall execution time by up to 28%.