Programming expert systems in OPS5: an introduction to rule-based programming
Programming expert systems in OPS5: an introduction to rule-based programming
SOAR: an architecture for general intelligence
Artificial Intelligence
TREAT: a new and efficient match algorithm for AI production systems
TREAT: a new and efficient match algorithm for AI production systems
Partitioning in parallel processing of production systems
Partitioning in parallel processing of production systems
Parallel architecture for OPS5
ISCA '88 Proceedings of the 15th Annual International Symposium on Computer architecture
Soar/PSM-E: investigating match parallelism in a learning production sytsem
PPEALS '88 Proceedings of the ACM/SIGPLAN conference on Parallel programming: experience with applications, languages and systems
Parallel implementation of OPS5 on the encore multiprocessor: results and analysis
International Journal of Parallel Programming
Automating knowledge acquisition for aerial image interpretation
Computer Vision, Graphics, and Image Processing
Unified theories of cognition
Methods and effectiveness of parallel rule firing
Proceedings of the sixth conference on Artificial intelligence applications
Performance of parallel programs: model and analyses
Performance of parallel programs: model and analyses
Parallelism in production systems
Parallelism in production systems
Implementation of Production Systems on Message-Passing Computers
IEEE Transactions on Parallel and Distributed Systems
Hi-index | 0.00 |
Large production systems (rule-based systems) continue to suffer from extremely slow execution which limits their utility in practical applications as well as in research settings. Most investigations in speeding up these systems have focused on match (or knowledge-search) parallelism. Although good speed-ups have been achieved in this process, these investigations have revealed the limitations on the total speed-up available from this source. This limited speed-up is insufficient to alleviate the problem of slow execution in large-scale production system implementations. Such large-scale systems are expected to increase as researchers develop increasingly more competent production systems.In this paper, we focus on task-level parallelism, which is obtained by a high-level decomposition of the production system. Speed-ups obtained from task-level parallelism will multiply with the speed-ups obtained from match parallelism. The vehicle for our investigation of task-level parallelism is SPAM, a high-level vision system, implemented as a production system. SPAM is a mature research system with a typical run requiring between 50,000 to 400,000 production firings and an execution time of the order of 10 to 100 cpu hours.We report very encouraging speed-ups from task-level parallelism in SPAM — our parallel implementation shows near linear speed-ups of over 12 fold using 14 processors and points the way to substantial (50-100 fold) speed-ups from task-level parallelism. We present a characterization of task-level parallelism in production systems and describe our methodology for selecting and applying a particular approach to parallelize SPAM. Additionally, we report the speed-ups obtained from the use of shared virtual memory (network shared memory) in this implementation. Overall, task-level parallelism has not received much attention in the literature. Our experience illustrates that it is potentially a very important tool for speeding up large-scale production systems1.