University of Cambridge > > Logic and Semantics Seminar (Computer Laboratory) > On-the-fly garbage collection: issues and opportunities

On-the-fly garbage collection: issues and opportunities

Add to your list(s) Download to your calendar using vCal

If you have a question about this talk, please contact Jonathan Hayman.

The MirrorGC project is building on-the-fly, concurrent, copying garbage collectors. This work has exposed a number of issues and opportunities. In this talk, I provide a background to concurrent garbage collection, explaining the key issue of synchronisation, either between parallel collector threads or between collector and mutator threads. I then focus on two issues: how to handle Java’s weak references in an on-the-fly collector and whether garbage collection can benefit from transactional memory.

Java’s weak reference types require the garbage collector to process them atomically. However, the implementor is not helped by the informal specification given only in the package documentation. We formalise the specification, investigate alternative implementations (which we model check), and demonstrate that an on-the-fly solution is competitive with other approaches.

Intel’s latest processor microarchitecture, Haswell, provides a restricted form of transactional memory. We explore how this can be applied to three garbage collection scenarios in Jikes RVM . We demonstrate gains in concurrent copying speed over traditional synchronisation mechanisms of 48-101%. We also show how similar but portable performance gains can be achieved through software transactional memory techniques.

This talk is part of the Logic and Semantics Seminar (Computer Laboratory) series.

Tell a friend about this talk:

This talk is included in these lists:

Note that ex-directory lists are not shown.


© 2006-2023, University of Cambridge. Contact Us | Help and Documentation | Privacy and Publicity