English
Related papers

Related papers: Analyzing the Performance of Lock-Free Data Struct…

200 papers

We study the problem of constructing concurrent objects in a setting where $P$ processes run in parallel and interact through a shared memory that is subject to write contention. Our goal is to transform hardware primitives that are subject…

Data Structures and Algorithms · Computer Science 2026-04-17 Michael A. Bender , Guy E. Blelloch , Martin Farach-Colton , Yang Hu , Rob Johnson , Rotem Oshman , Renfei Zhou

Background: Distributed data-intensive systems are increasingly designed to be only eventually consistent. Persistent data is no longer processed with serialized and transactional access, exposing applications to a range of potential…

Software Engineering · Computer Science 2021-08-10 Susanne Braun , Stefan Deßloch , Eberhard Wolff , Frank Elberzhager , Andreas Jedlitschka

Cloud computing refers to maximizing efficiency by sharing computational and storage resources, while data-parallel systems exploit the resources available in the cloud to perform parallel transformations over large amounts of data. In the…

Databases · Computer Science 2018-07-10 Matteo Interlandi , Letizia Tanca

Locks are a classic data structure for concurrent programming. We introduce a type system to ensure that names of the asynchronous pi-calculus are used as locks. Our calculus also features a construct to deallocate a lock once we know that…

Logic in Computer Science · Computer Science 2023-09-15 Daniel Hirschkoff , Enguerrand Prebet

Traditional techniques for synchronization are based on \emph{locking} that provides threads with exclusive access to shared data. \emph{Coarse-grained} locking typically forces threads to access large amounts of data sequentially and,…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-06 Srivatsan Ravi

Union-Find (or Disjoint-Set Union) is one of the fundamental problems in computer science; it has been well-studied from both theoretical and practical perspectives in the sequential case. Recently, there has been mounting interest in…

Data Structures and Algorithms · Computer Science 2019-11-18 Dan Alistarh , Alexander Fedorov , Nikita Koval

Implementing a concurrent data structure typically begins with defining its sequential specification. However, when used \emph{as is}, a nontrivial sequential data structure, such as a linked list, a search tree, or a hash table, may expose…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-03-07 Vincent Gramoli , Petr Kuznetsov , Srivatsan Ravi

Logical atomicity has been widely accepted as a specification format for data structures in concurrent separation logic. While both lock-free and lock-based data structures have been verified against logically atomic specifications, most of…

Programming Languages · Computer Science 2023-04-28 Roshan Sharma , Shengyi Wang , Alexander Oey , Anastasiia Evdokimova , Lennart Beringer , William Mansky

Scheduling a set of jobs over a collection of machines is a fundamental problem that needs to be solved millions of times a day in various computing platforms: in operating systems, in large data clusters, and in data centers. Along with…

Data Structures and Algorithms · Computer Science 2018-07-10 Janardhan Kulkarni , Shi Li

Logic locking protects the integrity of hardware designs throughout the integrated circuit supply chain. However, recent machine learning (ML)-based attacks have challenged its fundamental security, initiating the requirement for the design…

Cryptography and Security · Computer Science 2023-05-04 Zeng Wang , Lilas Alrahis , Dominik Sisejkovic , Ozgur Sinanoglu

Non-volatile memory (NVM) promises persistent main memory that remains correct despite loss of power. This has sparked a line of research into algorithms that can recover from a system crash. Since caches are expected to remain volatile,…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-06-22 Naama Ben-David , Guy E. Blelloch , Michal Friedman , Yuanhao Wei

The outsourcing of semiconductor manufacturing raises security risks, such as piracy and overproduction of hardware intellectual property. To overcome this challenge, logic locking has emerged to lock a given circuit using additional key…

Cryptography and Security · Computer Science 2025-01-30 Kevin Lopez , Amin Rezaei

We consider a parallel system of $m$ identical machines prone to unpredictable crashes and restarts, trying to cope with the continuous arrival of tasks to be executed. Tasks have different computational requirements (i.e., processing time…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-03-21 Elli Zavou , Antonio Fernández Anta

Making threaded programs safe and easy to reason about is one of the chief difficulties in modern programming. This work provides an efficient execution model for SCOOP, a concurrency approach that provides not only data race freedom but…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-07-28 Scott West , Sebastian Nanz , Bertrand Meyer

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

The queue is conceptually one of the simplest data structures-a basic FIFO container. However, ensuring correctness in the presence of concurrency makes existing lock-free implementations significantly more complex than their original form.…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-11-13 Yusuf Motiwala

Flat combining (FC) is a synchronization paradigm in which a single thread, holding a global lock, collects requests by multiple threads for accessing a concurrent data structure and applies their combined requests to it. Although FC is…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-12-10 Matan Rusanovsky , Hagit Attiya , Ohad Ben-Baruch , Tom Gerby , Danny Hendler , Pedro Ramalhete

An obstruction-free implementation guarantees progress to every operation that is given enough time to take steps in isolation. But, as we show in this paper, the mere presence of concurrent operations alone does not have to prevent…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-05-20 Petr Kuznetsov , Pierre Sutra , Guillermo Toyos-Marfurt

Distributed computing often gives rise to complex concurrent and interacting activities. In some cases several concurrent activities may be working together, i.e. cooperating, to solve a given problem; in other cases, the activities may be…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-11-12 Jie Xu , Brian Randell , Alexander Romanovsky , Robert J. Stroud , Avelino F. Zorzo

In this paper, we propose an efficient concurrent wait-free algorithm to construct an unbounded directed graph for shared memory architecture. To the best of our knowledge that this is the first wait-free algorithm for an unbounded directed…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-05-13 Sathya Peri , Chandra Kiran Reddy , Muktikanta Sa