To improve the performance of forward chaining production systems, a new parallel execution model is proposed, where multiple production rules are fired in parallel in each production cycle. This paper provides solutions for three major problems in parallel rule firing. The interference analysis, which 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, we propose general techniques applicable to both compile- and run-time interference analyses. The parallel firing algorithms, which 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, which 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. We have evaluated the effectiveness of parallel rule firings on several production system applications. 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.
|Number of pages||7|
|Journal||IEEE Transactions on Knowledge and Data Engineering|
|Publication status||Published - 1991 Mar|
ASJC Scopus subject areas
- Information Systems
- Computer Science Applications
- Computational Theory and Mathematics