English
Related papers

Related papers: Practical Multiwriter Lock-Free Queues for "Hard R…

200 papers

In the online packet buffering problem (also known as the unweighted FIFO variant of buffer management), we focus on a single network packet switching device with several input ports and one output port. This device forwards unit-size,…

Data Structures and Algorithms · Computer Science 2012-08-15 Marcin Bienkowski

We study the design of storage-efficient algorithms for emulating atomic shared memory over an asynchronous, distributed message-passing system. Our first algorithm is an atomic single-writer multi-reader algorithm based on a novel…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-06-27 Marwen Zorgui , Robert Mateescu , Filip Blagojevic , Cyril Guyot , Zhiying Wang

Shared registers are basic objects used as communication mediums in asynchronous concurrent computation. A concurrent timestamp system is a higher typed communication object, and has been shown to be a powerful tool to solve many…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Sibsankar Haldar , Paul Vitanyi

This paper studies queueing problems with an endogenous number of machines with and without an initial queue, the novelty being that coalitions not only choose how to queue, but also on how many machines. For a given problem, agents can…

Theoretical Economics · Economics 2022-12-01 Ata Atay , Christian Trudeau

This paper presents a new and practical approach to lock-free locks based on helping, which allows the user to write code using fine-grained locks, but run it in a lock-free manner. Although lock-free locks have been suggested in the past,…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-02-01 Naama Ben-David , Guy E. Blelloch , Yuanhao Wei

Entry in: Encyclopedia of Algorithms, Ming-Yang Kao, Ed., Springer, To appear. Synonyms: Wait-free registers, wait-free shared variables, asynchronous communication hardware. Problem Definition: Consider a system of asynchronous processes…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Paul M. B. Vitanyi

Vector clock algorithms are basic wait-free building blocks that facilitate causal ordering of events. As wait-free algorithms, they are guaranteed to complete their operations within a finite number of steps. Stabilizing algorithms allow…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-12-25 Iosif Salem , Elad Michael Schiller

In an overloaded FaaS cluster, individual worker nodes strain under lengthening queues of requests. Although the cluster might be eventually horizontally-scaled, adding a new node takes dozens of seconds. As serving applications are tuned…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-11-01 Paweł Żuk , Bartłomiej Przybylski , Krzysztof Rzadca

Programmable packet scheduling allows the deployment of scheduling algorithms into existing switches without need for hardware redesign. Scheduling algorithms are programmed by tagging packets with ranks, indicating their desired priority.…

Networking and Internet Architecture · Computer Science 2023-08-03 Albert Gran Alcoz , Balázs Vass , Gábor Rétvári , Laurent Vanbever

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

A multiplicity queue is a concurrently-defined data type which relaxes the conditions of a linearizable FIFO queue to allow concurrent Dequeue instances to return the same value. It would seem that this should allow faster implementations,…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-05-22 Anh Tran , Edward Talmage

Massive machine-type communications protocols have typically been designed under the assumption that coordination between users requires significant communication overhead and is thus impractical. Recent progress in efficient activity…

Information Theory · Computer Science 2022-07-12 Justin Kang , Wei Yu

Motivated by the Quality-of-Service (QoS) buffer management problem, we consider online scheduling of packets with hard deadlines in a finite capacity queue. At any time, a queue can store at most $b \in \mathbb Z^+$ packets. Packets arrive…

Data Structures and Algorithms · Computer Science 2009-02-09 Fei Li

In this paper, we introduce two algorithms that solve the mutual exclusion problem for concurrent processes that communicate through shared variables, [2]. Our algorithms guarantee that any process trying to enter the critical section,…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-03-26 Jordi Bataller Mascarell

This paper considers the communication and storage costs of emulating atomic (linearizable) multi-writer multi-reader shared memory in distributed message-passing systems. The paper contains three main contributions: (1) We present a atomic…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-07-17 Viveck R. Cadambe , Nancy Lynch , Muriel Médard , Peter Musial

In this paper, we give theoretically and practically efficient implementations of Big Atomics, i.e., $k$-word linearizable registers that support the load, store, and compare-and-swap (CAS) operations. While modern hardware supports $k = 1$…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-01-14 Daniel Anderson , Guy E. Blelloch , Siddhartha Jayanti

Relaxing the sequential specification of a shared object is a way to obtain an implementation with better performance compared to implementing the original specification. We apply this approach to the Counter object, under the assumption…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-02-23 Colette Johnen , Adnane Khattabi , Alessia Milani , Jennifer L. Welch

Many computer systems for calculating the proper organization of memory are among the most critical issues. Using a tier cache memory (along with branching prediction) is an effective means of increasing modern multi-core processors'…

Networking and Internet Architecture · Computer Science 2021-05-21 Mohamed A. Hamada , Abdelrahman Abdallah

Gibbons and Korach studied a fundamental problem in 1997: given an observed sequence of reads and writes of a multi-threaded program, does there exist an interleaving which is sequentially consistent? Apart from applications in testing…

Programming Languages · Computer Science 2026-05-12 R. Govind , S. Krishna , Sanchari Sil , B. Srivathsan

In this paper we address the problem of designing an interruptible system in a setting in which $n$ problem instances, all equally important, must be solved concurrently. The system involves scheduling executions of contract algorithms…

Data Structures and Algorithms · Computer Science 2018-10-29 Spyros Angelopoulos , Alejandro Lopez-Ortiz