REVIEW 2 cited by
Optimizing Datalog for the GPU
Not yet reviewed by Pith; the record is open.
This paper has not been read by Pith yet. Machine review is queued; the pith claim, tier, and objections will appear here once it completes.
SPECIMEN: schema-true, not a live event
T0 review · schema-true
One-sentence machine reading of the paper's core claim.
pith:XXXXXXXX · record.json · timestamp
read the original 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.
Forward citations
Cited by 2 Pith papers
-
Datalog with First-Class Facts
DL∃! gives every Datalog fact a unique nested identity, and the Slog engine uses that restriction to evaluate tree-structured rules in parallel, often faster than existing Datalog systems.
-
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.
Discussion (0). Continue with ORCID to comment.