Accelerated Parallel Hybrid GPU/CPU Hash Table Queries with String Keys.

Tobias Groth, Sven Groppe, Thilo Pionteck, Franz Valdiek, Martin Koppehel

Abstract

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.
OriginalspracheEnglisch
Seiten191-203
Seitenumfang13
DOIs
PublikationsstatusVeröffentlicht - 2022

Strategische Forschungsbereiche und Zentren

  • Zentren: Zentrum für Künstliche Intelligenz Lübeck (ZKIL)
  • Querschnittsbereich: Intelligente Systeme

DFG-Fachsystematik

  • 4.43-03 Sicherheit und Verlässlichkeit, Betriebs-, Kommunikations- und verteilte Systeme

Fingerprint

Untersuchen Sie die Forschungsthemen von „Accelerated Parallel Hybrid GPU/CPU Hash Table Queries with String Keys.“. Zusammen bilden sie einen einzigartigen Fingerprint.

Zitieren