Design and Analysis of Field-Logging Write Barriers
Write barriers are a fundamental mechanism that most production
garbage collection algorithms depend on. They inform the collector
of mutations to the object graph, enabling partial heap collections,
concurrent collection, and reference counting. While in principle,
write barriers remember only the pointers within the object graph
that were changed and do so just once, widely-used write barriers
are less precise, sacrificing temporal and/or spatial precision to
performance. The idea of precisely remembering just the pointers
that were changed is not new, however implementing performant
field-precise barriers has proved elusive.
We describe a technique for efficiently implementing field-logging
barriers. We implement a number of barriers and evaluate them on a
range of x86 hardware.
A generational field-logging barrier performs with 0.1% to 1%
mutator overhead compared to a highly tuned object-logging barrier,
while a preliminary implementation of a reference counting
field-logging barrier performs with around 1% to 2% overhead compared to
a highly tuned object-logging reference counting barrier.
These results suggest that garbage collection algorithms that
require the precision of exactly remembering field mutations without
sacrificing performance may now be possible, adding a new mechanism
to the design toolkit available to garbage collection researchers.
My research interests are centered on the challenge of making software run faster and more power-efficiently on modern hardware. My primary interests include: microarchitectural support for managed languages, fast and efficient garbage collection, and the design and implementation of virtual machines. As a backdrop to this I have a longstanding interest in role of sound methodology and infrastructure in successful research innovation.
Sun 23 Jun
|16:00 - 16:25|
Paul Lietar, Theodore ButlerDrexel University, USA, Sylvan ClebschImperial College London, Sophia DrossopoulouImperial College London, Juliana FrancoMicrosoft Research, Cambridge, Matthew ParkinsonMicrosoft Research, UK, Alex ShamisMicrosoft Research / Imperial College London, Christoph M. WintersteigerMicrosoft Research, UK, David ChisnallUniversity of Cambridge
|16:25 - 16:50|
Steve BlackburnAustralian National University
|16:50 - 17:14|
Koichi SasadaCookpad, JapanLink to publication DOI
|17:14 - 17:15|