The DADO production system machine
Journal of Parallel and Distributed Computing
Partitioning in parallel processing of production systems
Partitioning in parallel processing of production systems
Implementing large production systems in a DBMS environment: concepts and algorithms
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
TREAT: a new and efficient match algorithm for AI production systems
TREAT: a new and efficient match algorithm for AI production systems
Exploiting concurrency in a database implementation of production systems
Exploiting concurrency in a database implementation of production systems
Parallelism in Production Systems
Parallelism in Production Systems
Parallel Rule Firing in Production Systems
IEEE Transactions on Knowledge and Data Engineering
UMASS Parallel OPS5 User''s Manual and Technical Report
UMASS Parallel OPS5 User''s Manual and Technical Report
On the efficient implementation of production systems.
On the efficient implementation of production systems.
A methodology for programming production systems and its implications on parallelism
A methodology for programming production systems and its implications on parallelism
Theory, Volume 1, Queueing Systems
Theory, Volume 1, Queueing Systems
Hi-index | 0.00 |
To speed up production systems, researchers have developed parallel algorithms that execute multiple instantiations simultaneously. Unfortunately, without special controls, such systems can produce results that could not have been produced by any serial execution. We present and compare three different algorithms that guarantee a serializable result in such systems. Our goal is to analyze the overhead that serialization incurs. All three algorithms perform synchronization at the level of instantiations, not rules, and are targeted for shared-memory machines. One algorithm operates synchronously while the other two operate asynchronously. Of the latter two, one synchronizes instantiations using compiled tests that were determined from an omine analysis while the other uses a novel locking scheme that requires no such analysis. Our examination of performance shows that asynchronous execution is clearly faster than synchronous execution and that the locking method is somewhat faster than the method using compiled tests. Moreover, we predict that the synchronization and/or locking needed to guarantee serializability will limit speedup no matter how many processors are used.