Transactional Sapphire Lessons in High-Performance, On-the-fly Garbage Collection
Transactional Sapphire Lessons in High-Performance, On-the-fly Garbage Collection
复制标题
高性能、动态垃圾收集中的事务性蓝宝石课程
DOI:
10.1145/3226225
复制
发表时间:
2018
影响因子:
1.3
通讯作者:
Ugawa T
中科院分区:
文献类型:
--
作者:
Ugawa T
Constructing a high-performance garbage collector is hard. Constructing a fully concurrent ‘on-the-fly’ compacting collector is much more so. We describe our experience of implementing the Sapphire algorithm as the first on-the-fly, parallel, replication copying, garbage collector for the Jikes RVM Java virtual machine (JVM). In part, we explain our innovations such as copying with hardware and software transactions, on-the-fly management of Java’s reference types, and simple, yet correct, lock-free management of volatile fields in a replicating collector. We fully evaluate, for the first time, and using realistic benchmarks, Sapphire’s performance and suitability as a low latency collector. An important contribution of this work is a detailed description of our experience of building an on-the-fly copying collector for a complete JVM with some assurance that it is correct. A key aspect of this is model checking of critical components of this complicated and highly concurrent system.