English
Related papers

Related papers: Verifying Lock-free Search Structure Templates

200 papers

Automatic search of neural architectures for various vision and natural language tasks is becoming a prominent tool as it allows to discover high-performing structures on any dataset of interest. Nevertheless, on more difficult domains,…

Computer Vision and Pattern Recognition · Computer Science 2020-05-25 Vladimir Nekrasov , Chunhua Shen , Ian Reid

A standard design pattern found in many concurrent data structures, such as hash tables or ordered containers, is an alternation of parallelizable sections that incur no data conflicts and critical sections that must run sequentially and…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-10-13 Vitaly Aksenov , Dan Alistarh , Petr Kuznetsov

A history-independent data structure does not reveal the history of operations applied to it, only its current logical state, even if its internal state is examined. This paper studies history-independent concurrent dictionaries, in…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-28 Hagit Attiya , Michael A. Bender , Martín Farach-Colton , Rotem Oshman , Noa Schiller

Persistent memory (PM) is an emerging class of storage technology that combines the benefits of DRAM and SSD. This characteristic inspires research on persistent objects in PM with fine-grained concurrency control. Among such objects,…

Programming Languages · Computer Science 2022-03-16 Kyeongmin Cho , Seungmin Jeon , Jeehoon Kang

This paper proposes TIP-Search, a time-predictable inference scheduling framework for real-time market prediction under uncertain workloads. Motivated by the strict latency demands in high-frequency financial systems, TIP-Search dynamically…

Artificial Intelligence · Computer Science 2025-06-18 Xibai Wang

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

This paper presents an efficient wait-free resizable hash table. To achieve high throughput at large core counts, our algorithm is specifically designed to retain the natural parallelism of concurrent hashing, while providing wait-free…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-04-21 Panagiota Fatourou , Nikolaos D. Kallimanis , Thomas Ropars

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

The outsourcing of the design and manufacturing of integrated circuits (ICs) in the current horizontal semiconductor integration flow has posed various security threats due to the presence of untrusted entities, such as overproduction of…

Cryptography and Security · Computer Science 2020-10-12 Yuqiao Zhang , Ayush Jain , Pinchen Cui , Ziqi Zhou , Ujjwal Guin

In this paper, we further investigate and refine the subspace-constrained preconditioning technique to enhance the theoretical and numerical convergence properties of randomized iterative methods for solving linear systems. In particular,…

Numerical Analysis · Mathematics 2026-05-29 Yonghan Sun , Hou-Duo Qi , Deren Han , Jiaxin Xie

We present a formal framework for proving the correctness of set implementations backed by binary-search-tree (BST) and linked lists, which are often difficult to prove correct using automation. This is because many concurrent set…

Programming Languages · Computer Science 2023-05-16 Uri Abraham , Avi Hayoun

Chase-Lev deque is a concurrent data structure designed for efficient load balancing in multiprocessor scheduling. It employs a work-stealing strategy, where each thread possesses its own work-stealing deque to store tasks, and idle threads…

Logic in Computer Science · Computer Science 2023-09-08 Jaemin Choi

A well-established approach to proving progress properties such as deadlock-freedom and termination is to associate obligations with threads. For example, in most existing work the proof rule for lock acquisition prescribes a standard usage…

Programming Languages · Computer Science 2024-12-20 Justus Fasse , Bart Jacobs

Augmenting an existing sequential data structure with extra information to support greater functionality is a widely used technique. For example, search trees are augmented to build sequential data structures like order-statistic trees,…

Data Structures and Algorithms · Computer Science 2024-05-20 Panagiota Fatourou , Eric Ruppert

There has been significant progress in understanding the parallelism inherent to iterative sequential algorithms: for many classic algorithms, the depth of the dependence structure is now well understood, and scheduling techniques have been…

Data Structures and Algorithms · Computer Science 2018-08-14 Dan Alistarh , Trevor Brown , Justin Kopinsky , Giorgi Nadiradze

The paper gives a detailed presentation of a framework, embedded into the simply typed higher-order logic and aimed at the support of sound and structured reasoning about various properties of models of imperative programs with interleaved…

Logic in Computer Science · Computer Science 2024-07-16 Maksym Bortin

Spatial aspects of computation are becoming increasingly relevant in Computer Science, especially in the field of collective adaptive systems and when dealing with systems distributed in physical space. Traditional formal verification…

Logic in Computer Science · Computer Science 2019-03-14 Vincenzo Ciancia , Diego Latella , Michele Loreti , Mieke Massink

When optimizing a thread in a concurrent program (either done manually or by the compiler), it must be guaranteed that the resulting thread is a refinement of the original thread. Most theories of valid optimizations are formulated in terms…

Programming Languages · Computer Science 2015-10-27 Daniel Poetzl , Daniel Kroening

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

This work utilizes the plethora of work on verification of sequential programs for the purpose of verifying concurrent programs. We reduce the verification of a concurrent program to a series of verification tasks of sequential programs.…

Programming Languages · Computer Science 2021-06-03 Dan Rasin , Orna Grumberg , Sharon Shoham