Mutator-Driven Object Placement using Load Barriers
Object placement impacts cache utilisation, which is itself critical for performance. Managed languages offer fewer tools than unmanaged languages in the way of controlling object placement due to the abstract view of memory. On the other hand, managed languages often have garbage collectors (GC) that move objects as part of defragmentation.
In the context of OpenJDK, Hot-Cold Objects Segregation GC (HCSGC) added locality improvement on-top of ZGC by piggybacking on its loaded value-barrier based design. In addition to the open problem of tuning HCSGC, we identify a contradiction in two of its design goals and propose LR, that addresses both these problems.
We implement LR on-top of ZGC and compare it with GCs in OpenJDK and with the best performing HCSGC configuration using DaCapo, JGraphT and SPECjbb2015. While using less resources, LR outperforms HCSGC in 18 configurations, matches performance in 17, and regresses in 3.
Thu 19 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 11:50 | |||
10:30 25mPaper | Lazy Sparse Conditional Constant Propagation in the Sea of Nodes MPLR DOI | ||
10:55 25mPaper | Mutator-Driven Object Placement using Load Barriers MPLR A: Jonas Norlinder Uppsala University, A: Albert Mingkun Yang Oracle, A: David Black-Schaffer Uppsala University, A: Tobias Wrigstad Uppsala University DOI | ||
11:20 25mPaper | Interactive Programming for Microcontrollers by Offloading Dynamic Incremental Compilation MPLR A: Fumika Mochizuki University of Tokyo, A: Tetsuro Yamazaki University of Tokyo, A: Shigeru Chiba University of Tokyo DOI |