English
Related papers

Related papers: Lock-Free and Practical Deques using Single-Word C…

200 papers

The Simplex tableau has been broadly used and investigated in the industry and academia. With the advent of the big data era, ever larger problems are posed to be solved in ever larger machines whose architecture type did not exist in the…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-05-29 Demetrios Coutinho , Felipe O. Lins e Silva , Daniel Aloise , Samuel , Xavier-de-Souza

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

We present "Reciprocating Locks", a novel mutual exclusion locking algorithm, targeting cache-coherent shared memory (CC), that enjoys a number of desirable properties. The doorway arrival phase and the release operation both run in…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-07-14 Dave Dice , Alex Kogan

Now days, manufacturers are focusing on increasing the concurrency in multiprocessor system-on-a-chip (MPSoC) architecture instead of increasing clock speed, for embedded systems. Traditionally lock-based synchronization is provided to…

Hardware Architecture · Computer Science 2012-02-06 Shaily Mittal , Nitin

Data race conditions in multi-tasking software applications are prevented by serializing access to shared memory resources, ensuring data consistency and deterministic behavior. Traditionally tasks acquire and release locks to synchronize…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-01-24 K. Eric Harper , Thijmen de Gooijer

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

We discuss how string sorting algorithms can be parallelized on modern multi-core shared memory machines. As a synthesis of the best sequential string sorting algorithms and successful parallel sorting algorithms for atomic objects, we…

Data Structures and Algorithms · Computer Science 2013-05-07 Timo Bingmann , Peter Sanders

The lock is a building-block synchronization primitive that enables mutually exclusive access to shared data in shared-memory parallel programs. Mutual exclusion is typically achieved by guarding the code that accesses the shared data with…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-04-25 Vivek Shahare , Milind Chabbi , Nikhil Hegde

Concurrent data structures are the data sharing side of parallel programming. Data structures give the means to the program to store data, but also provide operations to the program to access and manipulate these data. These operations are…

Distributed, Parallel, and Cluster Computing · Computer Science 2013-02-13 Daniel Cederman , Anders Gidenstam , Phuong Ha , Håkan Sundell , Marina Papatriantafilou , Philippas Tsigas

Priority queues with parallel access are an attractive data structure for applications like prioritized online scheduling, discrete event simulation, or greedy algorithms. However, a classical priority queue constitutes a severe bottleneck…

Data Structures and Algorithms · Computer Science 2021-07-23 Marvin Williams , Peter Sanders , Roman Dementiev

Verification of concurrent data structures is one of the most challenging tasks in software verification. The topic has received considerable attention over the course of the last decade. Nevertheless, human-driven techniques remain…

Programming Languages · Computer Science 2018-11-12 Roland Meyer , Sebastian Wolff

Modern concurrent programming benefits from a large variety of synchronization techniques. These include conventional pessimistic locking, as well as optimistic techniques based on conditional synchronization primitives or transactional…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-10-15 Vincent Gramoli , Petr Kuznetsov , Srivatsan Ravi

Deadlocks occur in concurrent programs as a consequence of cyclic resource acquisition between threads. In this paper we present a novel type system that guarantees deadlock freedom for a language with references, unstructured locking…

Programming Languages · Computer Science 2011-10-20 Prodromos Gerakios , Nikolaos Papaspyrou , Konstantinos Sagonas

Concurrency has been a subject of study for more than 50 years. Still, many developers struggle to adapt their sequential code to be accessed concurrently. This need has pushed for generic solutions and specific concurrent data structures.…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-11-06 Andreia Correia , Pedro Ramalhete , Pascal Felber

This article presents a signature-free distributed algorithm which builds an atomic read/write shared memory on top of an $n$-process asynchronous message-passing system in which up to $t<n/3$ processes may commit Byzantine failures. From a…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-04-28 Achour Mosteafoui , Matoula Petrolia , Michel Raynal , Claude Jard

The mutual-exclusion property of locks stands in the way to scalability of parallel programs on many-core architectures. Locks do not allow progress guarantees, because a task may fail inside a critical section and keep holding a lock that…

Programming Languages · Computer Science 2018-06-20 Johann Blieberger , Bernd Burgstaller

This paper introduces OPTIMUM-DERAM, a highly consistent, scalable, secure, and decentralized shared memory solution. Traditional distributed shared memory implementations offer multi-object support by multi-threading a single object memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-01-21 Nicolas Nicolaou , Kishori M. Konwar , Moritz Grundei , Aleksandr Bezobchuk , Muriel Médard , Sriram Vishwanath

Graph algorithms applied in many applications, including social networks, communication networks, VLSI design, graphics, and several others, require dynamic modifications -- addition and removal of vertices and/or edges -- in the graph.…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-01-16 Bapi Chatterjee , Sathya Peri , Muktikanta Sa , Nandini Singhal

A quotient filter is a cache efficient AMQ data structure. Depending on the fill degree of the filter most insertions and queries only need to access one or two consecutive cache lines. This makes quotient filters fast compared to the more…

Data Structures and Algorithms · Computer Science 2019-11-20 Tobias Maier , Peter Sanders , Robert Williger

Achieving efficient task parallelism on many-core architectures is an important challenge. The widely used GNU OpenMP implementation of the popular OpenMP parallel programming model incurs high overhead for fine-grained, short-running tasks…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-20 Wenyi Wang , Maxime Gonthier , Poornima Nookala , Haochen Pan , Ian Foster , Ioan Raicu , Kyle Chard