Issue No. 01 - March (1991 vol. 3)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/69.75883
<p>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.</p>
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," in IEEE Transactions on Knowledge & Data Engineering, vol. 3, no. , pp. 11-17, 1991.