English
Related papers

Related papers: Two Mutual Exclusion Algorithms for Shared Memory

200 papers

We consider the problems of secret sharing and multiparty computation, assuming that agents prefer to get the secret (resp., function value) to not getting it, and secondarily, prefer that as few as possible of the other agents get it. We…

Computer Science and Game Theory · Computer Science 2007-05-23 Joseph Y. Halpern , Vanessa Teague

This paper presents the first generic bi-objective binary linear branch-and-cut algorithm. Studying the impact of valid inequalities in solution and objective spaces, two cutting frameworks are proposed. The multi-point separation problem…

Discrete Mathematics · Computer Science 2024-10-14 Pierre Fouilhoux , Lucas Létocart , Yue Zhang

High-performance computing on shared-memory/multi-core architectures could suffer from non-negligible performance bottlenecks due to coordination algorithms, which are nevertheless necessary to ensure the overall correctness and/or to…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-04-22 Alessandro Pellegrini , Francesco Quaglia

Logic programming has traditionally lacked devices for expressing mutually exclusive modules. We address this limitation by adopting choice-conjunctive modules of the form $D_0 \& D_1$ where $D_0, D_1$ are a conjunction of Horn clauses and…

Programming Languages · Computer Science 2015-06-17 Keehang Kwon

We consider asynchronous multiprocessor systems where processes communicate by accessing shared memory. Exchange of information among processes in such a multiprocessor necessitates costly memory accesses called \emph{remote memory…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-09-26 Wojciech Golab

We develop and prove sound a concurrent separation logic for Pthreads-style barriers. Although Pthreads barriers are widely used in systems, and separation logic is widely used for verification, there has not been any effort to combine the…

Logic in Computer Science · Computer Science 2015-07-01 Aquinas Hobor , Cristian Gherghina

Programs for multiprocessor machines commonly perform busy-waiting for synchronisation. In this paper, we make a first step towards proving termination of such programs. We approximate (i) arbitrary waitable events by abrupt program…

Logic in Computer Science · Computer Science 2020-10-19 Tobias Reinhard , Amin Timany , Bart Jacobs

We develop and analyze concurrent algorithms for the disjoint set union (union-find) problem in the shared memory, asynchronous multiprocessor model of computation, with CAS (compare and swap) or DCAS (double compare and swap) as the…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-03-04 Siddhartha V. Jayanti , Robert E. Tarjan

In light of recent advances in non-volatile main memory technology, Golab and Ramaraju reformulated the traditional mutex problem into the novel {\em Recoverable Mutual Exclusion} (RME) problem. In the best known solution for RME, due to…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-05-30 Prasad Jayanti , Siddhartha Jayanti , Anup Joshi

The critical path of a group of tasks is an important measure that is commonly used to guide task allocation and scheduling on parallel computers. The critical path is the longest chain of dependencies in an acyclic task dependence graph. A…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-02-01 Aravind Vasudevan , David Gregg

Timing side channels have been used to extract cryptographic keys and sensitive documents, even from trusted enclaves. In this paper, we focus on cache side channels created by access to shared code or data in the memory hierarchy. This…

Cryptography and Security · Computer Science 2021-12-20 Divya Ojha , Sandhya Dwarkadas

In scheduling and timetabling applications, the mutual-exclusion constraint stipulates that certain pairs of tasks that cannot be executed at the same time. This corresponds to the vertex colouring problem in graph theory, for which there…

Optimization and Control · Mathematics 2019-04-09 Jakub Marecek , Andrew J. Parkes

Different scheduling algorithms for mixed criticality systems have been recently proposed. The common denominator of these algorithms is to discard low critical tasks whenever high critical tasks are in lack of computation resources. This…

Operating Systems · Computer Science 2020-03-13 Jalil Boudjadar , Saravanan Ramanathan , Arvind Easwaran , Ulrik Nyman

Multi-threaded programs have traditionally fallen into one of two domains: cooperative and competitive. These two domains have traditionally remained mostly disjoint, with cooperative threading used for increasing throughput in…

Programming Languages · Computer Science 2018-07-11 Stefan K. Muller , Umut A. Acar , Robert Harper

We present Hemlock, a novel mutual exclusion locking algorithm that is extremely compact, requiring just one word per thread plus one word per lock, but which still provides local spinning in most circumstances, high throughput under…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-01-07 Dave Dice , Alex Kogan

Safe memory reclamation (SMR) algorithms are crucial for preventing use-after-free errors in optimistic data structures. SMR algorithms typically delay reclamation for safety and reclaim objects in batches for efficiency. It is difficult to…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-02-28 Ajay Singh , Trevor Brown , Michael Spear

Anonymous shared memory is a memory in which processes use different names for the same shared read/write register. As an example, a shared register named $A$ by a process $p$ and a shared register named $B$ by another process $q$ can…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-04-01 Emmanuel Godard , Damien Imbs , Michel Raynal , Gadi Taubenfeld

Taking snapshots of the state of a distributed computation is useful for off-line analysis of the computational state, for later restarting from the saved snapshot, for cloning a copy of the computation, and for migration to a new cluster.…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-10-09 Yao Xu , Gene Cooperman

Conventional cache models are not suited for real-time parallel processing because tasks may flush each other's data out of the cache in an unpredictable manner. In this way the system is not compositional so the overall performance is…

Hardware Architecture · Computer Science 2011-11-09 A. M. Molnos , M. J. M. Heijligers , S. D. Cotofana , J. T. J. Van Eijndhoven

Priority queues are fundamental abstract data structures, often used to manage limited resources in parallel programming. Several proposed parallel priority queue implementations are based on skiplists, harnessing the potential for…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-08-06 Irina Calciu , Hammurabi Mendes , Maurice Herlihy