Skip to content

DEBRA (distributed epoch-based reclamation) concurrent memory reclamation

Notifications You must be signed in to change notification settings

oliver-giersch/debra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Debra

Distributed epoch-based memory reclamation

Build Status Latest version Documentation License Rust 1.36+

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 memory reclamation scheme.

Usage

Add this to your Cargo.toml

[dependencies]
debra = "0.1"

Minimum Supported Rust Version (MSRV)

The minimum supported (stable) 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... DEBRA_EPOCH_CACHE_SIZE DEBRA_CHECK_THRESHOLD DEBRA_ADVANCE_THRESHOLD

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.

About

DEBRA (distributed epoch-based reclamation) concurrent memory reclamation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages