Abstract
We present a method to visit all nodes in a forest of data structures while taking into account object placement. We call the technique a Localized Tracing Scheme as it improves locality of reference during object tracing activity. The method organizes the heap into regions and uses trace queues to defer and group tracing of remote objects. The principle of localized tracing reduces memory traffic and can be used as an optimization to improve performance at several levels of the memory hierarchy. The method is applicable to a wide range of uniprocessor garbage collection algorithms as well as to shared memory multiprocessor collectors. Experiments with a mark-and-sweep collector show performance improvements up to 75% at the virtual memory level.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Watt, S.M.: Aldor. In: Grabmeier, J., Kaltofen, E., Weispfenning, V. (eds.) Handbook of Computer Algebra, pp. 265–270. Springer, Heidelberg (2003)
Aldor.org: Aldor user guide (2003), http://www.aldor.org/AldorUserGuide
Maplesoft: Maple User Manual, Maplesoft, a division of Waterloo Maple Inc. (2005)
Boehm, H.J., Weiser, M.: Garbage collection in an uncooperative environment. Software Practice and Experience 18, 807–820 (1988)
Lieberman, H., Hewitt, C.E.: A real-time garbage collector based on the lifetimes of objects. Comm. ACM 26(6), 419–429 (1983); Also report TM–184, Laboratory for Computer Science. MIT, Cambridge, MA (July 1980)
Boehm, H.J.: GCBench, http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_bench
Grunwald, D., Zorn, B.: Malloc benchmarks, ftp://ftp.cs.colorado.edu/pub/cs/misc/MallocStudy
Chicha, Y.: Practical Aspects of Interacting Garbage Collectors. Ph.D. Thesis, University of Western Ontario (2002)
Endo, T., Taura, K., Yonezawa, A.: A scalable mark-sweep garbage collector on large-scale shared-memory machines. In: Proc. High Performance Computing and Networking (SC 1997) (1997)
Burton, F.W., Sleep, M.R.: Executing functional programs on a virtual tree of processors. In: Proc. the 1981 Conference on Functional Programming Languages and Computer Architecture, pp. 187–194 (1981)
Boehm, H.J.: Mark-and-sweep vs. copying collection and asymptotic complexity, http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html
Zorn, B.: Comparing mark-and-sweep and stop-and-copy garbage collection. In: Proc. 1990 ACM Symposium on Lisp and Functional Programming (1990)
Hudson, R.L., Moss, J.E.B.: Incremental garbage collection for mature objects. In: IWMM 1992 Proceedings (1992)
Attardi, G., Flagella, T.: A customisable memory management framework. In: Proc. USENIX C++ Conference, Cambridge, MA (1994)
Boehm, H.J.: Reducing garbage collector cache misses. In: ISMM 2000 Proc. Second International Symposium on Memory Management (2000)
Demers, A., Weiser, M., Hayes, B., Bobrow, D.G., Shenker, S.: Combining generational and conservative garbage collection: Framework and implementations. In: Proc. ACM Symposium on Principles of Programming Languages, San Francisco, California, pp. 261–269. ACM Press, New York (1990)
Hertz, M., Feng, Y., Berger, E.D.: Garbage collection without paging. In: Proc. SIGPLAN 2005 Conference on Programming Languages Design and Implementation, Chicago, IL. ACM Press, New York (2005)
Taura, K., Yonezawa, A.: An effective garbage collection strategy for parallel programming languages on large scale distributed-memory machines. In: ACM Symposium on Principles and Practice of Parallel Programming, pp. 264–275 (1997)
Blackburn, S.M., Cheng, P., McKinley, K.S.: Oil and water? high performance garbage collection in Java with MMTk. In: ICSE 2004, 26th International Conference on Software Engineering, Edinburgh (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chicha, Y., Watt, S.M. (2006). A Localized Tracing Scheme Applied to Garbage Collection. In: Kobayashi, N. (eds) Programming Languages and Systems. APLAS 2006. Lecture Notes in Computer Science, vol 4279. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11924661_20
Download citation
DOI: https://doi.org/10.1007/11924661_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-48937-5
Online ISBN: 978-3-540-48938-2
eBook Packages: Computer ScienceComputer Science (R0)