Results 1 
9 of
9
More Robust Hashing: Cuckoo Hashing with a Stash
 IN PROCEEDINGS OF THE 16TH ANNUAL EUROPEAN SYMPOSIUM ON ALGORITHMS (ESA
, 2008
"... Cuckoo hashing holds great potential as a highperformance hashing scheme for real applications. Up to this point, the greatest drawback of cuckoo hashing appears to be that there is a polynomially small but practically significant probability that a failure occurs during the insertion of an item, r ..."
Abstract

Cited by 19 (5 self)
 Add to MetaCart
Cuckoo hashing holds great potential as a highperformance hashing scheme for real applications. Up to this point, the greatest drawback of cuckoo hashing appears to be that there is a polynomially small but practically significant probability that a failure occurs during the insertion of an item, requiring an expensive rehashing of all items in the table. In this paper, we show that this failure probability can be dramatically reduced by the addition of a very small constantsized stash. We demonstrate both analytically and through simulations that stashes of size equivalent to only three or four items yield tremendous improvements, enhancing cuckoo hashing’s practical viability in both hardware and software. Our analysis naturally extends previous analyses of multiple cuckoo hashing variants, and the approach may prove useful in further related schemes.
Deamortized Cuckoo Hashing: Provable WorstCase Performance and Experimental Results
"... Cuckoo hashing is a highly practical dynamic dictionary: it provides amortized constant insertion time, worst case constant deletion time and lookup time, and good memory utilization. However, with a noticeable probability during the insertion of n elements some insertion requires Ω(log n) time. Whe ..."
Abstract

Cited by 10 (3 self)
 Add to MetaCart
Cuckoo hashing is a highly practical dynamic dictionary: it provides amortized constant insertion time, worst case constant deletion time and lookup time, and good memory utilization. However, with a noticeable probability during the insertion of n elements some insertion requires Ω(log n) time. Whereas such an amortized guarantee may be suitable for some applications, in other applications (such as highperformance routing) this is highly undesirable. Kirsch and Mitzenmacher (Allerton ’07) proposed a deamortization of cuckoo hashing using queueing techniques that preserve its attractive properties. They demonstrated a significant improvement to the worst case performance of cuckoo hashing via experimental results, but left open the problem of constructing a scheme with provable properties. In this work we present a deamortization of cuckoo hashing that provably guarantees constant worst case operations. Specifically, for any sequence of polynomially many operations, with overwhelming probability over the randomness of the initialization phase, each operation is performed in constant time. In addition, we present a general approach for proving that the performance guarantees are preserved when using hash functions with limited independence
Deterministic historyindependent strategies for storing information on writeonce memories
 in Proceedings of the 34th International Colloquium on Automata, Languages and Programming
, 2007
"... Abstract Motivated by the challenging task of designing "secure " vote storage mechanisms, we dealwith information storage mechanisms that operate in extremely hostile environments. In such ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
Abstract Motivated by the challenging task of designing "secure " vote storage mechanisms, we dealwith information storage mechanisms that operate in extremely hostile environments. In such
Fast and compact hash tables for integer keys
 in Proc. 32nd Australasian Conf. Comput. Sci. (ACSC’09), 2009
"... A hash table is a fundamental data structure in computer science that can offer rapid storage and retrieval of data. A leading implementation for string keys is the cacheconscious array hash table. Although fast with strings, there is currently no information in the research literature on its perfor ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
A hash table is a fundamental data structure in computer science that can offer rapid storage and retrieval of data. A leading implementation for string keys is the cacheconscious array hash table. Although fast with strings, there is currently no information in the research literature on its performance with integer keys. More importantly, we do not know how efficient an integerbased array hash table is compared to other hash tables that are designed for integers, such as bucketized cuckoo hashing. In this paper, we explain how to efficiently implement an array hash table for integers. We then demonstrate, through careful experimental evaluations, which hash table, whether it be a bucketized cuckoo hash table, an array hash table, or alternative hash table schemes such as linear probing, offers the best performance—with respect to time and space— for maintaining a large dictionary of integers inmemory, on a current cacheoriented processor.
Uniquely Represented Data Structures for Computational Geometry
, 2008
"... We present new techniques for the construction of uniquely represented data structures in a RAM, and use them to construct efficient uniquely represented data structures for orthogonal range queries, line intersection tests, point location, and 2D dynamic convex hull. Uniquely represented data stru ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
We present new techniques for the construction of uniquely represented data structures in a RAM, and use them to construct efficient uniquely represented data structures for orthogonal range queries, line intersection tests, point location, and 2D dynamic convex hull. Uniquely represented data structures represent each logical state with a unique machine state. Such data structures are strongly historyindependent. This eliminates the possibility of privacy violations caused by the leakage of information about the historical use of the data structure. Uniquely represented data structures may also simplify the debugging of complex parallel computations, by ensuring that two runs of a program that reach the same logical state reach the same physical state, even if various parallel processes executed in different orders during the two runs. 1
Some Open Questions Related to Cuckoo Hashing
"... Abstract. The purpose of this brief note is to describe recent work in the area of cuckoo hashing, including a clear description of several open problems, with the hope of spurring further research. 1 ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Abstract. The purpose of this brief note is to describe recent work in the area of cuckoo hashing, including a clear description of several open problems, with the hope of spurring further research. 1
informationtheoretic security, conflict resolution, expander graphs
"... Abstract: Motivated by the challenging task of designing “secure ” vote storage mechanisms, we study information storage mechanisms that operate in extremely hostile environments. In such environments, the majority of existing techniques for information storage and for security are susceptible to po ..."
Abstract
 Add to MetaCart
Abstract: Motivated by the challenging task of designing “secure ” vote storage mechanisms, we study information storage mechanisms that operate in extremely hostile environments. In such environments, the majority of existing techniques for information storage and for security are susceptible to powerful adversarial attacks. We propose a mechanism for storing a set of at most K elements from a large universe of size N on writeonce memories in a manner that does not reveal the insertion order of the elements. We consider a standard model for writeonce memories, in which the memory is initialized to the allzero state, and the only operation allowed is flipping bits from 0 to 1. Whereas previously known constructions were either inefficient (required Θ(K2) memory), randomized, or employed cryptographic techniques which are unlikely to be available in hostile environments, we eliminate each of these undesirable properties. The total amount of memory used by the mechanism is linear in the number of stored elements and polylogarithmic in the size of the universe of elements.
Maximum Bipartite Matching Size And Application to Cuckoo Hashing ∗
"... Cuckoo hashing with a stash is a robust highperformance hashing scheme that can be used in many reallife applications. It complements cuckoo hashing by adding a small stash storing the elements that cannot fit into the main hash table due to collisions. However, the exact required size of the stas ..."
Abstract
 Add to MetaCart
Cuckoo hashing with a stash is a robust highperformance hashing scheme that can be used in many reallife applications. It complements cuckoo hashing by adding a small stash storing the elements that cannot fit into the main hash table due to collisions. However, the exact required size of the stash and the tradeoff between its size and the memory overprovisioning of the hash table are still unknown. We settle this question by investigating the equivalent maximum matching size of a random bipartite graph, with a constant leftside vertex degree d = 2. Specifically, we provide an exact expression for the expected maximum matching size and show that its actual size is close to its mean, with high probability. This result relies on decomposing the bipartite graph into connected components, and then separately evaluating the distribution of the matching size in each of these components. In particular, we provide an exact expression for any finite bipartite graph size and also deduce asymptotic results as the number of vertices goes to infinity. We also extend our analysis to cases where only part of the leftside vertices have a degree of 2; as well as to the case where the set of rightsize vertices is partitioned into two subsets, and each
BTreaps: A Uniquely Represented Alternative to BTrees
"... Abstract. We present the first uniquely represented data structure for an external memory model of computation, a Btree analogue called a Btreap. Uniquely represented data structures represent each logical state with a unique machine state. Such data structures are strongly historyindependent; th ..."
Abstract
 Add to MetaCart
Abstract. We present the first uniquely represented data structure for an external memory model of computation, a Btree analogue called a Btreap. Uniquely represented data structures represent each logical state with a unique machine state. Such data structures are strongly historyindependent; they reveal no information about the historical sequence of operations that led to the current logical state. For example, a uniquely represented filesystem would support the deletion of a file in a way that, in a strong informationtheoretic sense, provably removes all evidence that the file ever existed. Like the Btree, the Btreap has depth O(log B n), uses linear space with high probability, where B is the block transfer size of the external memory, and supports efficient onedimensional range queries. 1