# Efficient Hardware Primitives for Immediate Memory Reclamation in   Optimistic Data Structures

**Authors:** Ajay Singh, Trevor Brown, Michael Spear

arXiv: 2302.12958 · 2023-02-28

## TL;DR

This paper introduces Conditional Access, a set of hardware instructions that enable immediate memory reclamation in optimistic data structures, reducing overhead and memory footprint while maintaining high performance.

## Contribution

The paper presents Conditional Access, a novel hardware primitive that allows immediate memory reclamation without batching, improving efficiency and memory usage in concurrent data structures.

## Key findings

- Conditional Access achieves performance comparable to optimized SMR algorithms.
- It enables immediate reclamation with low overhead and no additional coherence traffic.
- Results show reduced memory footprint similar to sequential data structures.

## Abstract

Safe memory reclamation (SMR) algorithms are crucial for preventing use-after-free errors in optimistic data structures. SMR algorithms typically delay reclamation for safety and reclaim objects in batches for efficiency. It is difficult to strike a balance between performance and space efficiency. Small batch sizes and frequent reclamation attempts lead to high overhead, while freeing large batches can lead to long program interruptions and high memory footprints. An ideal SMR algorithm would forgo batching, and reclaim memory immediately, without suffering high reclamation overheads. To this end, we propose Conditional Access: a set of hardware instructions that offer immediate reclamation and low overhead in optimistic data structures. Conditional Access harnesses cache coherence to enable threads to efficiently detect potential use-after-free errors without explicit shared memory communication, and without introducing additional coherence traffic. We implement and evaluate Conditional Access in Graphite, a multicore simulator. Our experiments show that Conditional Access can rival the performance of highly optimized and carefully tuned SMR algorithms while simultaneously allowing immediate reclamation. This results in concurrent data structures with similar memory footprints to their sequential counterparts.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/2302.12958/full.md

## Figures

19 figures with captions in the complete paper: https://tomesphere.com/paper/2302.12958/full.md

## References

45 references — full list in the complete paper: https://tomesphere.com/paper/2302.12958/full.md

---
Source: https://tomesphere.com/paper/2302.12958