Report Number: CS-TR-87-1166
Institution: Stanford University, Department of Computer Science
Title: Parallel Execlltion of OPSS in QLISP
Author: Okuna, H. G.
Author: Gupta, A.
Date: June 1987
Abstract: Production systems (or rule-based systems) are widely used for the development of expert systems. To speed-up the execution of production systems, a number of different approaches are being taken, a majority of them being based on the use of parallelism. In this paper, we explore the issues involved in the parallel implementation of OPS5 (a widely used production-system language) in QLISP (a parallel dialect of Lisp proposed by John McCarthy and Richard Gabriel). This paper shows that QLISP can easily encode most sources of parallelism in OPS5 that have been previously discussed in literature. This is significant because the OPS5 interpreter is the first large program to be encoded in QLISP, and as a result, this is the first practical demonstration of the expressive power of QLISP. The paper also lists the most commonly used QLISP constructs in the parallel implementation (and the contexts in which they are used), which serve as a hint to the QLISP implementor about what to optimize. Also discussed is the exploitation of speculative parallelism in RHS-evaluation for OPSS. This has not been previously discussed in the literature.