Abstract :
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
Keywords :
expert systems; parallel programming; programming environments; data dependency graph; forward chaining; interference analysis; parallel execution model; parallel firing simulator; parallel programming environment; parallel rule firing; performance; production systems; selection algorithm; Diversity reception; Expert systems; Fires; Interference; Parallel algorithms; Parallel processing; Problem-solving; Production systems; Programming profession; Runtime;