Execution of OPS5 Production Systems on a Massively Parallel Machine

Abstract In recent years, the development of expert systems implemented by rule-based production systems has emerged as one of the dominant paradigms in the field of artificial intelligence. While production systems offer important advantages in large-scale AI applications, their use in such applications is typically very costly in execution time. In this paper, we describe an algorithm for executing production systems expressed in the OPS5 language on a massively parallel multiple-SIMD machine called NON-VON, portions of which are currently under construction at Columbia University. The algorithm, a parallel adaptation of Forgy's Rete Match, has been implemented and tested on an instruction-level simulator. We present a detailed performance analysis, based on the implemented code, for the averaged characteristics of six production systems having an average of 910 inference rules each. The analysis predicts an execution rate of more than 850 production firings per second using hardware comparable in cost to a VAX 11/780. By way of comparison, a LISP-based OPS5 interpreter running on a VAX 11/780 typically fires 1 to 5 rules per second, while a Bliss-based interpreter executes 5 to 12 rules per second.

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

[2]  Charles Lanny Forgy,et al.  On the efficient implementation of production systems. , 1979 .

[3]  Daniel P. Miranker Performance Estimates for the DADO Machine: A Comparison of Treat and Rete , 1984, FGCS.

[4]  Anoop Gupta,et al.  Measurements on production systems , 1983 .

[5]  Kemal Oflazer,et al.  Partitioning in parallel processing of production systems , 1987 .

[6]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[7]  David Elliot Shaw,et al.  The multiple-processor PPS chip of the NON-VON 3 supercomputer , 1985, Integr..

[8]  Michael J. Flynn,et al.  Some Computer Organizations and Their Effectiveness , 1972, IEEE Transactions on Computers.

[9]  John P. McDermott,et al.  R1: A Rule-Based Configurer of Computer Systems , 1982, Artif. Intell..

[10]  Donald L. McCracken Representation and Efficiency in a Production System for Speech Understanding , 1979, IJCAI.

[11]  Toru Ishida,et al.  Simultaneous Firing of Production Rules on Tree Structured Machines , 1984 .

[12]  Rick Walsh,et al.  On the Requirements of Future Expert Systems , 1983, IJCAI.

[13]  David Elliot Shaw Knowledge-based retrieval on a relational database machine , 1980 .

[14]  David E. Shaw,et al.  Allocation and Manipulation of Records in the NON-VON Supercomputer , 1983 .

[15]  John P. McDermott,et al.  OPS, A Domain-Independent Production System Language , 1977, IJCAI.

[16]  Salvatore J. Stolfo,et al.  DADO: A Tree-Structured Machine Architecture for Production Systems , 1982, AAAI.

[17]  Charles L. Forgy,et al.  Rete: A Fast Algorithm for the Many Patterns/Many Objects Match Problem , 1982, Artif. Intell..

[18]  Salvatore J. Stolfo,et al.  Architecture and Applications of DADO: A Large-Scale Parallel Computer for Artificial Intelligence , 1983, IJCAI.

[19]  Anoop Gupta Implementing OPS5 production systems on DADO , 1984 .

[20]  Douglas B. Lenat,et al.  Less Than General Production System Architectures , 1977, IJCAI.

[21]  Philip Klahr,et al.  Cognitive Economy in Artificial Intelligence Systems , 1979, IJCAI.