ViViD Cuckoo Hash: Fast Cuckoo Table Building in SIMD - Cristo, Flaviene de; Almeida, Eduardo de; Alves, Marco (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD); 2019: Anais do XX Simpósio em Sistemas Computacionais de Alto DesempenhoDO - 10.5753/wscad.2019.8676, 2019)
Hash Tables play a lead role in modern databases systems during the execution of joins, grouping, indexing, removal of duplicates, and accelerating point queries. In this paper, we focus on Cuckoo Hash, a technique to deal with collisions guaranteeing that data is retrieved with at most two memory access in the worst case. However, building the Cuckoo Table with the current scalar methods is inefficient when treating the eviction of the colliding keys. We propose a Vertically Vectorized data-dependent method to build Cuckoo Tables - ViViD Cuckoo Hash. Our method exploits data parallelism with AVX-512 SIMD instructions and transforms control dependencies into data dependencies to make the build process faster with an overall reduction in response time by 90% compared to the scalar Cuckoo Hash.