Concurrent and incremental collectors require barriers to ensure correct synchronisation between mutator and collector. The overheads imposed by particular barriers on particular systems have been widely studied. Somewhat fewer studies have also compared barriers in terms of their termination properties or the volume of floating garbage they generate. Until now, the consequences for locality of different barrier choices has not been studied, although locality will be of increasing importance for emerging architectures. This paper provides a study of the locality of concurrent write barriers, independent of the processor architecture, virtual machine, compiler or garbage collection algorithm. Categories and Subject Descriptors D.3.4 [Programming Languages]: Processors—Memory management (garbage collection); C.4 [Performance of Systems]: Measurement techniques General Terms Measurement, Performance, Languages. Keywords Language implementation, Memory management, Garbage collection, J...
Laurence Hellyer, Richard Jones, Antony L. Hosking