arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2012.02710cs.DB
收藏

Hiperfact:内存中的高性能事实处理--对参考推理算法的再思考

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

Conrad Indiono, Stefanie Rinderle-Ma

摘要:

Rete前向推理算法形成了当今部署的许多规则引擎的基础,但它表现出以下问题:(1)缓存所有中间连接结果,(2)处理所有规则,而不管是否需要这样做(源于底层的前向推理方法),(3)不定义规则的连接顺序及其条件,显著影响最终的运行时性能,以及最后(4)由于整个网络结构导致的指针追逐,导致由随机访问模式引起的CPU高速缓存的低效使用。Hiperfact方法旨在通过以下方式克服这些缺点:(1)在主秩1事实索引存储和中间连接结果存储级别上选择高速缓存高效的数据结构,(2)通过确保最小中间连接结果构造来引入用于确定连接顺序的岛事实处理,以及(3)引入派生树以允许并行读/写访问和惰性规则评估。实验结果表明,实现该方法的Hiperfact原型引擎在推理和查询性能方面都取得了显着的改善。此外,建议的Hiperfact引擎相比,现有的引擎在一个全面的基准。

英文摘要:

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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑