English
Related papers

Related papers: Bestow and Atomic: Concurrent Programming using Is…

200 papers

Design of an efficient thread-safe concurrent data structure is a balancing act between its implementation complexity and performance. Lock-based concurrent data structures, which are relatively easy to derive from their sequential…

Programming Languages · Computer Science 2024-08-27 Callista Le , Kiran Gopinathan , Koon Wen Lee , Seth Gilbert , Ilya Sergey

We are interested in identifying and enforcing the isolation requirements of a concurrent program, i.e., concurrency control that ensures that the program meets its specification. The thesis of this paper is that this can be done…

Programming Languages · Computer Science 2015-07-01 Jyotirmoy Deshmukh , G. Ramalingam , Venkatesh-Prasad Ranganath , Kapil Vaswani

Finding a fixed point to a nonexpansive operator, i.e., $x^*=Tx^*$, abstracts many problems in numerical linear algebra, optimization, and other areas of scientific computing. To solve fixed-point problems, we propose ARock, an algorithmic…

Optimization and Control · Mathematics 2016-10-03 Zhimin Peng , Yangyang Xu , Ming Yan , Wotao Yin

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

When compared to blocking concurrency, non-blocking concurrency can provide higher performance in parallel shared-memory contexts, especially in high contention scenarios. This paper proposes FLeeC, an application-level cache system based…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-06-17 André J. Costa , Nuno M. Preguiça , João M. Lourenço

Software developers are expected to protect concurrent accesses to shared regions of memory with some mutual exclusion primitive that ensures atomicity properties to a sequence of program statements. This approach prevents data races but…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-05-13 Diogo G. Sousa , Ricardo J. Dias , Carla Ferreira , João M. Lourenço

This research started with an algebra for reasoning about rely/guarantee concurrency for a shared memory model. The approach taken led to a more abstract algebra of atomic steps, in which atomic steps synchronise (rather than interleave)…

Logic in Computer Science · Computer Science 2022-01-19 Ian J. Hayes , Robert Colvin , Larissa Meinicke , Kirsten Winter , Andrius Velykis

An old dream of concurrency theory and programming language semantics has been to uncover the fundamental synchronization mechanisms which regulate situations as different as game semantics for higher-order programs, and Hoare logic for…

Logic in Computer Science · Computer Science 2020-05-12 Paul-André Melliès , Léo Stefanesco

Linearisability has become the standard correctness criterion for concurrent data structures, ensuring that every history of invocations and responses of concurrent operations has a matching sequential history. Existing proofs of…

Logic in Computer Science · Computer Science 2013-07-29 Brijesh Dongol , John Derrick

Entity Resolution, also called record linkage or deduplication, refers to the process of identifying and merging duplicate versions of the same entity into a unified representation. The standard practice is to use a Rule based or Machine…

Artificial Intelligence · Computer Science 2016-09-22 Janani Balaji , Faizan Javed , Mayank Kejriwal , Chris Min , Sam Sander , Ozgur Ozturk

Correct concurrent programs are difficult to write; when multiple threads mutate shared data, they may lose writes, corrupt data, or produce erratic program behavior. While many of the data-race issues with concurrency can be avoided by the…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-04-30 Aditya Saligrama , Andrew Shen , Jon Gjengset

We describe a system that simplifies the process of debugging programs produced by computer-aided parallelization tools. The system uses relative debugging techniques to compare serial and parallel executions in order to show where the…

Software Engineering · Computer Science 2007-05-23 Robert Hood , Gabriele Jost

Much recent research has been devoted to modeling effects within type theory. Building on this work, we observe that effectful type theories can provide a foundation on which to build semantics for more complex programming constructs and…

Programming Languages · Computer Science 2021-12-01 Nikhil Swamy , Aseem Rastogi , Aymeric Fromherz , Denis Merigoux , Danel Ahman , Guido Martínez

A challenge for programming language research is to design and implement multi-threaded low-level languages providing static guarantees for memory safety and freedom from data races. Towards this goal, we present a concurrent language…

Programming Languages · Computer Science 2010-02-05 Prodromos Gerakios , Nikolaos Papaspyrou , Konstantinos Sagonas

The actor model of computation has gained significant popularity over the last decade. Its high level of abstraction makes it appealing for concurrent applications in parallel and distributed systems. However, designing a real-world actor…

Programming Languages · Computer Science 2018-10-16 Dominik Charousset , Raphael Hiesgen , Thomas C. Schmidt

To support developers in writing reliable and efficient concurrent programs, novel concurrent programming abstractions have been proposed in recent years. Programming with such abstractions requires new analysis tools because the execution…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-03-19 Benjamin Morandi , Sebastian Nanz , Bertrand Meyer

The expression problem describes a fundamental tradeoff between two types of extensibility: extending a type with new operations, such as by pattern matching on an algebraic data type in functional programming, and extending a type with new…

Programming Languages · Computer Science 2025-11-21 Bohdan Liesnikov , David Binder , Tim Süberkrüb

Atomicity or strong consistency is one of the fundamental, most intuitive, and hardest to provide primitives in distributed shared memory emulations. To ensure survivability, scalability, and availability of a storage service in the…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-05-31 Nicolas Nicolaou , Viveck Cadambe , N. Prakash , Andria Trigeorgi , Kishori M. Konwar , Nancy Lynch , Muriel Medard

Making threaded programs safe and easy to reason about is one of the chief difficulties in modern programming. This work provides an efficient execution model for SCOOP, a concurrency approach that provides not only data race freedom but…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-07-28 Scott West , Sebastian Nanz , Bertrand Meyer

Two key synchronization paradigms for the construction of scalable concurrent data-structures are software combining and elimination. Elimination-based concurrent data-structures allow operations with reverse semantics (such as push and pop…

Distributed, Parallel, and Cluster Computing · Computer Science 2011-07-01 Gal Bar-Nissan , Danny Hendler , Adi Suissa