37 citations · 76 across the 20 of their papers we have counts for
15 papers · 1 filter
Separation and Equivalence results for the Crash-stop and Crash-recovery Shared Memory Models
Ohad Ben-Baruch, Srivatsan Ravi
Linearizability, the traditional correctness condition for concurrent data structures is considered insufficient for the non-volatile shared memory model where processes recover fo…
Programming Scalable Cloud Services with AEON
Bo Sang, Gustavo Petri, Masoud Saeida Ardekani +2
Designing low-latency cloud-based applications that are adaptable to unpredictable workloads and efficiently utilize modern cloud computing platforms is hard. The actor model is a…
On the Cost of Concurrency in Hybrid Transactional Memory
Trevor Brown, Srivatsan Ravi
State-of-the-art \emph{software transactional memory (STM)} implementations achieve good performance by carefully avoiding the overhead of \emph{incremental validation} (i.e., re-r…
Merge: An Architecture for Interconnected Testbed Ecosystems
Ryan Goodfellow, Lincoln Thurlow, Srivatsan Ravi
In the cybersecurity research community, there is no one-size-fits-all solution for merging large numbers of heterogeneous resources and experimentation capabilities from disparate…
Generalized Paxos Made Byzantine (and Less Complex)
Miguel Pires, Srivatsan Ravi, Rodrigo Rodrigues
One of the most recent members of the Paxos family of protocols is Generalized Paxos. This variant of Paxos has the characteristic that it departs from the original specification o…
A Concurrency-Optimal Binary Search Tree
Vitaly Aksenov, Vincent Gramoli, Petr Kuznetsov +2
The paper presents the first \emph{concurrency-optimal} implementation of a binary search tree (BST). The implementation, based on a standard sequential implementation of an intern…
In the Search of Optimal Concurrency
Vincent Gramoli, Petr Kuznetsov, Srivatsan Ravi
Implementing a concurrent data structure typically begins with defining its sequential specification. However, when used \emph{as is}, a nontrivial sequential data structure, such…
Progressive Transactional Memory in Time and Space
Petr Kuznetsov, Srivatsan Ravi
Transactional memory (TM) allows concurrent processes to organize sequences of operations on shared \emph{data items} into atomic transactions. A transaction may commit, in which c…
Why Transactional Memory Should Not Be Obstruction-Free
Petr Kuznetsov, Srivatsan Ravi
Transactional memory (TM) is an inherently optimistic abstraction: it allows concurrent processes to execute sequences of shared-data accesses (transactions) speculatively, with an…
A Concurrency-Optimal List-Based Set
Vitaly Aksenov, Vincent Gramoli, Petr Kuznetsov +2
Designing an efficient concurrent data structure is an important challenge that is not easy to meet. Intuitively, efficiency of an implementation is defined, in the first place, by…
On Partial Wait-Freedom in Transactional Memory
Petr Kuznetsov, Srivatsan Ravi
Transactional memory (TM) is a convenient synchronization tool that allows concurrent threads to declare sequences of instructions on shared data as speculative \emph{transactions}…
Inherent Limitations of Hybrid Transactional Memory
Dan Alistarh, Justin Kopinsky, Petr Kuznetsov +2
Several Hybrid Transactional Memory (HyTM) schemes have recently been proposed to complement the fast, but best-effort, nature of Hardware Transactional Memory (HTM) with a slow, r…
Safety of Deferred Update in Transactional Memory
Hagit Attiya, Sandeep Hans, Petr Kuznetsov +1
Transactional memory allows the user to declare sequences of instructions as speculative \emph{transactions} that can either \emph{commit} or \emph{abort}. If a transaction commits…
Optimism for Boosting Concurrency
Vincent Gramoli, Petr Kuznetsov, Srivatsan Ravi
Modern concurrent programming benefits from a large variety of synchronization techniques. These include conventional pessimistic locking, as well as optimistic techniques based on…
On the Cost of Concurrency in Transactional Memory
Petr Kuznetsov, Srivatsan Ravi
The crux of software transactional memory (STM) is to combine an easy-to-use programming interface with an efficient utilization of the concurrent-computing abilities provided by m…