Parallel Rule Firing in Production Systems

Research output: Contribution to journalArticle

41 Citations (Scopus)

Abstract

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.

Original languageEnglish
Pages (from-to)11-17
Number of pages7
JournalIEEE Transactions on Knowledge and Data Engineering
Volume3
Issue number1
DOIs
Publication statusPublished - 1991 Jan 1
Externally publishedYes

Fingerprint

Parallel programming
Simulators

ASJC Scopus subject areas

  • Information Systems
  • Computer Science Applications
  • Computational Theory and Mathematics

Cite this

Parallel Rule Firing in Production Systems. / Ishida, Toru.

In: IEEE Transactions on Knowledge and Data Engineering, Vol. 3, No. 1, 01.01.1991, p. 11-17.

Research output: Contribution to journalArticle

@article{94706fca79aa4b47b85f58174722b409,
title = "Parallel Rule Firing in Production Systems",
abstract = "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.",
author = "Toru Ishida",
year = "1991",
month = "1",
day = "1",
doi = "10.1109/69.75883",
language = "English",
volume = "3",
pages = "11--17",
journal = "IEEE Transactions on Knowledge and Data Engineering",
issn = "1041-4347",
publisher = "IEEE Computer Society",
number = "1",

}

TY - JOUR

T1 - Parallel Rule Firing in Production Systems

AU - Ishida, Toru

PY - 1991/1/1

Y1 - 1991/1/1

N2 - 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.

AB - 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.

UR - http://www.scopus.com/inward/record.url?scp=0026120803&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0026120803&partnerID=8YFLogxK

U2 - 10.1109/69.75883

DO - 10.1109/69.75883

M3 - Article

VL - 3

SP - 11

EP - 17

JO - IEEE Transactions on Knowledge and Data Engineering

JF - IEEE Transactions on Knowledge and Data Engineering

SN - 1041-4347

IS - 1

ER -