A Database Rule Language Compiler Supporting Parallelism

This paper presents an extension to a database rule language Comp& to support parallelism. The rule language is called RDLIIC and is based on an extended orrsion of tuple relational calculus. The grain of parallelism introduced into RDL//C is the production rule. The user is made aware of parallel processing by having to specify in a sub-language of control which sets of r&s are to run in parallel and in which order. From the user view point, the parallelism is managed as a partial order over a set of rules. The compiler translates rule programs into C based applications which run over the DBMS. Our implementation is OLW P set of UNIX workstations which corresponds to a MIMD shared-nothing architecture. Parallelism is achieved by having the application connect to different DBMS ScIzIcrs residing on workstations on a local network. Initial performance results are presented. They show the advantages and limitations of parallel execution in this architecture. The main contributions of the paper are (i) the definition of a sub-language of control to specify a parallel execution of a ru& program and (ii) to show how pdrallel extensions can be brought to a rule language compiler using P standard distributed enoironment with a relational DBMS.

[1]  Eric Simon,et al.  Making deductive databases a practical technology: a step forward , 1990, SIGMOD '90.

[2]  Jaideep Srivastava,et al.  Parallelism in database production systems , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[3]  Hartmann J. Genrich,et al.  Predicate/Transition Nets , 1986, Advances in Petri Nets.

[4]  Abraham Silberschatz,et al.  A framework for the parallel processing of Datalog queries , 1990, SIGMOD '90.

[5]  Dominique Pastre,et al.  Managing Complex Objects in an Extensible Relational DBMS , 1989, VLDB.