Results 11 - 20
of
30
Correctness-preserving derivation of concurrent garbage collection algorithms
- Available at http://www.worldbank.org/en_breve Jalan, Jyotsna and Martin Ravallion. 2001. “Does piped water reduce diarrhea for children in Rural India.” Policy Research Working Paper
, 2006
"... Constructing correct concurrent garbage collection algorithms is notoriously hard. Numerous such algorithms have been proposed, implemented, and deployed – and yet the relationship among them in terms of speed and precision is poorly understood, and the validation of one algorithm does not carry ove ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
Constructing correct concurrent garbage collection algorithms is notoriously hard. Numerous such algorithms have been proposed, implemented, and deployed – and yet the relationship among them in terms of speed and precision is poorly understood, and the validation of one algorithm does not carry over to others. As programs with low latency requirements written in garbagecollected languages become part of society’s mission-critical infrastructure, it is imperative that we raise the level of confidence in the correctness of the underlying system, and that we understand the trade-offs inherent in our algorithmic choice. In this paper we present correctness-preserving transformations that can be applied to an initial abstract concurrent garbage collection algorithm which is simpler, more precise, and easier to prove correct than algorithms used in practice — but also more expensive and with less concurrency. We then show how both pre-existing and new algorithms can be synthesized from the abstract algorithm by a series of our transformations. We relate the algorithms formally using a new definition of precision, and informally with respect to overhead and concurrency. This provides many insights about the nature of concurrent collection, allows the direct synthesis of new and useful algorithms, reduces the burden of proof to a single simple algorithm, and lays the groundwork for the automated synthesis of correct concurrent collectors. 1.
Scalable Real-time Parallel Garbage Collection for Symmetric Multiprocessors
, 2001
"... model for garbage collection. ..."
Incremental Garbage Collection of a Persistent Object Store using PMOS
- IN ADVANCES IN PERSISTENT OBJECT SYSTEMS
, 1998
"... PMOS is an incremental garbage collector designed specifically to reclaim space in a persistent object store. It is complete in that it will, after a finite number of invocations, reclaim all unreachable storage. PMOS imposes minimum constraints on the order of collection and offers techniques to ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
PMOS is an incremental garbage collector designed specifically to reclaim space in a persistent object store. It is complete in that it will, after a finite number of invocations, reclaim all unreachable storage. PMOS imposes minimum constraints on the order of collection and offers techniques to reduce the I/O traffic induced by the collector. Here we present the first implementation of the PMOS collector called PMOS#1. The collector has been incorporated into the stable heap layer of the generic persistent object store used to support a number of languages including Napier88. Our main design goals are to maintain the independence of the language from the store and to retain the existing store interface. The implementation has been completed and tested using a Napier88 system. The main results of this work show that the PMOS collector is implementable in a persistent store and that it can be built without requiring changes to the language interpreter. Initial performance ...
TMOS: A Transactional Garbage Collector
- PROCEEDINGS OF THE NINTH INTERNATIONAL WORKSHOP ON PERSISTENT OBJECT SYSTEMS (POS’9
, 2000
"... The safe management of storage reclamation is a difficult and error prone problem, diverting programmer effort from the core task. Garbage collection is an effective solution to this problem, that can be applied to both primary and secondary storage. The Mature Object Space (MOS) garbage collector ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
The safe management of storage reclamation is a difficult and error prone problem, diverting programmer effort from the core task. Garbage collection is an effective solution to this problem, that can be applied to both primary and secondary storage. The Mature Object Space (MOS) garbage collector is targeted toward long lived in memory objects and its derivative Persistent MOS (PMOS) is targeted toward the collection of long lived secondary storage. Resource reclamation is essential when a limited of resources are available (e.g. main memory). However, garbage collection in secondary storage systems has the side effect of improving locality and thus should improve data access performance. In addition, the MOS family of garbage collectors have some inherent reclustering characteristics. It is common to control concurrent access to data held in long term storage by using a transaction mechanism. The transaction mechanism enforces a data consistency model and enables concurrent access ...
Framework for Analyzing Garbage Collection
- In Foundations of Information Technology in the Era of Network and Mobile Computing: IFIP 17th World Computer Congress - TC1 Stream (TCS 2002
, 2002
"... While the design of garbage collection algorithms has come of age, the analysis of these algorithms is still in its infancy. Current analyses are limited to merely documenting costs of individual collector executions; conclusive results, measuring across entire programs, require a theoretical founda ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
While the design of garbage collection algorithms has come of age, the analysis of these algorithms is still in its infancy. Current analyses are limited to merely documenting costs of individual collector executions; conclusive results, measuring across entire programs, require a theoretical foundation from which proofs can be offered. A theoretical foundation also allows abstract examination of garbage collection, enabling new designs without worrying about implementation details. We propose a theoretical framework for analyzing garbage collection algorithms and show how our framework could compute the efficiency (time cost) of garbage collectors. The central novelty of our proposed framework is its capacity to analyze costs of garbage collection over an entire program execution. In work on garbage collection, one frequently uses heap traces, which require determining the exact point in program execution at which each heap allocated object "dies" (becomes unreachable). The framework inspired a new trace generation algorithm, Merlin, which runs more than 800 times faster than previous methods for generating accurate traces [7]. The central new result of this paper is using the framework to prove that Merlin's asymptotic running time is optimal for trace generation.
Write barrier elision for concurrent garbage collectors
- In Proceedings of the 4th international symposium on Memory management
, 2004
"... ABSTRACT Concurrent garbage collectors require write barriers to preserveconsistency, but these barriers impose significant direct and indirect costs. While there has been a lot of work on optimizing write barri-ers, we present the first study of their elision in a concurrent collector. We show cond ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
ABSTRACT Concurrent garbage collectors require write barriers to preserveconsistency, but these barriers impose significant direct and indirect costs. While there has been a lot of work on optimizing write barri-ers, we present the first study of their elision in a concurrent collector. We show conditions under which write barriers are redundant,and describe how these conditions can be applied to both incremental update or snapshot-at-the-beginning barriers. We then evaluatethe potential for write barrier elimination with a trace-based limit study, which shows that a significant percentage of write barriersare redundant. On average, 54 % of incremental barriers and 83 % of snapshot barriers are unnecessary.
An Experimental Study of Renewal-Older-First Garbage Collection
"... Generational collection has improved the efficiency of garbage collection in fast-allocating programs by focusing on collecting young garbage, but has done little to reduce the cost of collecting a heap containing large amounts of older data. A new generational technique, older-first collection, sho ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
Generational collection has improved the efficiency of garbage collection in fast-allocating programs by focusing on collecting young garbage, but has done little to reduce the cost of collecting a heap containing large amounts of older data. A new generational technique, older-first collection, shows promise in its ability to manage older data.
Older-First Garbage Collection in Practice
- In The 2002 International Symposium on Memory Management(ISMM 2002
, 2000
"... implementations incorporate techniques that restore robustness by effectively disabling older-first collection in cases where degradation occurs, and this dissertation discusses further measures the collectors may take to avoid performance degradation. i I thank my committee members, Mitchell Wand ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
implementations incorporate techniques that restore robustness by effectively disabling older-first collection in cases where degradation occurs, and this dissertation discusses further measures the collectors may take to avoid performance degradation. i I thank my committee members, Mitchell Wand, Rajmohan Rajaraman and Eliot Moss, and particularly my advisor, Will Clinger, for their participation, comments and help. Will Clinger also contributed in many ways over many years to Larceny, my experimental system, most obviously by writing the Twobit compiler for Scheme. The benchmarks used in this dissertation were written or modified by or in other ways contributed to by Henry Baker, Hans Boehm, Bob Boyer, Will Clinger, David Detlefs, John Ellis, Marc Feeley, Richard Gabriel, Pete Kovac, Eugene Luks, and Richard O'Keefe. The work was supported in part by NSF Grant CCR-9629801 and by the College of Computer Science at Northeastern University. The most profound thanks still go to m
A localized tracing scheme applied to garbage collection
- In APLAS 2006
, 2006
"... Abstract. We present a method to visit all nodes in a forest of data structures while taking into account object placement. We call the technique a Localized Tracing Scheme as it improves locality of reference during object tracing activity. The method organizes the heap into regions and uses trace ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Abstract. We present a method to visit all nodes in a forest of data structures while taking into account object placement. We call the technique a Localized Tracing Scheme as it improves locality of reference during object tracing activity. The method organizes the heap into regions and uses trace queues to defer and group tracing of remote objects. The principle of localized tracing reduces memory traffic and can be used as an optimization to improve performance at several levels of the memory hierarchy. The method is applicable to a wide range of uniprocessor garbage collection algorithms as well as to shared memory multiprocessor collectors. Experiments with a mark-and-sweep collector show performance improvements up to 75 % at the virtual memory level. 1
A parallel, incremental, mostly concurrent garbage collector for servers
- ACM Transactions on Programming Languages and Systems
"... Multithreaded applications with multi-gigabyte heaps running on modern servers provide new challenges for garbage collection (GC). The challenges for “server-oriented ” GC include: ensuring short pause times on a multi-gigabyte heap while minimizing throughput penalty, good scaling on multiprocessor ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Multithreaded applications with multi-gigabyte heaps running on modern servers provide new challenges for garbage collection (GC). The challenges for “server-oriented ” GC include: ensuring short pause times on a multi-gigabyte heap while minimizing throughput penalty, good scaling on multiprocessor hardware, and keeping the number of expensive multi-cycle fence instructions required by weak ordering to a minimum. We designed and implemented a collector facing these demands building on the mostly concurrent garbage collector proposed by Boehm et al. Our collector incorporates new ideas into the original collector. We make it parallel and incremental; we employ concurrent low-priority background GC threads to take advantage of processor idle time; we propose novel algorithmic improvements to the basic mostly concurrent algorithm improving its efficiency and shortening its pause times; and finally, we use advanced techniques, such as a low-overhead work packet mechanism to enable full parallelism among the incremental and concurrent collecting threads and ensure load balancing. We compared the new collector to the mature, well-optimized, parallel, stop-the-world marksweep collector already in the IBM JVM. When allowed to run aggressively, using 72 % of the CPU utilization during a short concurrent phase, our collector prototype reduces the maximum pause time from 161ms to 46ms while only losing 11.5 % throughput when running the SPECjbb2000 benchmark on a 600 MB heap on an 8-way PowerPC 1.1 GHz processors. When the collector is limited to a non-intrusive operation using only 29 % of the CPU utilization, the maximum pause time obtained is 79ms and the loss in throughput is 15.4%.

