Result: Balanced allocation and dictionaries with tightly packed constant size bins

Title:
Balanced allocation and dictionaries with tightly packed constant size bins
Source:
Automata, languages and programming (ICALP 2005)Theoretical computer science. 380(1-2):47-68
Publisher Information:
Amsterdam: Elsevier, 2007.
Publication Year:
2007
Physical Description:
print, 27 ref
Original Material:
INIST-CNRS
Subject Terms:
Computer science, Informatique, Sciences exactes et technologie, Exact sciences and technology, Sciences et techniques communes, Sciences and techniques of general use, Mathematiques, Mathematics, Combinatoire. Structures ordonnées, Combinatorics. Ordered structures, Combinatoire, Combinatorics, Théorie des graphes, Graph theory, Sciences appliquees, Applied sciences, Informatique; automatique theorique; systemes, Computer science; control theory; systems, Informatique théorique, Theoretical computing, Algorithmique. Calculabilité. Arithmétique ordinateur, Algorithmics. Computability. Computer arithmetics, Divers, Miscellaneous, Logiciel, Software, Organisation des mémoires. Traitement des données, Memory organisation. Data processing, Traitement des données. Listes et chaînes de caractères, Data processing. List processing. Character string processing, Algorithme, Algorithm, Algoritmo, Arrangement, Arreglo, Dictionnaire, Dictionaries, Diccionario, Dynamique, Dynamics, Dinámica, Fonction aléatoire, Random function, Función aleatoria, Graphe aléatoire, Random graph, Grafo aleatorio, Hachage, Hashing, Implémentation, Implementation, Implementación, Informatique théorique, Computer theory, Informática teórica, Loi probabilité, Probability distribution, Ley probabilidad, Moyenne, Average, Promedio, Mémoire, Memory, Memoria, Paradigme, Paradigm, Paradigma, Probabilité, Probability, Probabilidad, Stockage, Storage, Almacenamiento, Structure donnée, Data structure, Estructura datos, 05C80, 68P05, 68R10, 68W20, 68Wxx, Fonction hachage, Randomized algorithm, Table Hash, Balanced allocation, Data structures, Random graphs, Randomized algorithms, Storage space
Document Type:
Conference Conference Paper
File Description:
text
Language:
English
Author Affiliations:
Technische Universität Ilmenau, 98684 llmenau, Germany
Altova GmbH, Rudolfsplatz 13a, 1010 Wien, Austria
ISSN:
0304-3975
Rights:
Copyright 2008 INIST-CNRS
CC BY 4.0
Sauf mention contraire ci-dessus, le contenu de cette notice bibliographique peut être utilisé dans le cadre d’une licence CC BY 4.0 Inist-CNRS / Unless otherwise stated above, the content of this bibliographic record may be used under a CC BY 4.0 licence by Inist-CNRS / A menos que se haya señalado antes, el contenido de este registro bibliográfico puede ser utilizado al amparo de una licencia CC BY 4.0 Inist-CNRS
Notes:
Computer science; theoretical automation; systems

Mathematics
Accession Number:
edscal.18821613
Database:
PASCAL Archive

Further Information

We study a particular aspect of the balanced allocation paradigm (also known as the two-choices paradigm): constant sized bins, packed as tightly as possible. Let d > 1 be fixed, and assume there are m bins of capacity d each. To each of n ≤ dm balls two possible bins are assigned at random. How close can dm/n = 1 + e be to 1 so that with high probability each ball can be put into one of the two bins assigned to it without any bin overflowing? We show that e > (2/e)d-1 is sufficient. If a new ball arrives with two new randomly assigned bins, we wish to rearrange some of the balls already present in order to accommodate the new ball. We show that on average it takes constant time to rearrange the balls to achieve this, for e > βd, for some constant β < 1. An alternative way to describe the problem is in data structure language. Generalizing cuckoo hashing [R. Pagh, F.F. Rodler, Cuckoo hashing, J. Algorithms 51 (2004) 122-144], we consider a hash table with m positions, each representing a bucket of capacity d ≥ 1. Keys are assigned to buckets by two fully random hash functions. How many keys can be placed in these bins, if key x may go to bin h1 (x) or to bin h2 (x)? We obtain an implementation of a dictionary that accommodates n keys in m = (1+ε)n/d buckets of size d = 0(log(1/ε)), so that key x resides in bucket h1 (x) or h2 (x). For a lookup operation, only two hash functions have to be evaluated and two segments of d contiguous memory cells have to be inspected. If d ≥ 1 + 3.26 ·ln(1/ε), a static arrangement exists with high probability. If d ≥ 16 ln(1/ε), a dynamic version of the dictionary exists so that the expected time for inserting a new key is log(1/ε)0(loglog(1/ε)).