An Efficient Interpreter for Datalog by De-specializing Relations

被引:1
作者
Hu, Xiaowen [1 ]
Zhao, David [1 ]
Jordan, Herbert [2 ]
Scholz, Bernhard [1 ]
机构
[1] Univ Sydney, Sch Comp Sci, Sydney, NSW, Australia
[2] Univ Innsbruck, Innsbruck, Austria
来源
PROCEEDINGS OF THE 42ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '21) | 2021年
关键词
Interpreter Implementation; Datalog Engine; Static Data Structure; LARGE-SCALE DATALOG;
D O I
10.1145/3453483.3454070
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Datalog is becoming increasingly popular as a standard tool for a variety of use cases. Modern Datalog engines can achieve high performance by specializing data structures for relational operations. For example, the Datalog engine Souffle achieves high performance with a synthesizer that specializes data structures for relations. However, the synthesizer cannot always be deployed, and a fast interpreter is required. This work introduces the design and implementation of the Souffle Tree Interpreter (STI). Key for the performance of the STI is the support for fast operations on relations. We obtain fast operations by de-specializing data structures so that they can work in a virtual execution environment. Our new interpreter achieves a competitive performance slowdown between 1.32 and 5.67x when compared to synthesized code. If compile time overheads of the synthesizer are also considered, the interpreter can be 6.46x faster on average for the first run.
引用
收藏
页码:681 / 695
页数:15
相关论文
共 54 条
  • [1] Ahmad Y, 2012, PROC VLDB ENDOW, V5, P968
  • [2] Aho Alfred V., 2006, COMPILERS PRINCIPLES, VSecond
  • [3] [Anonymous], 2003, OVERVIEW SWI PROLOG
  • [4] [Anonymous], 1995, FDN DATABASES LOGICA
  • [5] Anton Ertl M., 2004, P 2004 WORKSH INT VI, P7, DOI [10.1145/1059579.1059583, DOI 10.1145/1059579.1059583]
  • [6] Anton Ertl M., 2003, The Journal of Instruction-Level Parallelism, V5, P1
  • [7] Antoniadis Tony, 2017, P 6 ACM SIGPLAN INT, P25, DOI DOI 10.1145/3088515.3088522
  • [8] Design and Implementation of the LogicBlox System
    Aref, Molham
    ten Cate, Balder
    Green, Todd J.
    Kimelfeld, Benny
    Olteanu, Dan
    Pasalic, Emir
    Veldhuizen, Todd L.
    Washburn, Geoffrey
    [J]. SIGMOD'15: PROCEEDINGS OF THE 2015 ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2015, : 1371 - 1382
  • [9] A brief history of just-in-time
    Aycock, J
    [J]. ACM COMPUTING SURVEYS, 2003, 35 (02) : 97 - 113
  • [10] Reachability Analysis for AWS-Based Networks
    Backes, John
    Bayless, Sam
    Cook, Byron
    Dodge, Catherine
    Gacek, Andrew
    Hu, Alan J.
    Kahsai, Temesghen
    Kocik, Bill
    Kotelnikov, Evgenii
    Kukovec, Jure
    McLaughlin, Sean
    Reed, Jason
    Rungta, Neha
    Sizemore, John
    Stalzer, Mark
    Srinivasan, Preethi
    Subotic, Pavle
    Varming, Carsten
    Whaley, Blake
    [J]. COMPUTER AIDED VERIFICATION, CAV 2019, PT II, 2019, 11562 : 231 - 241