My favorites | Sign in
Project Home Downloads Wiki Issues Source
Project Information
Members
Links

Scarcity is a framework for concurrent garbage collection in C++. The framework is organized around the principle of "policy-based design", meaning that behavior are customized and extended via template parameters. Policy-based design facilitates seamless integration with a broad set of VMs and other runtime environments by allowing the host environment to replace any aspect of the framework, such as thread synchronization primitives, atomic data types, error logging facilities, tracing strategies and so on.

Scarcity has been inspired by MMTk, the memory management toolkit that is part of the JikesRVM. However, MMTk's design is highly Java-centric, whereas Scarcity's architecture uses design patterns that are more appropriate to C++.

The long-term goal is to produce not just a single, high-performance concurrent garbage collector, but rather a suite of several collectors using different algorithms and tuned for different workloads. A secondary goal is to provide a platform for experimentation with various garbage collection algorithms - however this latter goal should not sacrifice performance by introducing too much generality into the base design.

Powered by Google Project Hosting