Optimizing Datalog for the GPU
Yihao Sun, Ahmedur Rahman Shovon, Thomas Gilray, Kristopher Micinski,, Sidharth Kumar

TL;DR
This paper introduces GPUlog, a GPU-optimized Datalog engine that significantly accelerates recursive query processing, achieving up to 45x speedups over CPU-based engines in static analysis tasks.
Contribution
The paper presents GPUlog, a novel GPU-based Datalog engine utilizing the HISA data structure for efficient in-memory recursive query execution.
Findings
GPUlog achieves up to 45x speedup over Soufflé.
HISA enables efficient range-based operations on dense data.
GPUlog has a favorable memory footprint compared to GPU-based joins.
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Database Systems and Queries · Data Management and Algorithms · Data Mining Algorithms and Applications
