This Article 
 Bibliographic References 
 Add to: 
Parallel Rule Firing in Production Systems
March 1991 (vol. 3 no. 1)
pp. 11-17

To improve the performance of forward chaining production systems, a new parallel execution model in which multiple production rules are fired in parallel in each production cycle is proposed. Solutions for three major problems in parallel rule firing are provided. The first solution, interference analysis, detects cases where a parallel firing result is different from the result of any sequential firing. Based on a data dependency graph of production systems, general techniques applicable to both compile- and run-time interference analyses are proposed. The second solution, parallel firing algorithms, achieve the parallel firing on multiple processor architectures. An efficient selection algorithm is provided to select multiple rules to be fired in parallel by combining the compile- and run-time interference analysis techniques. The parallel programming environment, the third solution, provides language facilities to enable programmers to make full use of potential parallelism without considering the internal parallel mechanisms. A parallel firing simulator is also implemented to estimate the effectiveness of parallel firings of production system programs. The effectiveness of parallel rule firings on several production system applications is evaluated. Results show that the degree of concurrency can be increased by a factor of 2-9. The sources of parallelism are investigated based on the evaluation results.

[1] P. Bernstein and N. Goodman, "Concurrency Control in Distributed Database Systems,"ACM Computing Surveys, Vol. 13, No. 2, June 1981, pp. 185-221.
[2] C.L. Forgy,OPS5 User's Manual, CS-81-135, Carnegie-Mellon Univ., 1981.
[3] C.L. Forgy, "RETE: A fast algorithm for the many pattern/many object pattern match problem,"Artif. Intell., vol. 19, pp. 17-37, 1982.
[4] C.L. Forgy, A. Gupta, N. Newell, and R. Wedig, "Initial assessment of architectures for production systems," inProc. AAAI-84, 1984, pp. 116-120.
[5] J. D. Musa, "Tools for Measuring Software Reliability,"IEEE Spectrum, Feb. 1989, pp. 39-42; correction, April 1989, p. 8.
[6] F. Hayes-Rothet al., Building Expert Systems. New York: Addison Wesley, 1983.
[7] T. Ishida and S.J. Stolfo, "Towards parallel execution of rules in production system programs," inProc. Int. Conf. Parallel Processing, 1985, pp. 568-575.
[8] T. Ishida, "Optimizing rules in production system programs,"AAAI-88, pp. 699-704, 1988.
[9] T. Ishida, "Methods and effectiveness of parallel rule firing," inProc. IEEE Conf. Artif. Intell. Appl., 1990, pp. 116-122.
[10] Y. Ishikawa, H. Nakanishi, and Y. Nakamura, "Expert system for optimizing logic circuits," inProc. 34th Nat. Congress Inform. Processing Soc. Japan, 1987, pp. 1391-1392.
[11] J.E. Laird and A. Newell, "A universal weak method," CS-83-141, Carnegie-Mellon Univ., 1983.
[12] M. Lerner and J. Cheng, "The Manhattan mapper expert production system," Tech. Rep., Dep. Comput. Sci., Columbia Univ., 1983.
[13] D.P. Miranker, "TREAT: A better match algorithm for AI production systems," inProc. AAAI-87, 1987, pp. 42-47.
[14] D.I. Moldovan, "A model for parallel processing of production systems," inProc. IEEE Int. Conf. Syst. Man, Cybern., 1986, pp. 568-573.
[15] N. Nilsson,Principles of Artificial Intelligence. Palo Alto, CA: Tioga, 1980.
[16] A.O. Oshisanwo and P.P. Dasiewicz, "A parallel model and architecture for production systems," inProc. Int. Conf. Parallel Processing, 1987, pp. 147-153.
[17] S.J. Stolfo and D.E. Shaw, "DADO: A tree structured machine architecture for production systems," inProc. AAAI-82, 1982, pp. 242-246.
[18] S.J. Stolfo, "Five parallel algorithms for production system execution on the DADO machine," inProc. AAAI-84, 1984, pp. 300-307.
[19] P. M. Winston,Artificial Intelligence. Reading, MA: Addison-Wesley, 1984.

Index Terms:
parallel rule firing; production systems; performance; forward chaining; parallel execution model; interference analysis; data dependency graph; selection algorithm; parallel programming environment; parallel firing simulator; expert systems; parallel programming; programming environments
T. Ishida, "Parallel Rule Firing in Production Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 3, no. 1, pp. 11-17, March 1991, doi:10.1109/69.75883
Usage of this product signifies your acceptance of the Terms of Use.