English
Related papers

Related papers: History-Independent Concurrent Hash Tables

200 papers

The lock-free, ordered, linked list is an important, standard example of a concurrent data structure. An obvious, practical drawback of textbook implementations is that failed compare-and-swap (CAS) operations lead to retraversal of the…

Data Structures and Algorithms · Computer Science 2020-11-02 Jesper Larsson Träff , Manuel Pöter

Verifying fine-grained optimistic concurrent programs remains an open problem. Modern program logics provide abstraction mechanisms and compositional reasoning principles to deal with the inherent complexity. However, their use is mostly…

Programming Languages · Computer Science 2022-11-14 Roland Meyer , Thomas Wies , Sebastian Wolff

We present and verify template algorithms for lock-free concurrent search structures that cover a broad range of existing implementations based on lists and skiplists. Our linearizability proofs are fully mechanized in the concurrent…

Programming Languages · Computer Science 2024-05-24 Nisarg Patel , Dennis Shasha , Thomas Wies

A dictionary (or map) is a key-value store that requires all keys be unique, and a multimap is a key-value store that allows for multiple values to be associated with the same key. We design hashing-based indexing schemes for dictionaries…

Data Structures and Algorithms · Computer Science 2011-07-25 Michael T. Goodrich , Daniel S. Hirschberg , Michael Mitzenmacher , Justin Thaler

Given a specified average load factor, hash tables offer the appeal of constant time lookup operations. However, hash tables could face severe hash collisions because of malicious attacks, buggy applications, or even bursts of incoming…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-06-02 Junchang Wang , Xiong Fu , Fu Xiao , Chen Tian

There has been a significant amount of work in the literature proposing semantic relaxation of concurrent data structures for improving scalability and performance. By relaxing the semantics of a data structure, a bigger design space, that…

Data Structures and Algorithms · Computer Science 2025-11-11 Adones Rukundo , Aras Atalar , Philippas Tsigas

Thirty years ago, the Robin Hood collision resolution strategy was introduced for open addressing hash tables, and a recurrence equation was found for the distribution of its search cost. Although this recurrence could not be solved…

Data Structures and Algorithms · Computer Science 2016-05-16 Patricio V. Poblete , Alfredo Viola

Modern databases use dynamic search structures that store an enormous amount of data, and often serve them using multi-threaded algorithms to support the ever-increasing throughput needs. When this throughput need exceeds the capacity of…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-02-17 Raaghav Ravishankar , Sandeep Kulkarni , Sathya Peri , Gokarna Sharma

Hardware Transactional Memory (HTM) allows lock-free programming as easy as with traditional coarse-grain locks or similar, while benefiting from the performance advantages of fine-grained locking. Many HTM implementations have been…

Hardware Architecture · Computer Science 2025-10-21 Konstantinos Kafousis

Designing an efficient concurrent data structure is an important challenge that is not easy to meet. Intuitively, efficiency of an implementation is defined, in the first place, by its ability to process applied operations in parallel,…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-01-15 Vitaly Aksenov , Vincent Gramoli , Petr Kuznetsov , Srivatsan Ravi , Di Shang

Hash tables are essential building blocks in data-intensive applications, yet existing GPU implementations often struggle with concurrent updates, high load factors, and irregular memory access patterns. We present Hive hash table, a…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-10-20 Md Sabbir Hossain Polak , David Troendle , Byunghyun Jang

We describe a consistent hashing algorithm which performs multiple lookups per key in a hash table of nodes. It requires no additional storage beyond the hash table, and achieves a peak-to-average load ratio of 1 + epsilon with just 1 +…

Data Structures and Algorithms · Computer Science 2015-05-04 Ben Appleton , Michael O'Reilly

Most existing approaches to hashing apply a single form of hash function, and an optimization process which is typically deeply coupled to this specific form. This tight coupling restricts the flexibility of the method to respond to the…

Machine Learning · Computer Science 2013-09-10 Guosheng Lin , Chunhua Shen , David Suter , Anton van den Hengel

We present jump consistent hash, a fast, minimal memory, consistent hash algorithm that can be expressed in about 5 lines of code. In comparison to the algorithm of Karger et al., jump consistent hash requires no storage, is faster, and…

Data Structures and Algorithms · Computer Science 2014-06-10 John Lamping , Eric Veach

Contrary to common belief, a recent work by Ellen, Gelashvili, Shavit, and Zhu has shown that computability does not require multicore architectures to support "strong" synchronization instructions like compare-and-swap, as opposed to…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-09 Rati Gelashvili , Idit Keidar , Alexander Spiegelman , Roger Wattenhofer

Scalable ordered maps must ensure that range queries, which operate over many consecutive keys, provide intuitive semantics (e.g., linearizability) without degrading the performance of concurrent insertions and removals. These goals are…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-10-11 Matthew Rodriguez , Vitaly Aksenov , Michael Spear

Proving the linearizability of highly concurrent data structures, such as those using optimistic concurrency control, is a challenging task. The main difficulty is in reasoning about the view of the memory obtained by the threads, because…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-08-07 Yotam M. Y. Feldman , Constantin Enea , Adam Morrison , Noam Rinetzky , Sharon Shoham

The recent advancements in multicore machines highlight the need to simplify concurrent programming in order to leverage their computational power. One way to achieve this is by designing efficient concurrent data structures (e.g. stacks,…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-03-31 Nikolaos D. Kallimanis

Perfect hash functions can potentially be used to compress data in connection with a variety of data management tasks. Though there has been considerable work on how to construct good perfect hash functions, there is a gap between theory…

Data Structures and Algorithms · Computer Science 2007-05-23 Fabiano C. Botelho , Rasmus Pagh , Nivio Ziviani

We present a simple and provably optimal non-adaptive cell probe data structure for the static dictionary problem. Our data structure supports storing a set of n key-value pairs from [u]x[u] using s words of space and answering key lookup…

Data Structures and Algorithms · Computer Science 2024-04-22 Kasper Green Larsen , Rasmus Pagh , Giuseppe Persiano , Toniann Pitassi , Kevin Yeo , Or Zamir