GPUs can accelerate hash tables for fast storage and look-ups utilizing their massive parallelism. State-of-the-art GPU hash tables use keys with fixed length like integers for optimal performance. Because strings are often used for structures like dictionaries, it is useful to support keys with variable length as well. Modern GPUs enable the combination of CPU and GPU compute power and we propose a hybrid approach, where keys on the GPU have a maximum length and longer keys are processed on the CPU. Therefore we develop a GPU accelerated approach of robin-map and libcuckoo based on string keys. We use OpenCL for GPU acceleration and threads for the CPU. Furthermore, we integrate the GPU approach into our benchmark framework H2 and evaluate it against the CPU variants and the GPU approach adapted for the CPU. We evaluated our approach in the hybrid context by using longer keys on CPU and shorter keys on GPU. In comparison to the original libcuckoo algorithm our GPU approach achieves a speed-up of 2.1 and in comparison to the robin-map a speed-up of 1.5. For hybrid workloads our approach is efficient if long keys are processed on the CPU and short keys are processed on the GPU. By processing a mixture of 20% long keys on CPU and 80% short keys on GPU our hybrid approach has a 40% higher throughput than the CPU only approach.
|Publikationsstatus||Veröffentlicht - 2022|
Strategische Forschungsbereiche und Zentren
- Zentren: Zentrum für Künstliche Intelligenz Lübeck (ZKIL)
- Querschnittsbereich: Intelligente Systeme