TMOS: A Transactional Garbage Collector
نویسندگان
چکیده
Defining persistence in terms of reachability is fundamental to achieving orthogonality of persistence. It is implicit to the principles of orthogonal persistence and is a part of the ODMG 3.0 data objects standard. Although space reclamation in the context of persistence by reachability can be achieved automatically using garbage collection, relatively few papers address the problem of implementing garbage collection in a transactional storage system. A transactional GC algorithm must operate correctly in the face of failure, and in particular must deal with the problem of transaction abort, which by undoing changes such as the deletion of references, subverts the GC reachability axiom of ‘once garbage always garbage’. In this paper we make two key contributions. First, we present a generic approach to the design of transactional collectors that promotes clarity, generality, and understandability, and then using this approach, we present a new transactional garbage collection algorithm, TMOS. Our design approach brings together three independent components—a mutator, a transactional store, and a GC algorithm. TMOS represents the application of the Mature Object Space family of GC algorithms to the transactional context through our approach to transactional GC
منابع مشابه
Chihuahua: A Concurrent, Moving, Garbage Collector using Transactional Memory
Hardware Transactional Memory (HTM) offers a powerful new parallel synchronization mechanism, but one whose performance properties are different from techniques that it competes with, such as locks and atomic instructions. Because of HTM’s differing characteristics, when algorithms based on earlier synchronization mechanisms are adapted to use HTM instead, the performance may be disappointing, ...
متن کاملTransactional Language Constructs for C + +
Authors: Hans Boehm, HP, [email protected] Justin Gottschlich, Intel, [email protected] Victor Luchangco, Oracle, [email protected] Maged Michael, IBM, [email protected] Mark Moir, Oracle, [email protected] Clark Nelson, Intel, [email protected] Torvald Riegel, Red Hat, [email protected] Tatiana Shpeisman, Intel, [email protected] Michael Wong, IBM,...
متن کاملHigh-Performance Transactional Event Processing
This paper presents a transactional framework for low-latency, high-performance, concurrent event processing in Java. At the heart of our framework lies Reflexes, a restricted programming model for highly responsive systems. A Reflex task is an event processor that can run at a higher priority and preempt any other Java thread, including the garbage collector. It runs in an obstruction-free man...
متن کاملParMarkSplit: A Parallel Mark-Split Garbage Collector Based on a Lock-Free Skip-List
This brief announcement provides a high level overview of a parallel mark-split garbage collector. Our parallel design introduces and makes use of an efficient concurrency control mechanism based on a lock-free skip-list design for handling the list of free memory intervals. We have implemented the parallel mark-split garbage collector in OpenJDK HotSpot as a parallel and concurrent garbage col...
متن کاملBrief Announcement: ParMarkSplit: A Parallel Mark-Split Garbage Collector Based on a Lock-Free Skip-List
This brief announcement provides a high level overview of a parallel mark-split garbage collector. Our parallel design introduces and makes use of an efficient concurrency control mechanism based on a lock-free skip-list design for handling the list of free memory intervals. We have implemented the parallel mark-split garbage collector in OpenJDK HotSpot as a parallel and concurrent garbage col...
متن کامل