Affiliation:
1. University of Kent, Canterbury, United Kingdom
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Transactional Sapphire;ACM Transactions on Programming Languages and Systems;2018-12-31
2. Cross-component garbage collection;Proceedings of the ACM on Programming Languages;2018-10-24
3. DataMill: a distributed heterogeneous infrastructure forrobust experimentation;Software: Practice and Experience;2015-12-08
4. Building the Java Heap with Bricks in an Embedded Real-Time Environment;2014 IEEE/ACM 18th International Symposium on Distributed Simulation and Real Time Applications;2014-10
5. A simple distributed garbage collector for distributed real-time Java;The Journal of Supercomputing;2014-07-12