Efficient multi-word compare and swap

R Guerraoui, A Kogan, VJ Marathe… - arXiv preprint arXiv …, 2020 - arxiv.org
Atomic lock-free multi-word compare-and-swap (MCAS) is a powerful tool for designing
concurrent algorithms. Yet, its widespread usage has been limited because lock-free …

An efficient wait-free vector

S Feldman, C Valera-Leon… - IEEE Transactions on …, 2015 - ieeexplore.ieee.org
The vector is a fundamental data structure, which provides constant-time access to a
dynamically-resizable range of elements. Currently, there exist no wait-free vectors. The only …

A wait-free multi-producer multi-consumer ring buffer

S Feldman, D Dechev - ACM SIGAPP Applied Computing Review, 2015 - dl.acm.org
The ring buffer is a staple data structure used in many algorithms and applications. It is
highly desirable in high-demand use cases such as multimedia, network routing, and trading …

A scalable multi-producer multi-consumer wait-free ring buffer

A Barrington, S Feldman, D Dechev - Proceedings of the 30th Annual …, 2015 - dl.acm.org
A ring buffer or cyclical queue is a First In, First Out (FIFO) queue that stores elements on a
fixed-length array. This allows for efficient O (1) operations, cache-aware optimizations, and …

A methodology for performance analysis of non-blocking algorithms using hardware and software metrics

R Izadpanah, S Feldman… - 2016 IEEE 19th …, 2016 - ieeexplore.ieee.org
Non-blocking algorithms are a class of algorithms that provide guarantees of progress within
a system. These progress guarantees come from the fine-grained synchronization …

Nonblocking persistent software transactional memory

HA Beadle, W Cai, H Wen, ML Scott - Proceedings of the 25th ACM …, 2020 - dl.acm.org
While developed largely for higher density and lower power, byte-addressable nonvolatile
memory can also allow data to persist across program runs and system crashes without the …

Tervel: A unification of descriptor-based techniques for non-blocking programming

S Feldman, P LaBorde… - … Conference on Embedded …, 2015 - ieeexplore.ieee.org
The development of non-blocking code is difficult; developers must ensure the progress of
an operation on shared memory despite conflicting operations. Managing this shared …

Lock-free locks revisited

N Ben-David, GE Blelloch, Y Wei - … on Principles and Practice of Parallel …, 2022 - dl.acm.org
This paper presents a new and practical approach to lock-free locks based on helping,
which allows the user to write code using fine-grained locks, but run it in a lock-free manner …

VERLIB: Concurrent Versioned Pointers

GE Blelloch, Y Wei - Proceedings of the 29th ACM SIGPLAN Annual …, 2024 - dl.acm.org
Recent work has shown how to augment any CAS-based concurrent data structure to
support taking a snapshot of the current memory state. Taking the snapshot, as well as loads …

Efficient, distributed, and non-speculative multi-address atomic operations

EJ Gómez-Hernández, JM Cebrian, R Titos-Gil… - MICRO-54: 54th Annual …, 2021 - dl.acm.org
Critical sections that read, modify, and write (RMW) a small set of addresses are common in
parallel applications and concurrent data structures. However, to escape from the intricacies …