Speeding Up Production Systems: From Concurrent Matching to Parallel Rule Firing*

This chapter identifies the problems that a computer architect faces in attempting to speed up the execution of production systems. We first focus on state-saving algorithms using Rete networks because they were the major source of inspiration for a number of research efforts in the eighties'. Early attempts to speed up production systems almost exclusively concentrated on concurrently executing the match phase of the match-select-act loop. More recent studies have shown that significant speedup will not be obtained unless architectures include the capability for parallel rule firing. However, difficult problems, such as the identification of dependencies among different rules and guarantee of correctness, arise when rules are fired in parallel. The second part of this chapter identifies these problems and critiques some of the solutions proposed by different researchers.

[1]  Dan I. Moldovan,et al.  Performance Comparison of Models for Multiple Rule Firing , 1991, IJCAI.

[2]  Toru Ishida,et al.  Methods and effectiveness of parallel rule firing , 1990, Sixth Conference on Artificial Intelligence for Applications.

[3]  Seshashayee Sankarshana Murthy Synergy in cooperating agents: designing manipulators from task specifications , 1992 .

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

[5]  Anoop Gupta,et al.  Implementation of Production Systems on Message-Passing Computers , 1992, IEEE Trans. Parallel Distributed Syst..

[6]  O. G. Selfridge,et al.  Pandemonium: a paradigm for learning , 1988 .

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

[8]  Ho Soo Lee,et al.  Match Algorithms for Generalized Rete Networks , 1992, Artif. Intell..

[9]  R. E. Seviora,et al.  An evaluation of DRete on CUPID for OPS5 matching , 1989, IJCAI 1989.

[10]  Benjamin Kuipers,et al.  Towards a Theory of Access-limited Logic for Knowledge Representation , 2005 .

[11]  Jay Labhart,et al.  Forward chaining parallel inference , 1990, IEEE Conference on Aerospace and Electronics.

[12]  Rudolph E. Seviora,et al.  A Multiprocessor Architecture for Production System Matching , 1987, AAAI.

[13]  Salvatore J. Stolfo,et al.  PARULE: Parallel Rule Processing Using Meta-rules for Redaction , 1991, J. Parallel Distributed Comput..

[14]  M. C. Rowe,et al.  Parallel inference performance prediction , 1990, IEEE Conference on Aerospace and Electronics.

[15]  Salvatore J. Stolfo,et al.  The PARULEL Parallel Rule Language , 1991, ICPP.

[16]  Dan I. Moldovan RUBIC: a multiprocessor for rule-based systems , 1989, IEEE Trans. Syst. Man Cybern..

[17]  Norbert Theuretzbacher,et al.  The Challenge of Real-Time Process Control for Production Systems , 1988, AAAI.

[18]  Allen Newell,et al.  High-speed implementations of rule-based systems , 1989, TOCS.

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

[20]  Andrew Sohn,et al.  Data-Driven Parallel Production Systems , 1990, IEEE Trans. Software Eng..

[21]  Toru Ishida,et al.  Optimizing Rules in Production System Programs , 1988, AAAI.

[22]  S.N. Talukdar,et al.  Scale efficient organizations , 1992, [Proceedings] 1992 IEEE International Conference on Systems, Man, and Cybernetics.

[23]  Christine T. Iwaskiw,et al.  Knowledge Base Compilation , 1989, IJCAI.

[24]  Salvatore J. Stolfo,et al.  DADO: A Parallel Processor for Expert Systems , 1984 .

[25]  James G. Schmolze,et al.  A Parallel Asynchronous Distributed Production System , 1990, AAAI.

[26]  Daniel P. Miranker,et al.  On the Performance of the CREL System , 1991, J. Parallel Distributed Comput..

[27]  Dan I. Moldovan,et al.  The State of the Art in Paralle Production Systems , 1992, J. Parallel Distributed Comput..

[28]  Les Gasser,et al.  An Organizational Approach to Adaptive Production Systems , 1990, AAAI.

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

[30]  James G. Schmolze Guaranteeing Serializable Results in Synchronous Parallel Production Systems , 1991, J. Parallel Distributed Comput..

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

[32]  Howard E. Shrobe,et al.  Towards a Virtual Parallel Inference Engine , 1988, AAAI.

[33]  Jian Xu,et al.  Mapping Rule-Based Systems onto Multicomputers Using Simulated Annealing , 1991, J. Parallel Distributed Comput..

[34]  Anoop Gupta Parallelism in production systems , 1987 .

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

[36]  Gerhard Zimmermann,et al.  PESA I-A Parallel Architecture for Production Systems , 1987, ICPP.