ABSTRACT
Concurrent and incremental collectors require barriers to ensure correct synchronisation between mutator and collector. The overheads imposed by particular barriers on particular systems have been widely studied. Somewhat fewer studies have also compared barriers in terms of their termination properties or the volume of floating garbage they generate. Until now, the consequences for locality of different barrier choices has not been studied, although locality will be of increasing importance for emerging architectures. This paper provides a study of the locality of concurrent write barriers, independent of the processor architecture, virtual machine, compiler or garbage collection algorithm.
- S. Abraham and J. Patel. Parallel garbage collection on a virtual memory system. In Int. Conf. on Parallel Processing, 243--246, 1987. Pennsylvania State University Press.Google Scholar
- A. W. Appel, J. R. Ellis, and K. Li. Real-time concurrent collection on stock multiprocessors. ACM SIGPLAN Notices, 23 (7): 11--20, 1988. Google Scholar
Digital Library
- D. F. Bacon and A. Diwan, editors. Int. Symp. on Memory Management, 2004. ACM Press. Google Scholar
- H. G. Baker. List processing in real-time on a serial computer. Communications of the ACM, 21 (4): 280--94, 1978. Google Scholar
Digital Library
- S. M. Blackburn, R. Garner, K. S. McKinley, A. Diwan, S. Z. Guyer, A. L. Hosking, J. E. B. Moss, and D. Stefanović. The DaCapo benchmarks: Java benchmarking development and analysis. In Object-Oriented Programming, Systems, Languages, and Applications, 2006. Google Scholar
Digital Library
- S. M. Blackburn and A. L. Hosking. Barriers: Friend or foe? In ISMM04, 143--151. Google Scholar
Digital Library
- S. M. Blackburn and K. S. McKinley. In or out? putting write barriers in their place. In Int. Symp. on Memory Management, 175--184, 2003. Google Scholar
Digital Library
- S. M. Blackburn, R. E. Jones, K. S. McKinley, and J. E. B. Moss. Beltway: Getting around garbage collection gridlock. In Programming Language Design and Implementation, 153--164, 2002. Google Scholar
Digital Library
- S. M. Blackburn, P. Cheng, and K. S. McKinley. Oil and water? High performance garbage collection in Java with MMTk. In Int. Conf. on Software Engineering, 137--146, 2004. Google Scholar
Digital Library
- H.-J. Boehm. Reducing garbage collector cache misses. In Int. Symp. on Memory Management, 59--64, 2000. Google Scholar
Digital Library
- H.-J. Boehm, A. J. Demers, and S. Shenker. Mostly parallel garbage collection. ACM SIGPLAN Notices, 26 (6): 157--164, 1991. Google Scholar
Digital Library
- C. Chambers. The Design and Implementation of the SELF Compiler, an Optimizing Compiler for an Objected-Oriented Programming Language. PhD thesis, Stanford University, 1992. Google Scholar
Digital Library
- W.-K. Chen, S. Bhansali, T. M. Chilimbi, X. Gao, and W. Chuang. Profile-guided proactive garbage collection for locality optimization. In PLDI06, 332--340. Google Scholar
Digital Library
- C.-Y. Cher, A. L. Hosking, and T. N. Vijaykumar. Software prefetching for mark-sweep garbage collection: Hardware analysis and software redesign. In Architectural Support for Programming Languages and Operating Systems, 199--210, 2004. Google Scholar
Digital Library
- T. M. Chilimbi, M. D. Hill, and J. R. Larus. Cache-conscious structure layout. In Programming Language Design and Implementation, 1--12, 1999. Google Scholar
Digital Library
- D. Detlefs, W. D. Clinger, M. Jacob, and R. Knippel. Concurrent remembered set refinement in generational garbage collection. In Java Virtual Machine Research and Technology Symposium, 2002. Google Scholar
Digital Library
- E. W. Dijkstra, L. Lamport, A. J. Martin, C. S. Scholten, and E. F. M. Steffens. On-the-fly garbage collection: An exercise in cooperation. Communications of the ACM, 21 (11): 965--975, 1978. Google Scholar
Digital Library
- R. Garner, S. M. Blackburn, and D. Frampton. Effective prefetch for mark-sweep garbage collection. In Int. Symp. on Memory Management, 43--54, 2007. Google Scholar
Digital Library
- U. Hölzle. A fast write barrier for generational garbage collectors. In OOPSLA Workshop on Garbage Collection in Object-Oriented Systems, 1993. URL ftp://self.stanford.edu/pub/papers/write-barrier.ps.Z.Google Scholar
- A. L. Hosking, J. E. B. Moss, and D. Stefanović. A comparative performance evaluation of write barrier implementations. In Object-Oriented Programming, Systems, Languages, and Applications, 92--109, 1992. Google Scholar
Digital Library
- A. L. Hosking and J. E. B. Moss. Protection traps and alternatives for memory management of an object-oriented language. In Symp. on Operating Systems Principles, 106--119, 1993. Google Scholar
Digital Library
- R. E. Jones, and R. Lins Garbage Collection. Wiley, 1996.Google Scholar
- H. T. Kung and S. W. Song. An efficient parallel garbage collection system and its correctness proof. In Symp. on Foundations of Computer Science, 120--131. IEEE Press, 1977. Google Scholar
Digital Library
- M. S. Lam, P. R. Wilson, and T. G. Moher. Object type directed garbage collection to improve locality. In Int. Workshop on Memory Management, Lecture Notes in Computer Science 637, 1992. Springer. Google Scholar
Digital Library
- D. A. Moon. Garbage collection in a large LISP system. In Lisp and Functional Programming, 235--245, 1984. Google Scholar
Digital Library
- G. Novark, T. Strohman, and E. D. Berger. Custom object layout for garbage-collected languages. Tech. Report, University of Massachusetts at Amherst, 2006.Google Scholar
- P. P. Pirinen. Barrier techniques for incremental tracing. In Int. Symp. on Memory Management, 20--25, 1999. Google Scholar
Digital Library
- F. Pizlo, E. Petrank, and B. Steensgaard. A study of concurrent real-time garbage collectors. In Programming Language Design and Implementation, 33--44, 2008. Google Scholar
Digital Library
- M. I. Schwartzbach and T. Ball, editors. Programming Language Design and Implementation, 2006. Google Scholar
- Y. Shuf, M. Gupta, R. Bordawekar, and J. P. Singh. Exploiting prolific types for memory management and optimizations. In Principles of Programming Languages, 2002. Google Scholar
Digital Library
- D. Siegwart and M. Hirzel. Improving locality with parallel hierarchical copying GC. In Int. Symp. on Memory Management, 52--63, 2006. Google Scholar
Digital Library
- P. Sobalvarro. A lifetime-based garbage collector for Lisp systems on general-purpose computers. Tech. Report AITR-1417, MIT AI Lab, 1988. Google Scholar
Digital Library
- G. L. Steele. Multiprocessing compactifying garbage collection. Communications of the ACM, 18 (9): 495--508, 1975. Google Scholar
Digital Library
- D. Stefanović, K. S. McKinley, and J. E. B. Moss. Age-based garbage collection. In Object-Oriented Programming, Systems, Languages, and Applications, 370--381, 1999. Google Scholar
Digital Library
- Sun Microsystems. Java SE 6 HotSpot virtual machine garbage collection tuning, 2009. URL http://java.sun.com/javase/technologies/hotspot/gc/gc_tuning_6.html.Google Scholar
- D. M. Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. ACM SIGPLAN Notices, 19 (5): 157--167, 1984. Google Scholar
Digital Library
- M. Vechev, D. F. Bacon, P. Cheng, and D. Grove. Derivation and evaluation of concurrent collectors. In European Conf. on Object-Oriented Programming, 2005. Springer-Verlag. Google Scholar
Digital Library
- M. T. Vechev, E. Yahav, and D. F. Bacon. Correctness-preserving derivation of concurrent garbage collection algorithms. In PLDI06, 341--353. Google Scholar
Digital Library
- P. R. Wilson. Uniprocessor garbage collection techniques. Tech. Report, University of Texas, 1994.Google Scholar
- P. R. Wilson and T. G. Moher. Design of the opportunistic garbage collector. In Object-Oriented Programming, Systems, Languages, and Applications, 23--35, 1989. Google Scholar
Digital Library
- P. R. Wilson, M. S. Lam, and T. G. Moher. Effective "static-graph" reorganization to improve locality in garbage-collected systems. In Programming Language Design and Implementation, 177--191, 1991. 10.1145/113445.113461. Google Scholar
Digital Library
- T. Yuasa. Real-time garbage collection on general-purpose machines. J. Systems and Software, 11 (3): 181--198, 1990. Google Scholar
Digital Library
- B. Zorn. Barrier methods for garbage collection. Tech. Report CU-CS-494-90, University of Colorado, Boulder, 1990.Google Scholar
Index Terms
The locality of concurrent write barriers
Recommendations
Barriers: friend or foe?
ISMM '04: Proceedings of the 4th international symposium on Memory managementModern garbage collectors rely on read and write barriers imposed on heap accesses by the mutator, to keep track of references between different regions of the garbage collected heap, and to synchronize actions of the mutator with those of the ...
The locality of concurrent write barriers
ISMM '10Concurrent and incremental collectors require barriers to ensure correct synchronisation between mutator and collector. The overheads imposed by particular barriers on particular systems have been widely studied. Somewhat fewer studies have also ...
Controlling garbage collection and heap growth to reduce the execution time of Java applications
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 ...







Comments