Répertoire de publications
de recherche en accès libre
de recherche en accès libre
Ivanchykhin, Dmytro; Ignatchenko, Sergey et Lemire, Daniel (2017). Regular and almost universal hashing: an efficient implementation. Software: Practice and Experience, 47 (10). https://doi.org/10.1002/spe.2461
Fichier(s) associé(s) à ce document :
PDF
- hashing_speseptember2016.pdf
Contenu du fichier : Manuscrit soumis (avant évaluation) Licence : Creative Commons CC BY. |
|
Catégorie de document : | Articles de revues |
---|---|
Évaluation par un comité de lecture : | Oui |
Étape de publication : | Publié |
Résumé : | Random hashing can provide guarantees regarding the performance of data structures such as hash tables---even in an adversarial setting. Many existing families of hash functions are universal: given two data objects, the probability that they have the same hash value is low given that we pick hash functions at random. However, universality fails to ensure that all hash functions are well behaved. We further require regularity: when picking data objects at random they should have a low probability of having the same hash value, for any fixed hash function. We present the efficient implementation of a family of non-cryptographic hash functions (PM+) offering good running times, good memory usage as well as distinguishing theoretical guarantees: almost universality and component-wise regularity. On a variety of platforms, our implementations are comparable to the state of the art in performance. On recent Intel processors, PM+ achieves a speed of 4.7 bytes per cycle for 32-bit outputs and 3.3 bytes per cycle for 64-bit outputs. We review vectorization through SIMD instructions (e.g., AVX2) and optimizations for superscalar execution. |
Déposant: | Lemire, Daniel |
Responsable : | Daniel Lemire |
Dépôt : | 03 oct. 2016 16:14 |
Dernière modification : | 01 déc. 2017 06:15 |
RÉVISER |