Skip to main content

A Localized Tracing Scheme Applied to Garbage Collection

  • Conference paper
Programming Languages and Systems (APLAS 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4279))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Watt, S.M.: Aldor. In: Grabmeier, J., Kaltofen, E., Weispfenning, V. (eds.) Handbook of Computer Algebra, pp. 265–270. Springer, Heidelberg (2003)

    Google Scholar 

  2. Aldor.org: Aldor user guide (2003), http://www.aldor.org/AldorUserGuide

  3. Maplesoft: Maple User Manual, Maplesoft, a division of Waterloo Maple Inc. (2005)

    Google Scholar 

  4. Boehm, H.J., Weiser, M.: Garbage collection in an uncooperative environment. Software Practice and Experience 18, 807–820 (1988)

    Article  Google Scholar 

  5. 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)

    Article  Google Scholar 

  6. Boehm, H.J.: GCBench, http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_bench

  7. Grunwald, D., Zorn, B.: Malloc benchmarks, ftp://ftp.cs.colorado.edu/pub/cs/misc/MallocStudy

  8. Chicha, Y.: Practical Aspects of Interacting Garbage Collectors. Ph.D. Thesis, University of Western Ontario (2002)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Google Scholar 

  11. Boehm, H.J.: Mark-and-sweep vs. copying collection and asymptotic complexity, http://www.hpl.hp.com/personal/Hans_Boehm/gc/complexity.html

  12. Zorn, B.: Comparing mark-and-sweep and stop-and-copy garbage collection. In: Proc. 1990 ACM Symposium on Lisp and Functional Programming (1990)

    Google Scholar 

  13. Hudson, R.L., Moss, J.E.B.: Incremental garbage collection for mature objects. In: IWMM 1992 Proceedings (1992)

    Google Scholar 

  14. Attardi, G., Flagella, T.: A customisable memory management framework. In: Proc. USENIX C++ Conference, Cambridge, MA (1994)

    Google Scholar 

  15. Boehm, H.J.: Reducing garbage collector cache misses. In: ISMM 2000 Proc. Second International Symposium on Memory Management (2000)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics