Tenuring policies for generation-based storage reclamation
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
Simple generational garbage collection and fast allocation
Software—Practice & Experience
The treadmill: real-time garbage collection without motion sickness
ACM SIGPLAN Notices
Using lifetime predictors to improve memory allocation performance
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
Generational stack collection and profile-driven pretenuring
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 2nd international symposium on Memory management
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Error-free garbage collection traces: how to cheat and not get caught
SIGMETRICS '02 Proceedings of the 2002 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Beltway: getting around garbage collection gridlock
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Connectivity-based garbage collection
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Oil and Water? High Performance Garbage Collection in Java with MMTk
Proceedings of the 26th International Conference on Software Engineering
IBM Systems Journal
Finding your cronies: static analysis for dynamic object colocation
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Dynamic object sampling for pretenuring
Proceedings of the 4th international symposium on Memory management
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Dynamic pretenuring schemes for generational garbage collection
ISPASS '04 Proceedings of the 2004 IEEE International Symposium on Performance Analysis of Systems and Software
The DaCapo benchmarks: java benchmarking development and analysis
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Towards intelligent analysis techniques for object pretenuring
Proceedings of the 5th international symposium on Principles and practice of programming in Java
A study of Java object demographics
Proceedings of the 7th international symposium on Memory management
Scalability limitations when running a Java web server on a chip multiprocessor
Proceedings of the 3rd Annual Haifa Experimental Systems Conference
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
Fundamental Nano-Patterns to Characterize and Classify Java Methods
Electronic Notes in Theoretical Computer Science (ENTCS)
Resurrector: a tunable object lifetime profiling technique for optimizing real-world programs
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
Pretenuring long-lived and immortal objects into infrequently or never collected regions reduces garbage collection costs significantly. However, extant approaches either require computationally expensive, application-specific, off-line profiling, or consider only allocation sites common to all programs, i.e. invoked by the virtual machine rather than application programs. In contrast, we show how a simple program analysis, combined with an object lifetime knowledge bank, can be exploited to match both runtime system and application program structure with object lifetimes. The complexity of the analysis is linear in the size of the program, so need not be run ahead of time. We obtain performance gains between 6-77% in GC timeallagainst a generational copying collector for several SPEC jvm98 programs.