Crates.io | debra |
lib.rs | debra |
version | 0.0.0 |
source | src |
created_at | 2019-07-23 08:45:08.351695 |
updated_at | 2019-07-23 08:45:08.351695 |
description | distributed epoch-based reclamation |
homepage | |
repository | https://github.com/oliver-giersch/debra |
max_upload_size | |
id | 150977 |
size | 3,343 |
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
Add this to your Cargo.toml
[dependencies]
debra = "0.1"
The minimum supported Rust version for this crate is 1.36.0.
...TODO...
See tests/treiber.rs for an implementation
of Treiber's stack using debra
for memory reclamation.
...TODO... (bag-size-1 through bag-size-512)
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.