English
Related papers

Related papers: Iceberg Hashing: Optimizing Many Hash-Table Criter…

200 papers

First introduced in 1954, linear probing is one of the oldest data structures in computer science, and due to its unrivaled data locality, it continues to be one of the fastest hash tables in practice. It is widely believed and taught,…

Data Structures and Algorithms · Computer Science 2021-07-06 Michael A. Bender , Bradley C. Kuszmaul , William Kuszmaul

Sorting and hashing are two completely different concepts in computer science, and appear mutually exclusive to one another. Hashing is a search method using the data as a key to map to the location within memory, and is used for rapid…

Data Structures and Algorithms · Computer Science 2007-05-23 William F. Gilreath

Randomized algorithms are often enjoyed for their simplicity, but the hash functions used to yield the desired theoretical guarantees are often neither simple nor practical. Here we show that the simplest possible tabulation hashing…

Data Structures and Algorithms · Computer Science 2011-05-10 Mihai Patrascu , Mikkel Thorup

Designing algorithms for balanced allocation of clients to servers in dynamic settings is a challenging problem for a variety of reasons. Both servers and clients may be added and/or removed from the system periodically, and the main…

Data Structures and Algorithms · Computer Science 2017-07-28 Vahab Mirrokni , Mikkel Thorup , Morteza Zadimoghaddam

In this work we study Invertible Bloom Lookup Tables (IBLTs) with small failure probabilities. IBLTs are highly versatile data structures that have found applications in set reconciliation protocols, error-correcting codes, and even the…

Data Structures and Algorithms · Computer Science 2024-11-27 Nils Fleischhacker , Kasper Green Larsen , Maciej Obremski , Mark Simkin

Dynamic load balancing lies at the heart of distributed caching. Here, the goal is to assign objects (load) to servers (computing nodes) in a way that provides load balancing while at the same time dynamically adjusts to the addition or…

Data Structures and Algorithms · Computer Science 2020-06-17 John Chen , Ben Coleman , Anshumali Shrivastava

Bagging is an important technique for stabilizing machine learning models. In this paper, we derive a finite-sample guarantee on the stability of bagging for any model. Our result places no assumptions on the distribution of the data, on…

Machine Learning · Statistics 2024-04-26 Jake A. Soloff , Rina Foygel Barber , Rebecca Willett

Given a set $S$ of $n$ keys, a perfect hash function for $S$ maps the keys in $S$ to the first $m \geq n$ integers without collisions. It may return an arbitrary result for any key not in $S$ and is called minimal if $m = n$. The most…

Data Structures and Algorithms · Computer Science 2026-02-06 Hans-Peter Lehmann , Thomas Mueller , Rasmus Pagh , Giulio Ermanno Pibiri , Peter Sanders , Sebastiano Vigna , Stefan Walzer

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

Learning-based hashing methods are widely used for nearest neighbor retrieval, and recently, online hashing methods have demonstrated good performance-complexity trade-offs by learning hash functions from streaming data. In this paper, we…

Computer Vision and Pattern Recognition · Computer Science 2017-08-01 Fatih Cakir , Kun He , Sarah Adel Bargal , Stan Sclaroff

Consistent hashing is a technique for distributing data across a network of nodes in a way that minimizes reorganization when nodes join or leave the network. It is extensively applied in modern distributed systems as a fundamental…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-03-18 Massimo Coluzzi , Amos Brocco , Alessandro Antonucci , Tiziano Leidi

We present an efficient lock-free algorithm for parallel accessible hash tables with open addressing, which promises more robust performance and reliability than conventional lock-based implementations. ``Lock-free'' means that it is…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Hui Gao , Jan Friso Groote , Wim H. Hesselink

Quantum computing has evolved quickly in recent years and is showing significant benefits in a variety of fields, especially in the realm of cybersecurity. The combination of software used to locate the most frequent hashes and $n$-grams…

Quantum Physics · Physics 2022-05-09 Nicholas R. Allgood , Charles K. Nicholas

Modern high load applications store data using multiple database instances. Such an architecture requires data consistency, and it is important to ensure even distribution of data among nodes. Load balancing is used to achieve these goals.…

Databases · Computer Science 2022-11-03 Alexander Slesarev , Mikhail Mikhailov , George Chernishev

Byte-addressable persistent memory (PM) brings hash tables the potential of low latency, cheap persistence and instant recovery. The recent advent of Intel Optane DC Persistent Memory Modules (DCPMM) further accelerates this trend. Many new…

Databases · Computer Science 2020-10-30 Baotong Lu , Xiangpeng Hao , Tianzheng Wang , Eric Lo

We investigate the limits of one of the fundamental ideas in data structures: fractional cascading. This is an important data structure technique to speed up repeated searches for the same key in multiple lists and it has numerous…

Data Structures and Algorithms · Computer Science 2020-11-05 Peyman Afshani

Hashmap is a fundamental data structure in computer science. There has been extensive research on constructing hashmaps that minimize the number of collisions leading to efficient lookup query time. Recently, the data-dependant approaches,…

Data Structures and Algorithms · Computer Science 2024-04-16 Abolfazl Asudeh , Nima Shahbazi , Stavros Sintos

Hash tables are one of the most fundamental data structures for effectively storing and accessing sparse data, with widespread usage in domains ranging from computer graphics to machine learning. This study surveys the state-of-the-art…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-13 Brenton Lessley

Robin Hood hashing is a variation on open addressing hashing designed to reduce the maximum search time as well as the variance in the search time for elements in the hash table. While the case of insertions only using Robin Hood hashing is…

Data Structures and Algorithms · Computer Science 2014-07-14 Michael Mitzenmacher

Cuckoo hashing [4] is a multiple choice hashing scheme in which each item can be placed in multiple locations, and collisions are resolved by moving items to their alternative locations. In the classical implementation of two-way cuckoo…

Data Structures and Algorithms · Computer Science 2011-11-16 Ely Porat , Bar Shalem