Onward! 2017
Sun 22 - Fri 27 October 2017 Vancouver, Canada
co-located with SPLASH 2017
Fri 27 Oct 2017 11:30 - 12:00 at Regency B - Usability and Performance Chair(s): Sam Tobin-Hochstadt

In this paper we present a study of how Java programs dispose of objects. Unlike prior work on object demographics and lifetime patterns, our goal is to precisely characterize the actions that cause objects to become unreachable. We use a recently-developed tracing tool, called Elephant Tracks, which can localize object deaths within a specific method and tell us the proximal cause. Our analysis centers around garbage clusters: groups of connected objects that become unreachable at precisely the same time due to a single program action. We classify these clusters using traditional features, such as size, allocation site, and lifetime, and using new ones, such as death site and cause of death. We then use this knowledge about garbage clusters in a new GC algorithm: the Cluster Aware Garbage Collection (CAGC) algorithm.

We present results for a set of standard benchmarks including SPECJVM98, SPECjbb, and DaCapo. We identify several patterns that could inform the design of new collectors or tuning of existing systems. Most garbage clusters are small, suggesting that these programs almost always dispose of large structures in a piecemeal fashion. In addition, most clusters die in one of only a dozen or so places in the program. Furthermore, these death sites are much more stable and predictable than object lifetimes. Finally we show that the CAGC algorithm can in certain cases improve GC performance.

Fri 27 Oct
Times are displayed in time zone: Tijuana, Baja California change

10:30 - 12:00: Usability and PerformanceOnward! Papers at Regency B
Chair(s): Sam Tobin-HochstadtIndiana University
10:30 - 11:00
Error Messages are Classifiers: A Process to Design and Evaluate Error Messages
Onward! Papers
John WrennBrown University, Shriram KrishnamurthiBrown University, USA
11:00 - 11:30
You Can Have it All: Abstraction and Good Cache Performance
Onward! Papers
Juliana FrancoImperial College London, Martin Hagelin(Dirac), Tobias WrigstadUppsala University, Sophia Drossopoulou, Susan EisenbachImperial College London
11:30 - 12:00
Garbology: A Study of How Java Objects Die
Onward! Papers
Raoul VeroyTufts University, Sam GuyerTufts University