Blogs (9) >>
SPLASH 2016
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
Times are displayed in time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 15:10: Runtime SupportOOPSLA at Matterhorn 1
Chair(s): Laurence TrattKing's College London
13:30 - 13:55
Talk
OOPSLA
Benoit DalozeJKU Linz, Austria, Stefan MarrJohannes Kepler University Linz, Daniele BonettaOracle Labs, Hanspeter MössenböckJKU Linz, Austria
DOI Pre-print Media Attached
13:55 - 14:20
Talk
OOPSLA
Keith ChapmanPurdue University, Tony HoskingAustralian National University, Data61, and Purdue University, Eliot MossUniversity of Massachusetts Amherst
Link to publication DOI Pre-print Media Attached
14:20 - 14:45
Talk
OOPSLA
Kumud BhandariRice University, USA, Dhruva Chakrabarti, Hans-J. BoehmGoogle
DOI Pre-print Media Attached
14:45 - 15:10
Talk
OOPSLA
Diogenes NunezTufts University, Sam GuyerTufts University, Emery D. BergerUniversity of Massachusetts, Amherst
DOI Pre-print Media Attached