Hiperfact: In-Memory High Performance Fact Processing – Rethinking the Rete Inference Algorithm

12/04/2020
by   Conrad Indiono, et al.
0

The Rete forward inference algorithm forms the basis for many rule engines deployed today, but it exhibits the following problems: (1) the caching of all intermediate join results, (2) the processing of all rules regardless of the necessity to do so (stemming from the underlying forward inference approach), (3) not defining the join order of rules and its conditions, significantly affecting the final run-time performance, and finally (4) pointer chasing due to the overall network structure, leading to inefficient usage of the CPU caches caused by random access patterns. The Hiperfact approach aims to overcome these shortcomings by (1) choosing cache efficient data structures on the primary rank 1 fact index storage and intermediate join result storage levels, (2) introducing island fact processing for determining the join order by ensuring minimal intermediate join result construction, and (3) introducing derivation trees to allow for parallel read/write access and lazy rule evaluation. The experimental evaluations show that the Hiperfact prototype engine implementing the approach achieves significant improvements in respect to both inference and query performance. Moreover, the proposed Hiperfact engine is compared to existing engines in the context of a comprehensive benchmark.

READ FULL TEXT
research
07/20/2018

gSMat: A Scalable Sparse Matrix-based Join for SPARQL Query Processing

Resource Description Framework (RDF) has been widely used to represent i...
research
08/31/2023

SieveJoin: Boosting Multi-Way Joins with Reusable Bloom Filters

Improving data systems' performance for join operations has long been an...
research
06/13/2019

Memory-Efficient Group-by Aggregates over Multi-Way Joins

Aggregate computation in relational databases has long been done using t...
research
04/05/2018

Hypertree Decompositions Revisited for PGMs

We revisit the classical problem of exact inference on probabilistic gra...
research
01/16/2019

SkinnerDB: Regret-Bounded Query Evaluation via Reinforcement Learning

SkinnerDB is designed from the ground up for reliable join ordering. It ...
research
05/01/1998

Integrative Windowing

In this paper we re-investigate windowing for rule learning algorithms. ...
research
03/18/2019

A New Frontier for Pull-Based Graph Processing

The trade-off between pull-based and push-based graph processing engines...

Please sign up or login with your details

Forgot password? Click here to reset