Efficient Hardware Primitives for Immediate Memory Reclamation in Optimistic Data Structures

02/25/2023
by   Ajay Singh, et al.
0

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.

READ FULL TEXT
research
12/04/2017

Reclaiming memory for lock-free data structures: there has to be a better way

Memory reclamation for lock-based data structures is typically easy. How...
research
09/17/2023

Concurrent Deterministic Skiplist and Other Data Structures

Skiplists are used in a variety of applications for storing data subject...
research
11/08/2022

The ERA Theorem for Safe Memory Reclamation

Safe memory reclamation (SMR) schemes for concurrent data structures off...
research
02/16/2023

Updates on the Low-Level Abstraction of Memory Access

Choosing the best memory layout for each hardware architecture is increa...
research
02/05/2020

Nomen Mum Earl: yet another route to intelligent machine behavior

Abstract—A unifying machine learning algorithm is proposed, in which ...
research
02/01/2019

ParaSail: A Pointer-Free Pervasively-Parallel Language for Irregular Computations

ParaSail is a language specifically designed to simplify the constructio...
research
02/04/2022

Direct Telemetry Access

The emergence of programmable switches allows operators to collect a vas...

Please sign up or login with your details

Forgot password? Click here to reset