English
Related papers

Related papers: Safe Non-blocking Synchronization in Ada 202x

200 papers

We present an efficient and practical lock-free implementation of a concurrent deque that is disjoint-parallel accessible and uses atomic primitives which are available in modern computer systems. Previously known lock-free algorithms of…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Håkan Sundell , Philippas Tsigas

Constrained coding plays a key role in optimizing performance and mitigating errors in applications such as storage and communication, where specific constraints on codewords are required. While non-parametric constraints have been…

Information Theory · Computer Science 2025-05-05 Daniella Bar-Lev , Michael Shlizerman

The idle computers on a local area, campus area, or even wide area network represent a significant computational resource---one that is, however, also unreliable, heterogeneous, and opportunistic. This type of resource has been used…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Adriana Iamnitchi , Ian Foster

Modern-day computer security relies heavily on cryptography as a means to protect the data that we have become increasingly reliant on. The main research in computer security domain is how to enhance the speed of RSA algorithm. The…

Cryptography and Security · Computer Science 2014-07-08 Sonam Mahajan , Maninder Singh

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

We address the problem of statically checking safety properties (such as assertions or deadlocks) for parameterized phaser programs. Phasers embody a non-trivial and modern synchronization construct used to orchestrate executions of…

Programming Languages · Computer Science 2021-05-13 Zeinab Ganjei , Ahmed Rezine , Ludovic Henrio , Petru Eles , Zebo Peng

The processor accelerators are effective because they are working not (completely) on principles of stored program computers. They use some kind of parallelism, and it is rather hard to program them effectively: a parallel architecture by…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-08-26 János Végh

CXL (Compute Express Link) is an emerging open industry-standard interconnect between processing and memory devices that is expected to revolutionize the way systems are designed. It enables cache-coherent, shared memory pools in a…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-01-27 Gal Assa , Moritz Lumme , Lucas Bürgi , Michal Friedman , Ori Lahav

In this paper, we first propose a new liveness requirement for shared objects and data structures, we then give a shared queue algorithm that satisfies this requirement and we prove its correctness. We also implement this algorithm and…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-03-23 David Y. C. Chan , Shucheng Chi , Vassos Hadzilacos , Sam Toueg

Recently, we have proposed coordinated choices, which are nondeterministic choices equipped with names. The main characteristic of coordinated choices is that they synchronize nondeterministic decision among choices of the same name. The…

Programming Languages · Computer Science 2020-05-05 Yuki Nishida , Atsushi Igarashi

Linearizability is the gold standard of correctness conditions for shared memory algorithms, and historically has been considered the practical equivalent of atomicity. However, it has been shown [1] that replacing atomic objects with…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-08-29 Sean Ovens , Philipp Woelfel

Because most optimisations to achieve higher computational performance eventually are limited, parallelism that scales is required. Parallelised hardware alone is not sufficient, but software that matches the architecture is required to…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-11 Oskar Schirmer

Based on the two observations that diverse applications perform better on different multicore architectures, and that different phases of an application may have vastly different resource requirements, Pal et al. proposed a novel…

Programming Languages · Computer Science 2016-06-21 Sanjiva Prasad

Semaphores are a widely used and foundational synchronization and coordination construct used for shared memory multithreaded programming. They are a keystone concept, in the sense that most other synchronization constructs can be…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-23 Dave Dice , Alex Kogan

The LOCAL model is among the main models for studying locality in the framework of distributed network computing. This model is however subject to pertinent criticisms, including the facts that all nodes wake up simultaneously, perform in…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-12-09 Carole Delporte-Gallet , Hugues Fauconnier , Pierre Fraigniaud , Mikaël Rabie

Atomic shared objects, whose operations take place instantaneously, are a powerful abstraction for designing complex concurrent programs. Since they are not always available, they are typically substituted with software implementations. A…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-03-02 Hagit Attiya , Constantin Enea , Jennifer L. Welch

This paper investigates co-scheduling algorithms for processing a set of parallel applications. Instead of executing each application one by one, using a maximum degree of parallelism for each of them, we aim at scheduling several…

Data Structures and Algorithms · Computer Science 2013-05-01 Guillaume Aupy , Manu Shantharam , Anne Benoit , Yves Robert , Padma Raghavan

Memory management in lock-free data structures remains a major challenge in concurrent programming. Design techniques including read-copy-update (RCU) and hazard pointers provide workable solutions, and are widely used to great effect.…

Programming Languages · Computer Science 2019-02-20 Ismail Kuru , Colin S. Gordon

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

Storage systems have not kept the same technology improvement rate as computing systems. As applications produce more and more data, I/O becomes the limiting factor for increasing application performance. I/O congestion caused by concurrent…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-11-03 Hatem Elshazly , Jorge Ejarque , Francesc Lordan , Rosa M. Badia