Advertisement

A Localized Tracing Scheme Applied to Garbage Collection

  • Yannis Chicha
  • Stephen M. Watt
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4279)

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.

Keywords

Main Memory Garbage Collection Memory Management Memory Hierarchy Primary Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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. 2.
    Aldor.org: Aldor user guide (2003), http://www.aldor.org/AldorUserGuide
  3. 3.
    Maplesoft: Maple User Manual, Maplesoft, a division of Waterloo Maple Inc. (2005)Google Scholar
  4. 4.
    Boehm, H.J., Weiser, M.: Garbage collection in an uncooperative environment. Software Practice and Experience 18, 807–820 (1988)CrossRefGoogle Scholar
  5. 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)CrossRefGoogle Scholar
  6. 6.
  7. 7.
    Grunwald, D., Zorn, B.: Malloc benchmarks, ftp://ftp.cs.colorado.edu/pub/cs/misc/MallocStudy
  8. 8.
    Chicha, Y.: Practical Aspects of Interacting Garbage Collectors. Ph.D. Thesis, University of Western Ontario (2002)Google Scholar
  9. 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. 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. 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. 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. 13.
    Hudson, R.L., Moss, J.E.B.: Incremental garbage collection for mature objects. In: IWMM 1992 Proceedings (1992)Google Scholar
  14. 14.
    Attardi, G., Flagella, T.: A customisable memory management framework. In: Proc. USENIX C++ Conference, Cambridge, MA (1994)Google Scholar
  15. 15.
    Boehm, H.J.: Reducing garbage collector cache misses. In: ISMM 2000 Proc. Second International Symposium on Memory Management (2000)Google Scholar
  16. 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. 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. 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. 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

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Yannis Chicha
    • 1
  • Stephen M. Watt
    • 1
  1. 1.Department of Computer ScienceUniversity of Western OntarioLondonCanada

Personalised recommendations