Handles revisited: optimising performance and memory costs in a real-time collector

Kalibera, Tomas and Jones, Richard E. (2011) Handles revisited: optimising performance and memory costs in a real-time collector. In: Proceedings of the 10th International Symposium on Memory Management (ISMM), June 2011. (The full text of this publication is not available from this repository)

The full text of this publication is not available from this repository. (Contact us about this Publication)
Official URL
http://www.cs.kent.ac.uk/pubs/2011/3122

Abstract

Compacting garbage collectors must update all references to objects they move. Updating is a lengthy operation but the updates must be transparent to the mutator. The consequence is that no space can be reclaimed until all references have been updated which, in a real-time collector, must be done incrementally. One solution is to replace direct references to objects with handles. Handles offer several advantages to a real-time collector. They eliminate the updating problem. They allow immediate reuse of the space used by evacuated objects. They incur no copy reserve overhead. However, the execution time overhead of handles has led to them being abandoned by most modern systems. We re-examine this decision in the context of real-time garbage collection, for which several systems with handles have appeared recently. We provide the first thorough study of the overheads of handles, based on an optimised implementation of different handle designs within Ovm's Minuteman real-time collector. We find that with a good set of optimisations handles are not very expensive. We obtained zero overhead over the widely used Brooks-style compacting collector (1.6 and 3.1 on two other platforms) and 9 increase in memory usage. Our optimisations are particularly applicable to mark-compact collectors, but may also be useful to other collectors.

Item Type: Conference or workshop item (Paper)
Uncontrolled keywords: dynamic defragmentation, handles, real-time garbage collection
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Science Technology and Medical Studies > School of Computing > Programming Languages and Systems Group
Depositing User: Richard Jones
Date Deposited: 21 Sep 2012 09:49
Last Modified: 27 May 2014 13:55
Resource URI: http://kar.kent.ac.uk/id/eprint/30755 (The current URI for this page, for reference purposes)
  • Depositors only (login required):