Blogs (9) >>
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands
Thu 3 Nov 2016 14:45 - 15:10 at Matterhorn 1 - Runtime Support Chair(s): Laurence Tratt

Programmers routinely trade space for time to increase performance, often in the
form of caching or memoization. In managed languages like Java or JavaScript,
however, this space-time tradeoff is complex. Using more space translates into
higher garbage collection costs, especially at the limit of available
memory. Existing runtime systems provide limited support for
space-sensitive algorithms, forcing programmers into difficult and often brittle
choices about provisioning.

This paper presents \emph{prioritized garbage collection}, a cooperative
programming language and runtime solution to this problem. Prioritized GC
provides an interface similar to soft references, called \emph{priority
references}, which identify objects that the collector can reclaim eagerly if
necessary. The key difference is an API for defining the policy that governs
when priority references are cleared and in what order. Application code
specifies a priority value for each reference and a target memory bound. The
collector reclaims references, lowest priority first, until the total memory
footprint of the cache fits within the bound. We use this API to implement a
space-aware least-recently-used (LRU) cache, called a \emph{Sache}, that is a
drop-in replacement for existing caches, such as Google's Guava library. The
garbage collector automatically grows and shrinks the Sache in response to
available memory and workload with minimal provisioning information from the
programmer. Using a Sache, it is almost impossible for an application to
experience a memory leak, memory pressure, or an out-of-memory crash caused by
software caching.

Thu 3 Nov

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:10
Runtime SupportOOPSLA at Matterhorn 1
Chair(s): Laurence Tratt King's College London
Efficient and Thread-Safe Objects for Dynamically-Typed LanguagesAEC
Benoit Daloze JKU Linz, Austria, Stefan Marr Johannes Kepler University Linz, Daniele Bonetta Oracle Labs, Hanspeter Mössenböck JKU Linz, Austria
DOI Pre-print Media Attached
Hybrid STM/HTM for Nested Transactions on OpenJDKAECDistinguished Paper Award
Keith Chapman Purdue University, Tony Hosking Australian National University, Data61, and Purdue University, Eliot Moss University of Massachusetts Amherst
Link to publication DOI Pre-print Media Attached
Makalu: Fast Recoverable Allocation of Non-volatile Memory
Kumud Bhandari Rice University, USA, Dhruva Chakrabarti , Hans-J. Boehm Google
DOI Pre-print Media Attached
Prioritized Garbage Collection: Explicit GC Support for Software Caches
Diogenes Nunez Tufts University, Sam Guyer Tufts University, Emery D. Berger University of Massachusetts, Amherst
DOI Pre-print Media Attached