1 unstable release
0.0.0 | Jul 23, 2019 |
---|
#9 in #reclamation
4KB
THIS CRATE IS WORK IN PROGRESS
Debra
Distributed epoch-based memory reclamation
Many concurrent lock-free data structures require an additional minimal (also lock-free) garbage collector, which determines, when a removed value can be safely de-allocated. This can not be determined statically, since many threads could potentially still access previously created references to the removed value. This crate provides a simple and (mostly) safe interface for interacting with the DEBRA [1] memory reclamation scheme.
[1] Trevor Brown, "Reclaiming memory for lock-free data structures: There has to be a better way", in ACM, 2015
Usage
Add this to your Cargo.toml
[dependencies]
debra = "0.1"
Minimum Supported Rust Version (MSRV)
The minimum supported Rust version for this crate is 1.36.0.
Comparison with crossbeam-epoch
...TODO...
Examples
See tests/treiber.rs for an implementation
of Treiber's stack using debra
for memory reclamation.
Features
...TODO... (bag-size-1 through bag-size-512)
License
Debra is distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.