A GPU Datalog runtime with column-oriented storage and a hybrid hash/sorted index reports roughly 2.5x speedup over prior GPU Datalog engines and very large speedups over CPU engines.
Optimizing Datalog for the GPU
1 Pith paper cite this work. Polarity classification is still indexing.
abstract
Modern Datalog engines (e.g., LogicBlox, Souffl\'e, ddlog) enable their users to write declarative queries which compute recursive deductions over extensional facts, leaving high-performance operationalization (query planning, semi-na\"ive evaluation, and parallelization) to the engine. Such engines form the backbone of modern high-throughput applications in static analysis, network monitoring, and social-media mining. In this paper, we present a methodology for implementing a modern in-memory Datalog engine on data center GPUs, allowing us to achieve significant (up to 45x) gains compared to Souffl\'e (a modern CPU-based engine) on context-sensitive points-to analysis of httpd. We present GPUlog, a Datalog engine backend that implements iterated relational algebra kernels over a novel range-indexed data structure we call the hash-indexed sorted array (HISA). HISA combines the algorithmic benefits of incremental range-indexed relations with the raw computation throughput of operations over dense data structures. Our experiments show that GPUlog is significantly faster than CPU-based Datalog engines while achieving a favorable memory footprint compared to contemporary GPU-based joins.
fields
cs.DB 1years
2025 1verdicts
CONDITIONAL 1representative citing papers
citing papers explorer
-
Column-Oriented Datalog on the GPU
A GPU Datalog runtime with column-oriented storage and a hybrid hash/sorted index reports roughly 2.5x speedup over prior GPU Datalog engines and very large speedups over CPU engines.