Scaling up the performance of more powerful Datalog systems on multicore machines

被引:21
作者
Yang, Mohan [1 ]
Shkapsky, Alexander [1 ]
Zaniolo, Carlo [1 ]
机构
[1] Univ Calif Los Angeles, Los Angeles, CA 90095 USA
关键词
Parallel; Bottom-up evaluation; Datalog; Multicore; AND/OR tree; QUERIES;
D O I
10.1007/s00778-016-0448-z
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
Extending RDBMS technology to achieve performance and scalability for queries that are much more powerful than those of SQL-2 has been the goal of deductive database research for more than thirty years. The DeALS system has made major progress toward this goal, by (1) Datalog extensions that support the more powerful recursive queries needed in advanced applications, and (2) superior performance for both traditional recursive queries and those made possible by the new extensions, while (3) delivering competitive performance with commercial RDBMSs on non-recursive queries. In this paper, we focus on the techniques used to support the in-memory evaluation of Datalog programs onmulticoremachines. InDeALS, a Datalog program is represented as an AND/OR tree, and multiple copies of the same AND/OR tree are used to access the tables in the database concurrently during the parallel evaluation. We describe compilation techniques that (1) recognize when the given program is lock-free, (2) transform a locking program into a lock-free program, and (3) find an efficient parallel plan that correctly evaluates the program while minimizing the use of locks and other overhead required for parallel evaluation. Extensive experiments demonstrate the effectiveness of the proposed techniques.
引用
收藏
页码:229 / 248
页数:20
相关论文
共 45 条
[1]   Design and Implementation of the LogicBlox System [J].
Aref, Molham ;
ten Cate, Balder ;
Green, Todd J. ;
Kimelfeld, Benny ;
Olteanu, Dan ;
Pasalic, Emir ;
Veldhuizen, Todd L. ;
Washburn, Geoffrey .
SIGMOD'15: PROCEEDINGS OF THE 2015 ACM SIGMOD INTERNATIONAL CONFERENCE ON MANAGEMENT OF DATA, 2015, :1371-1382
[2]   The deductive database system LDL++ [J].
Arni, F ;
Ong, KL ;
Tsur, S ;
Wang, HX ;
Zaniolo, C .
THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2003, 3 :61-94
[3]  
Bell D. A., 1991, Data & Knowledge Engineering, V6, P367, DOI 10.1016/0169-023X(91)90008-L
[4]  
Boncz PA., 2005, CIDR, V5, P225
[5]  
Bravenboer M, 2009, OOPSLA 2009, CONFERENCE PROCEEDINGS, P243
[6]  
Chimenti D., 1990, IEEE Transactions on Knowledge and Data Engineering, V2, P76, DOI 10.1109/69.50907
[7]  
Cohen S. R., 1989, Proceedings of the Eighth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, P200, DOI 10.1145/73721.73742
[8]  
Dees J, 2013, PROC INT CONF DATA, P350, DOI 10.1109/ICDE.2013.6544838
[9]  
Eisner J, 2011, LECT NOTES COMPUT SC, V6702, P181
[10]  
Fogel A., 2015, NSDI, P469