Maya Arbel-Raviv

dblp:148/1298 · also Maya Arbel · DBLP profile ↗
← Back
7ranked-venue papers
7as first author
0since 2021 · last 2018
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 5 · 5 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
5 papers
Concurrent programming · 100%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Parallel and multicore computing · 90% Performance modeling and evaluation · 10%

Topics — the 8 heaviest of 9, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Concurrent programming
concurrent data structures
0.932018
Getting to the Root of Concurrent Binary Search Tree Performance · USENIX ATC 2018
Harnessing epoch-based reclamation for efficient range queries · PPoPP 2018
Predicate RCU: an RCU for scalable concurrent updates · PPoPP 2015
Parallel and multicore computing › concurrent data structures
memory reclamation
0.622018
Harnessing epoch-based reclamation for efficient range queries · PPoPP 2018
POSTER: Reuse, don't Recycle: Transforming Algorithms that Throw Away Descriptors · PPoPP 2017
Concurrent programming › concurrent data structures
concurrent binary search tree
0.522018
Getting to the Root of Concurrent Binary Search Tree Performance · USENIX ATC 2018
Concurrent updates with RCU: search tree as an example · PODC 2014
Concurrent programming › synchronization
read-copy-update
0.422015
Predicate RCU: an RCU for scalable concurrent updates · PPoPP 2015
Concurrent updates with RCU: search tree as an example · PODC 2014
Parallel and multicore computing › concurrent data structures › memory reclamation
epoch-based reclamation
0.312018
Harnessing epoch-based reclamation for efficient range queries · PPoPP 2018
Concurrent programming › non-blocking algorithms
lock-free algorithms
0.312017
POSTER: Reuse, don't Recycle: Transforming Algorithms that Throw Away Descriptors · PPoPP 2017
Concurrent programming › synchronization
synchronization primitives
0.212015
Predicate RCU: an RCU for scalable concurrent updates · PPoPP 2015
Concurrent programming › synchronization
fine-grained locking
0.112014
Concurrent updates with RCU: search tree as an example · PODC 2014

Methods — techniques the papers use, named apart from their topics

transactional memory · 0.7lock-free techniques · 0.7helping mechanism · 0.6predicate-based synchronization · 0.2read-copy-update · 0.2fine-grained locking · 0.2
YearPublicationVenuePosition
2018 Harnessing epoch-based reclamation for efficient range queries
abstract
Concurrent sets with range query operations are highly desirable in applications such as in-memory databases. However, few set implementations offer range queries. Known techniques for augmenting data structures with range queries (or operations that can be used to build range queries) have numerous problems that limit their usefulness. For example, they impose high overhead or rely heavily on garbage collection. In this work, we show how to augment data structures with highly efficient range queries, without relying on garbage collection. We identify a property of epoch-based memory reclamation algorithms that makes them ideal for implementing range queries, and produce three algorithms, which use locks, transactional memory and lock-free techniques, respectively. Our algorithms are applicable to more data structures than previous work, and are shown to be highly efficient on a large scale Intel system.
Maya Arbel-Raviv, Trevor Brown 0001
PPoPP1
2018 Getting to the Root of Concurrent Binary Search Tree Performance
Maya Arbel-Raviv, Trevor Brown 0001, Adam Morrison 0001
USENIX ATC1
2017 POSTER: Reuse, don't Recycle: Transforming Algorithms that Throw Away Descriptors
abstract
Lock-free algorithms guarantee progress by having threads help one another. Complex lock-free operations facilitate helping by creating descriptor objects that describe how other threads should help them. In many lock-free algorithms, a new descriptor is allocated for each operation. After an operation completes, its descriptor must be reclaimed by a memory reclamation scheme. Allocating and reclaiming descriptors introduces significant space and time overhead.
Maya Arbel-Raviv, Trevor Brown 0001
PPoPP1
2017 Reuse, Don't Recycle: Transforming Lock-Free Algorithms That Throw Away Descriptors
abstract
In many lock-free algorithms, threads help one another, and each operation creates a descriptor that describes how other threads should help it. Allocating and reclaiming descriptors introduces significant space and time overhead. We introduce the first descriptor abstract data type (ADT), which captures the usage of descriptors by lock-free algorithms. We then develop a weak descriptor ADT which has weaker semantics, but can be implemented significantly more efficiently. We show how a large class of lock-free algorithms can be transformed to use weak descriptors, and demonstrate our technique by transforming several algorithms, including the leading k-compare-and-swap (k-CAS) algorithm. The original k-CAS algorithm allocates at least k+1 new descriptors per k-CAS. In contrast, our implementation allocates two descriptors per process, and each process simply reuses its two descriptors. Experiments on a variety of workloads show significant performance improvements over implementations that reclaim descriptors, and reductions of up to three orders of magnitude in peak memory usage.
Maya Arbel-Raviv, Trevor Brown 0001
DISC1
2015 Predicate RCU: an RCU for scalable concurrent updates
abstract
Read-copy update (RCU) is a shared memory synchronization mechanism with scalable synchronization-free reads that nevertheless execute correctly with concurrent updates. To guarantee the consistency of such reads, an RCU update transitioning the data structure between certain states must wait for the completion of all existing reads. Unfortunately, these waiting periods quickly become a bottleneck, and thus RCU remains unused in data structures that require scalable, fine-grained, update operations. To solve this problem, we present Predicate RCU (PRCU), an RCU variant in which an update waits only for the reads whose consistency it affects, which are specified by a user-supplied predicate. We explore the trade-offs in implementing PRCU, describing implementations that reduce wait times by 10--100x with varying overhead on reads on modern x86 multiprocessor machines. We demonstrate the applicability of PRCU by applying it to two RCU-based concurrent algorithms---the Citrus binary search tree and a resizable hash table---and show experimentally that PRCU significantly improves the performance of both algorithms.
Maya Arbel-Raviv, Adam Morrison 0001
PPoPP1
2015 Towards Automatic Lock Removal for Scalable Synchronization
Maya Arbel-Raviv, Guy Golan-Gueta, Eshcar Hillel, Idit Keidar
DISC1
2014 Concurrent updates with RCU: search tree as an example
abstract
Read copy update (RCU) is a novel synchronization mechanism, in which the burden of synchronization falls completely on the updaters, by having them wait for all pre-existing readers to finish their read-side critical section. This paper presents citrus, a concurrent binary search tree (BST) with a wait-free Contains operation, using RCU synchronization and fine-grained locking for synchronization among updaters. This is the first RCU-based data structure that allows concurrent updaters. While there are methodologies for using RCU to coordinate between readers and updaters, they do not address the issue of coordination among updaters, and indeed, all existing RCU-based data structures rely on coarse-grained synchronization between updaters.
Maya Arbel-Raviv, Hagit Attiya
PODC1