English
Related papers

Related papers: A History of BlockingQueues

200 papers

There is often a sort of a protocol associated to each class, stating when and how certain methods should be called. Given that this protocol is, if at all, described in the documentation accompanying the class, current mainstream…

Programming Languages · Computer Science 2011-10-20 Joana Campos , Vasco T. Vasconcelos

This paper considers the modeling and the analysis of the performance of lock-free concurrent data structures. Lock-free designs employ an optimistic conflict control mechanism, allowing several processes to access the shared data object at…

Data Structures and Algorithms · Computer Science 2015-08-17 Aras Atalar , Paul Renaud-Goud , Philippas Tsigas

In this paper, we propose a generic concurrent directed graph (for shared memory architecture) that is concurrently being updated by threads adding/deleting vertices and edges. The graph is constructed by the composition of the well known…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-11-01 Sathya Peri , Muktikanta Sa , Nandini Singhal

Motivated by the advances of quantum Darwinism and recognizing the role played by redundancy in identifying the small subset of quantum states with resilience characteristic of objective classical reality, we explore the implications of…

Quantum Physics · Physics 2016-04-15 C. Jess Riedel , Wojciech H. Zurek , Michael Zwolak

Priority queues are used in a wide range of applications, including prioritized online scheduling, discrete event simulation, and greedy algorithms. In parallel settings, classical priority queues often become a severe bottleneck, resulting…

Data Structures and Algorithms · Computer Science 2025-04-17 Marvin Williams , Peter Sanders

Distributed applications often deal with data with different consistency requirements: while a post in a social network only requires weak consistency, the user balance in turn has strong correctness requirements, demanding mutations to be…

Symbolic Computation · Computer Science 2023-01-02 Marco Giunti , Hervé Paulino , António Ravara

Designing concurrent data structures should follow some basic rules. By separating the algorithms into two phases, we present guidelines for scalable data structures, with a analysis model based on the Amadal's law. To the best of our…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-06-02 Keren Zhou , Guocheng Niu , Wuzhao Zhang , Xueqi Li , Wenqin Liu

This paper presents a theory for the refinement of shared-memory concurrent algorithms from specifications. We augment pre and post condition specifications with Jones' rely and guarantee conditions, all of which are encoded as commands…

Logic in Computer Science · Computer Science 2023-09-12 Ian J. Hayes , Larissa A. Meinicke , Patrick A. Meiring

Specification mining offers a solution by automating security specification for hardware. Specification miners use a form of machine learning to specify behaviors of a system by studying a system in execution. However, specification mining…

Cryptography and Security · Computer Science 2021-08-23 Calvin Deutschbein

Efficient implementations of concurrent objects such as atomic collections are essential to modern computing. Programming such objects is error prone: in minimizing the synchronization overhead between concurrent object invocations, one…

Programming Languages · Computer Science 2017-07-04 Ahmed Bouajjani , Constantin Enea , Chao Wang

Dependency analysis is a technique to identify and determine data dependencies between service protocols. Protocols evolving concurrently in the service composition need to impose an order in their execution if there exist data…

Software Engineering · Computer Science 2010-07-30 Javier Cubo , Ernesto Pimentel , Gwen Salaün , Carlos Canal

Design by Constract (DBC) has influenced the development of formal specification languages that allow the mix of specification and implementation code, like Eiffel, the Java Modeling Language (JML) and Spec#. Meanwhile algebraic…

Software Engineering · Computer Science 2012-08-10 Nikolaos Triantafyllou , Petros Stefaneas , Panayiotis Frangos

FIFO queues are a fundamental data structure used in a wide range of applications. Concurrent FIFO queues allow multiple execution threads to access the queue simultaneously. Maintaining strict FIFO semantics in concurrent queues leads to…

Data Structures and Algorithms · Computer Science 2025-10-17 Stefan Koch , Peter Sanders , Marvin Williams

Linearizability, the de facto correctness condition for concurrent data structure implementations, despite its intuitive appeal is known to lead to poor scalability. This disadvantage has led researchers to design scalable data structures…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-06-17 Ali Sezgin

Correctness of concurrent objects is defined in terms of safety properties such as linearizability, sequential consistency, and quiescent consistency, and progress properties such as wait-, lock-, and obstruction-freedom. These properties,…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-03-07 Brijesh Dongol , Lindsay Groves

Parallel batched data structures are designed to process synchronized batches of operations in a parallel computing model. In this paper, we propose parallel combining, a technique that implements a concurrent data structure from a parallel…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-11-14 Vitaly Aksenov , Petr Kuznetsov , Anatoly Shalyto

Considering asynchronous shared memory systems in which any number of processes may crash, this work identifies and formally defines relaxations of queues and stacks that can be non-blocking or wait-free while being implemented using only…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-11-05 Armando Castañeda , Sergio Rajsbaum , Michel Raynal

We sketch a simple language of concurrent objects which explores the design space between type systems and continuous testing. In our language, programs are collections of communicating automata checked automatically for multiparty…

Programming Languages · Computer Science 2016-09-08 Roly Perera , Simon J. Gay

Consistency properties of concurrent computations, e.g., sequential consistency, linearizability, or eventual consistency, are essential for devising correct concurrent algorithms. In this paper, we present a logical formalization of such…

Logic in Computer Science · Computer Science 2013-05-13 Klaus v. Gleissenthall , Andrey Rybalchenko

Priority queues are abstract data structures which store a set of key/value pairs and allow efficient access to the item with the minimal (maximal) key. Such queues are an important element in various areas of computer science such as…

Data Structures and Algorithms · Computer Science 2015-09-24 Jakob Gruber