Write a Blog >>
Sun 23 Jun 2019 14:50 - 15:15 at 106A - Mechanics

Efficient garbage collection is a key goal in engineering high-performance runtime systems.
To reduce pause times, many collector designs traverse the object graph concurrently with the application, an optimization known as concurrent marking.
Traditional concurrent marking imposes strict invariants on the object shapes: 1) static type layout of objects, 2) static object memory locations, 3) static object sizes.
High performance virtual machines for dynamic languages, for example, the V8 JavaScript virtual machine used in the Google Chrome web browser, generally violate these constraints in pursuit of high throughput for a single thread.
Taking V8 as an example, we show that some object shape changes are safe and can be handled by traditional concurrent marking algorithms.
For unsafe shape changes, we introduce novel wait-free object snapshotting and lock-based concurrent marking algorithms and prove that they preserve key invariants.
We implemented both algorithms in V8 and achieved performance improvements on various JavaScript benchmark suites and real-world web workloads.
Concurrent marking of shape-changing objects using the wait-free object snapshotting algorithm is enabled by default in Chrome since version 64.

Sun 23 Jun

Displayed time zone: Tijuana, Baja California change

14:00 - 15:40
MechanicsISMM 2019 at 106A
14:00
50m
Talk
Keynote 2: Why do big data and cloud systems stop (slow down)?
ISMM 2019
Shan Lu University of Chicago
14:50
25m
Talk
Concurrent Marking of Shape-Changing Objects
ISMM 2019
15:15
25m
Talk
A Lock-Free Coalescing-Capable Mechanism for Memory Management
ISMM 2019
Ricardo Leite University of Porto, Ricardo Rocha University of Porto, Portugal