Block-stm: Scaling blockchain execution by turning ordering curse to a performance blessing

R Gelashvili, A Spiegelman, Z **ang… - Proceedings of the 28th …, 2023 - dl.acm.org
Block-STM is a parallel execution engine for smart contracts, built around the principles of
Software Transactional Memory. Transactions are grouped in blocks, and every execution of …

Constant-time snapshots with applications to concurrent data structures

Y Wei, N Ben-David, GE Blelloch, P Fatourou… - Proceedings of the 26th …, 2021 - dl.acm.org
Given a concurrent data structure, we present an approach for efficiently taking snapshots of
its constituent CAS objects. More specifically, we support a constant-time operation that …

Lock-free and scalable multi-version software transactional memory

SM Fernandes, J Cachopo - ACM SIGPLAN Notices, 2011 - dl.acm.org
Software Transactional Memory (STM) was initially proposed as a lock-free mechanism for
concurrency control. Early implementations had efficiency limitations, and soon obstruction …

Practically and theoretically efficient garbage collection for multiversioning

Y Wei, GE Blelloch, P Fatourou, E Ruppert - Proceedings of the 28th …, 2023 - dl.acm.org
Multiversioning is widely used in databases, transactional memory, and concurrent data
structures. It can be used to support read-only transactions that appear atomic in the …

Space and time bounded multiversion garbage collection

N Ben-David, GE Blelloch, P Fatourou… - arxiv preprint arxiv …, 2021 - arxiv.org
We present a general technique for garbage collecting old versions for multiversion
concurrency control that simultaneously achieves good time and space complexity. Our …

A timestamp based multi-version STM algorithm

P Kumar, S Peri, K Vidyasankar - … 2014, Coimbatore, India, January 4-7 …, 2014 - Springer
Abstract Software Transactional Memory Systems (STM) are a promising alternative for
concurrency control in shared memory systems. Multiversion STM systems maintain multiple …

Eemarq: Efficient lock-free range queries with memory reclamation

G Sheffi, P Ramalhete, E Petrank - arxiv preprint arxiv:2210.17086, 2022 - arxiv.org
Multi-Version Concurrency Control (MVCC) is a common mechanism for achieving
linearizable range queries in database systems and concurrent data-structures. The core …

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 …

Pessimistic software lock-elision

Y Afek, A Matveev, N Shavit - … , DISC 2012, Salvador, Brazil, October 16-18 …, 2012 - Springer
Read-write locks are one of the most prevalent lock forms in concurrent applications
because they allow read accesses to locked code to proceed in parallel. However, they do …

Universal constructions that ensure disjoint-access parallelism and wait-freedom

F Ellen, P Fatourou, E Kosmas, A Milani… - Proceedings of the 2012 …, 2012 - dl.acm.org
Disjoint-access parallelism and wait-freedom are two desirable properties for
implementations of concurrent objects. Disjoint-access parallelism guarantees that …