Why a single parallelization strategy is not enough in knowledge bases

We argue that the appropriate parallelization strategy for logic-program evaluation depends on the program being evaluated. Therefore, this paper is concerned with the issues of program-classification, and parallelization-strategies. We propose five parallelization strategies that differ based on the following criteria. Their evaluation cost, the overhead of communication and synchronization among processors, and the programs to which they are applicable. In particular, we start our study with pure-parallelization, i.e., parallelization without overhead. An interesting class-structure of logic programs is demonstrated, when considering amenability to pure-parallelization. The relationship to the NC complexity class is discussed. Then we propose strategies that do incur an overhead, but are optimal in a sense that will be precisely defined. This paper makes the initial steps towards a theory of parallel logic-programming.

[1]  Yehoshua Sagiv,et al.  Optimizing datalog programs , 1987, Foundations of Deductive Databases and Logic Programming..

[2]  Philip S. Yu,et al.  Effect of Skew on Join Performance in Parallel Architectures , 1988, Proceedings [1988] International Symposium on Databases in Parallel and Distributed Systems.

[3]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[4]  Salvatore J. Stolfo Five Parallel Algorithms for Production System Execution on the DADO Machine , 1984, AAAI.

[5]  Ouri Wolfson,et al.  A new paradigm for parallel and distributed rule-processing , 1990, SIGMOD '90.

[6]  Doug DeGroot,et al.  Logic programming - functions, relations and equations , 1986 .

[7]  Michael J. Maher,et al.  Closures and Fairness in the Semantics of Programming Logic , 1984, Theor. Comput. Sci..

[8]  Alexander J. Pasik,et al.  A methodology for programming production systems and its implications on parallelism , 1989 .

[9]  Elaine Kant,et al.  Programming expert systems in OPS5 , 1985 .

[10]  Philip S. Yu,et al.  On coupling many small systems for transaction processing , 1986, ISCA 1986.

[11]  Ehud Shapiro,et al.  Concurrent PROLOG: Collected Papers , 1987 .

[12]  Abraham Silberschatz,et al.  Distributed processing of logic programs , 1988, SIGMOD '88.

[13]  Stavros S. Cosmadakis,et al.  Parallel evaluation of recursive rule queries , 1985, PODS '86.

[14]  Ouri Wolfson,et al.  Sharing The Load Of Logic-program Evaluation , 1988, Proceedings [1988] International Symposium on Databases in Parallel and Distributed Systems.

[15]  David Maier,et al.  Magic sets and other strange ways to implement logic programs (extended abstract) , 1985, PODS '86.

[16]  Stephen A. Cook,et al.  An observation on time-storage trade off , 1973, J. Comput. Syst. Sci..

[17]  Philip S. Yu,et al.  On coupling many small systems for transaction processing , 1986, ISCA '86.

[18]  Christos H. Papadimitriou,et al.  The parallel complexity of simple chain queries , 1987, PODS '87.

[19]  Catriel Beeri,et al.  Data Models and Languages for Databases , 1988, ICDT.

[20]  François Bancilhon,et al.  Naive Evaluation of Recursively Defined Relations , 1986, On Knowledge Base Management Systems.

[21]  H. V. Jagadish,et al.  Multiprocessor Transitive Closure Algorithms , 1988, Proceedings [1988] International Symposium on Databases in Parallel and Distributed Systems.

[22]  Timos K. Sellis,et al.  Exploiting Concurrency in a DBMS Implementation for Production Systems , 1988, Proceedings [1988] International Symposium on Databases in Parallel and Distributed Systems.

[23]  Raghu Ramakrishnan,et al.  Performance Evaluation of Data Intensive Logic Programs , 1988, Foundations of Deductive Databases and Logic Programming..

[24]  Paris C. Kanellakis,et al.  Logic Programming and Parallel Complexity , 1986, Foundations of Deductive Databases and Logic Programming..

[25]  Salvatore J. Stolfo,et al.  Towards the Parallel Execution of Rules in Production System Programs , 1985, ICPP.

[26]  David J. DeWitt,et al.  Parallel algorithms for the execution of relational database operations , 1983, TODS.