English
Related papers

Related papers: Sequential Consistency and Concurrent Data Structu…

200 papers

While a number of weak consistency mechanisms have been developed in recent years to improve performance and ensure availability in distributed, replicated systems, ensuring correctness of transactional applications running on top of such…

Programming Languages · Computer Science 2018-06-25 Kartik Nagar , Suresh Jagannathan

We present algorithms for checking and enforcing robustness of concurrent programs against the Total Store Ordering (TSO) memory model. A program is robust if all its TSO computations correspond to computations under the Sequential…

Programming Languages · Computer Science 2012-10-30 Ahmed Bouajjani , Egor Derevenetc , Roland Meyer

Over the last thirty years, numerous consistency conditions for replicated data have been proposed and implemented. Popular examples of such conditions include linearizability (or atomicity), sequential consistency, causal consistency, and…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-10-23 Roy Friedman , Michel Raynal , François Taïani

This article aims to describe and explain the theoretical foundations of concurrent and set concurrent algorithms, considering an asynchronous shared memory system where any number of processes can crash. Verification of concurrent…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-07-27 Jose Damian Lopez Diaz

In a network of dynamical systems, concurrent synchronization is a regime where multiple groups of fully synchronized elements coexist. In the brain, concurrent synchronization may occur at several scales, with multiple ``rhythms''…

Neurons and Cognition · Quantitative Biology 2007-05-23 Quang-Cuong Pham , Jean-Jacques Slotine

Linearizability is a well-known correctness property for concurrent and distributed systems. In the past, it was also used to prove the design and implementation of replicated state-machines correct. State-machine replication (SMR) is a…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-07-03 Franz J. Hauck , Alexander Heß

Consistency properties provided by most key-value stores can be classified into sequential consistency and eventual consistency. The former is easier to program with but suffers from lower performance whereas the latter suffers from…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-09-06 Duong Nguyen , Aleksey Charapko , Sandeep S Kulkarni , Murat Demirbas

Causal consistency for key-value stores has two main requirements (1) do not make a version visible if some of its dependencies are invisible as it may violate causal consistency in the future and (2) make a version visible as soon as…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-03-26 Mohammad Roohitavaf , Sandeep Kulkarni

Efficient implementations of atomic objects such as concurrent stacks and queues are especially susceptible to programming errors, and necessitate automatic verification. Unfortunately their correctness criteria - linearizability with…

Logic in Computer Science · Computer Science 2015-05-26 Ahmed Bouajjani , Michael Emmi , Constantin Enea , Jad Hamza

Applications in machine learning, optimization, and control require the sequential selection of a few system elements, such as sensors, data, or actuators, to optimize the system performance across multiple time steps. However, in…

Machine Learning · Statistics 2020-12-17 Vasileios Tzoumas , Ali Jadbabaie , George J. Pappas

Recent decades have witnessed a surge in the development of concurrent data structures with an increasing interest in data structures implementing concurrent sets (CSets). Microbenchmarking tools are frequently utilized to evaluate and…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-12-09 Rosina F. Kharal , Trevor Brown

A memory consistency model specifies the allowed behaviors of shared memory concurrent programs. At the language level, these models are known to have a non-trivial impact on the safety of program optimizations, limiting the ability to…

Programming Languages · Computer Science 2025-03-11 Akshay Gopalakrishnan , Clark Verbrugge , Mark Batty

Linearizability is a commonly accepted consistency condition for concurrent objects. Filipovi\'{c} et al. show that linearizability is equivalent to observational refinement. However, linearizability does not permit concurrent objects to…

Software Engineering · Computer Science 2018-06-22 Tangliu Wen

In the interleaving model of concurrency, where events are totally ordered, linearizability is compositional: the composition of two linearizable objects is guaranteed to be linearizable. However, linearizability is not compositional when…

Logic in Computer Science · Computer Science 2018-02-07 Simon Doherty , John Derrick , Brijesh Dongol , Heike Wehrheim

When verifying a concurrent program, it is usual to assume that memory is sequentially consistent. However, most modern multiprocessors depend on store buffering for efficiency, and provide native sequential consistency only at a…

Logic in Computer Science · Computer Science 2009-09-28 Ernie Cohen , Norbert Schirmer

Concurrency, the art of doing many things at the same time is slowly becoming a science. It is very difficult to master, yet it arises all over modern computing systems, both when the communication medium is shared memory and when it is by…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-12-17 Sergio Rajsbaum , Michel Raynal

We present a lattice of distributed program specifications, whose ordering represents implementability/refinement. Specifications are modelled by families of subsets of relative execution traces, which encode the local orderings of state…

Logic in Computer Science · Computer Science 2023-04-25 Nasos Evangelou-Oost , Callum Bannister , Ian J. Hayes

The memory consistency model is a fundamental system property characterizing a multiprocessor. The relative merits of strict versus relaxed memory models have been widely debated in terms of their impact on performance, hardware complexity…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-04-07 Alexander Jaffe , Thomas Moscibroda , Laura Effinger-Dean , Luis Ceze , Karin Strauss

The recent advancements in multicore machines highlight the need to simplify concurrent programming in order to leverage their computational power. One way to achieve this is by designing efficient concurrent data structures (e.g. stacks,…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-03-31 Nikolaos D. Kallimanis

Linearizability is a commonly accepted notion of correctness for libraries of concurrent algorithms, and recent years have seen a number of proposals of program logics for proving it. Although these logics differ in technical details, they…

Programming Languages · Computer Science 2016-09-06 Artem Khyzha , Alexey Gotsman , Matthew Parkinson