Garbage collection in an uncooperative environment
Software—Practice & Experience
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
Comparing mark-and sweep and stop-and-copy garbage collection
LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
An advisor for flexible working sets
SIGMETRICS '90 Proceedings of the 1990 ACM SIGMETRICS conference on Measurement and modeling of computer systems
Effective “static-graph” reorganization to improve locality in garbage-collected systems
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
An adaptive tenuring policy for generation scavengers
ACM Transactions on Programming Languages and Systems (TOPLAS)
Caching considerations for generational garbage collection
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
Improving the cache locality of memory allocation
PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
The measured cost of conservative garbage collection
Software—Practice & Experience
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Using generational garbage collection to implement cache-conscious data placement
Proceedings of the 1st international symposium on Memory management
Comparing mostly-copying and mark-sweep conservative collection
Proceedings of the 1st international symposium on Memory management
A generational on-the-fly garbage collector for Java
PLDI '00 Proceedings of the ACM SIGPLAN 2000 conference on Programming language design and implementation
On effectiveness of GC in Java
Proceedings of the 2nd international symposium on Memory management
Reducing garbage collector cache misses
Proceedings of the 2nd international symposium on Memory management
The case for profile-directed selection of garbage collectors
Proceedings of the 2nd international symposium on Memory management
Proceedings of the 2001 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Java without the coffee breaks: a nonintrusive multiprocessor garbage collector
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
A parallel, incremental and concurrent GC for servers
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Dynamic Storage Allocation: A Survey and Critical Review
IWMM '95 Proceedings of the International Workshop on Memory Management
To Collect or Not to Collect? Machine Learning for Memory Management
Proceedings of the 2nd Java Virtual Machine Research and Technology Symposium
Garbage collection in a large LISP system
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Bounding Worst Case Garbage Collection Time for Embedded Real-Time Systems
RTAS '00 Proceedings of the Sixth IEEE Real Time Technology and Applications Symposium (RTAS 2000)
Mostly concurrent garbage collection revisited
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
An on-the-fly mark and sweep garbage collector based on sliding views
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Java server performance: a case study of building efficient, scalable Jvms
IBM Systems Journal
Hot-swapping between a mark&sweep and a mark&compact garbage collector in a generational environment
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
A comparative evaluation of parallel garbage collector implementations
LCPC'01 Proceedings of the 14th international conference on Languages and compilers for parallel computing
A page fault equation for dynamic heap sizing
Proceedings of the first joint WOSP/SIPEW international conference on Performance engineering
The economics of garbage collection
Proceedings of the 2010 international symposium on Memory management
Web workload generation challenges - an empirical investigation
Software—Practice & Experience
Control theory for principled heap sizing
Proceedings of the 2013 international symposium on memory management
An equation-based Heap Sizing Rule
Performance Evaluation
Proceedings of the 5th ACM/SPEC international conference on Performance engineering
Hi-index | 0.00 |
In systems that support garbage collection, a tension exists between collecting garbage too frequently and not collecting it frequently enough. Garbage collection that occurs too frequently may introduce unnecessary overheads at the risk of not collecting much garbage during each cycle. On the other hand, collecting garbage too infrequently can result in applications that execute with a large amount of virtual memory (i.e., with a large footprint) and suffer from increased execution times due to paging.In this article, we use a large set of Java applications and the highly tuned and widely used Boehm-Demers-Weiser (BDW) conservative mark-and-sweep garbage collector to experimentally examine the extent to which the frequency of garbage collection impacts an application's execution time, footprint, and pause times. We use these results to devise some guidelines for controlling garbage collection and heap growth in a conservative garbage collector in order to minimize application execution times. Then we describe new strategies for controlling garbage collection and heap growth that impact not only the frequency with which garbage collection occurs but also the points at which it occurs. Experimental results demonstrate that when compared with the existing approach used in the standard BDW collector, our new strategy can significantly reduce application execution times.Our goal is to obtain a better understanding of how to control garbage collection and heap growth for an individual application executing in isolation. These results can be applied in a number of high-performance computing and server environments, in addition to some single-user environments. This work should also provide insights into how to make better decisions that impact garbage collection in multiprogrammed environments.