Real-Time Concurrent Garbage Collection
1,041 views · Published 6 September 2016 · 1:08:22 · Indexed 20 September 2026
Channel: Microsoft Research · 2016 · Science & Technology
Creating a garbage-collected environment that supports real-time on modern parallel platforms is notoriously hard, especially if real-time entails lock-freedom. I will present and compare three alternative designs for a highly-responsive, concurrent, lock-free, and low-overhead real-time garbage collector. Next, a simple and effective compiler optimization aimed at reducing the overhead of memory barriers will be presented. Finally, if time allows, I will introduce our formalization of lock-freedom and lock-free supporting systems. All our designs are adequate for modern languages such as C# or Java. We have implemented them on top of the Bartok compiler and runtime for C# and measurements demonstrate high responsiveness (a factor of a 100 better than previously published real-time systems), virtually no pause times, good mutator utilization, and acceptable overheads.