This Article 
 Bibliographic References 
 Add to: 
Data Partition and Parallel Evaluation of Datalog Programs
February 1995 (vol. 7 no. 1)
pp. 163-176

Abstract—Parallel bottom-up evaluation provides an alternative for the efficient evaluation of logic programs. Existing parallel evaluation strategies are neither effective nor efficient in determining the data to be transmitted among processors. In this paper, we propose a different strategy, for general Datalog programs, that is based on the partitioning of data rather than that of rule instantiations. The partition and processing schemes defined in this paper are more general than those in existing strategies. A parallel evaluation algorithm is given based on the semi-naive bottom-up evaluation. A notion of potential usefulness is recognized as a data transmission criterion to reduce, both effectively and efficiently, the amount of data transmitted. Heuristics and algorithms are proposed for designing the partition and processing schemes for a given program. Results from an experiment show that the strategy proposed in this paper has many promising features.

[1] F. Bancilhon, and R. Ramakrishnan,“An amateur’s introduction to recursive query processing strategies,” Proc. 1986 ACM-SIGMOD Int’l Conf. Management Data, pp. 16-52,Washington, DC, May 1986.
[2] J-P Cherney and C. Maindrevelle,“A parallel strategy for transitive closure using double hash-based clustering,” Proc. of 16th VLDB,Brisbane, Australia, pp. 347-358, 1990.
[3] S. Cohen and O. Wolfson,“Why a single parallelization strategy is not enough in knowledgebases,”, Proc of the 8th ACM Symp. on Principles of Database Systems, March 1989.
[4] S.K. Debray and N.W. Lin,“Static estimation of query sizes in Horn programs,” ICDT Conf. Springer-Verlag Lecture Notes in Computer Science 470, pp. 514-528, 1990.
[5] G. Dong,“On distributed processibility of logic programs by decomposing databases,” Proc. ACM SIGMOD Conference,Portland, OR, pp. 26-35, June, 1989.
[6] S. Ganguly,A. Silberschatz,, and S. Tsur., “A framework for the parallel evaluation of datalog queries,” Proc. of the 1990 ACM SIGMOD Conf. on Management of Data, 1990.
[7] J.W. Lloyd, Foundations of Logic Programming, Springer Series in Symbolic Computation, second ed. New York: Springer-Verlag, 1987.
[8] J. Seib and G. Lausen,“Parallelizing Datalog programs by generalized pivoting,” Proc. of the 1991 Symp. on Principles of Database Sytems.
[9] J. Ullman, Principles of Database and Knowledge-Base Systems, vol. 1. Computer Science Press, 1988.
[10] J.L. Wolf,D.M. Dias,P.S. Yu,, and J. Turek,“An effective algorithm for parallelizing hash joins in the presence of data skew,” Proc. Data Eng. Conf., pp. 200-209, 1991.
[11] O. Wolfson,W. Zhang,H. Butani,A. Kawaguchi,, and K. Mok,“A methodology for evaluating parallel graph algorithms and its application to single source reachability,” Technical report, Dept. of EECS, UIC, 1992.
[12] O. Wolfson and A. Silberschatz,“Distributed processing of logic programs,” Proc. of the 1988 ACM SIGMOD Int’l. Conf. on Management of Data, 1988.
[13] O. Wolfson and A. Ozeri,“A new paradigm for distributed rule processing,” Proc. of the 1990 ACM SIGMOD Int’l. Conf. on Management of Data, 1990.
[14] O. Wolfson,“Sharing the load of logic program evaluation,” Proc. Int’l. Symp. on Databases in Parallel and Distributed Systems, Dec., 1988.
[15] W. Zhang,K. Wang,, and S-C Chau,“Data partition and parallel evaluation of datalog programs,” Technical report, Dept. of Math. and CS, Univ. of Lethbridge, 1992.

Index Terms:
Database, logic programs, parallel processing, data partition, data transmission criteria, algorithm.
Weining Zhang, Ke Wang, Siu-Cheung Chau, "Data Partition and Parallel Evaluation of Datalog Programs," IEEE Transactions on Knowledge and Data Engineering, vol. 7, no. 1, pp. 163-176, Feb. 1995, doi:10.1109/69.368511
Usage of this product signifies your acceptance of the Terms of Use.