License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.SEA.2017.25
URN: urn:nbn:de:0030-drops-76196
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2017/7619/
Go to the corresponding LIPIcs Volume Portal


Limasset, Antoine ; Rizk, Guillaume ; Chikhi, Rayan ; Peterlongo, Pierre

Fast and Scalable Minimal Perfect Hashing for Massive Key Sets

pdf-format:
LIPIcs-SEA-2017-25.pdf (0.7 MB)


Abstract

Minimal perfect hash functions provide space-efficient and collision-free hashing on static sets. Existing algorithms and implementations that build such functions have practical limitations on the number of input elements they can process, due to high construction time, RAM or external memory usage. We revisit a simple algorithm and show that it is highly competitive with the state of the art, especially in terms of construction time and memory usage. We provide a parallel C++ implementation called BBhash. It is capable of creating a minimal perfect hash function of 10^{10} elements in less than 7 minutes using 8 threads and 5 GB of memory, and the resulting function uses 3.7 bits/element. To the best of our knowledge, this is also the first implementation that has been successfully tested on an input of cardinality 10^{12}.
Source code: https://github.com/rizkg/BBHash

BibTeX - Entry

@InProceedings{limasset_et_al:LIPIcs:2017:7619,
  author =	{Antoine Limasset and Guillaume Rizk and Rayan Chikhi and Pierre Peterlongo},
  title =	{{Fast and Scalable Minimal Perfect Hashing for Massive Key Sets}},
  booktitle =	{16th International Symposium on Experimental Algorithms (SEA 2017)},
  pages =	{25:1--25:16},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-036-1},
  ISSN =	{1868-8969},
  year =	{2017},
  volume =	{75},
  editor =	{Costas S. Iliopoulos and Solon P. Pissis and Simon J. Puglisi and Rajeev Raman},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2017/7619},
  URN =		{urn:nbn:de:0030-drops-76196},
  doi =		{10.4230/LIPIcs.SEA.2017.25},
  annote =	{Keywords: Minimal Perfect Hash Functions, Algorithms, Data Structures, Big Data}
}

Keywords: Minimal Perfect Hash Functions, Algorithms, Data Structures, Big Data
Collection: 16th International Symposium on Experimental Algorithms (SEA 2017)
Issue Date: 2017
Date of publication: 07.08.2017


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI