Distributed Evaluation of the Datalog Query Language
We present a technique for distributed evaluation of the deductive database language datalog, that is, prolog without function symbols. Datalog is both a powerful extension of relational database query languages like sql and a suitable language for constructing expert systems. Both of these types of applications tend to be computationally complex and to exhibit parallelism of the kinds known as Or parallelism and All-solutions And parallelism. We therefore expect large speedup by exploiting this parallelism.
The lack of function symbols ensures a finite model, in spite of presence of recursive clauses. We therefore discuss how to ensure termination while retaining completeness. Our distributed implementation uses a top/down interpretation strategy and is based on the problem-heap paradigm and dynamic load balancing. Tests show up to 14.2 times speedup, obtained on a Transputer network containing 16 Transputers.
KeywordsDeductive Database Unit Clause Parallel Evaluation Dynamic Load Balance DATALOG Program
Unable to display preview. Download preview PDF.
- L. L. Alty and M. J. Coombs: Expert Systems, Concepts and Examples. NCC Publications, 1984.Google Scholar
- K. R. Apt, H. A. Blair and A. Walker: Towards a Theory of Declarative Knowledge. In J. Minker (ed.): Foundations of Deductive Databases and Logic Programming, edt. J. Minker. Morgan Kaufmann Publ. 1988.Google Scholar
- F. Bancilhon, R. Ramakrishnan: An Amateur’s Introduction to Recursive Query Processing Strategies. Proceedings of the ACM SIGMOD ‘86, Washington D.C., 1986.Google Scholar
- J. S. Conery: Parallel Execution of Logic Programs. Kluwer Academic Publishers, 1987.Google Scholar
- R. Davis, B. Buchanan and E. Shortliffe: Production Rules as a Representation for a Knowledge-Based Consultation Program. Artificial Intelligence 8 (1), 1977, 15–45.Google Scholar
- D. DeGroot: Restricted AND-Parallelism. International conference on Fifth Generation Computer Systems 1984.Google Scholar
- S. Ganguly, A. Silberschatz and S. Tsur: A Framework for the Parallel Processing of Datalog Queries. Department of Computer Science, The University of Texas at Austin, March 1989.Google Scholar
- P. Gronning, T.Q. Nielsen and H.H. Lovengreen: Development of an algorithm for Dynamic Load Balancing. Technical Report. Dept. of Computer Science, Technical University of Denmark.Google Scholar
- L.S. Jensen, H.H. Lovengreen: Distributed Interpretation of DATALOG. Technical Report. Dept of Computer Science, Technical University of Denmark.Google Scholar
- Y. Kiyoki et al: A Stream-Oriented Approach to Parallel Processing for Deductive Databases. 5th International Worpshop on Database Machines, 87. Google Scholar
- J.F. Nilsson: On The Compilation of a Domain-Based Prolog. Proceedings of IFIP’83, Paris, 1983. Google Scholar
- J. D. Ullman: Principles of Knowledge-Base Systems. Computer Science Press, 1988.Google Scholar
- L. Vieille: Recursive axioms in Deductive Databases: The Query/Subquery approach. Proc. First Intl. Conference Expert Database Systems, Charleston, 1986. Google Scholar
- O. Wolfson: Parallel Bottom-up Evaluation of Datalog Programs by Load Sharing. Technical report no. 564, TECHNION - Israel Institute of Technology, Computer Science Department, June 1989.Google Scholar