The Effectiveness of Task-Level Parallelism for Production Systems

Abstract 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 parallelism. These investigations have revealed that the total speed-up available from this source is insufficient to alleviate the problem of slow execution in large-scale production system implementations. 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 and 400,000 production firings. 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- to 100-fold) speed-ups. 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 virtual shared memory . 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 systems.

[1]  Milind Tambe,et al.  Production Systems on Message Passing Computers: Simulation Results and Analysis , 1989, ICPP.

[2]  Salvatore J. Stolfo,et al.  Towards the Parallel Execution of Rules in Production System Programs , 1985, ICPP.

[3]  Daniel P. Miranker TREAT: A new and efficient match algorithm for AI production systems , 1988 .

[4]  A. Newell Unified Theories of Cognition , 1990 .

[5]  David M. McKeown,et al.  Stereo Verification In Aerial Image Analysis , 1986 .

[6]  Paul P. Dasiewicz,et al.  A Parallel Model and Architecture for Production Systems , 1987, International Conference on Parallel Processing.

[7]  Toru Ishida,et al.  Methods and effectiveness of parallel rule firing , 1990, Sixth Conference on Artificial Intelligence for Applications.

[8]  Allen Newell,et al.  SOAR: An Architecture for General Intelligence , 1987, Artif. Intell..

[9]  Kemal Oflazer,et al.  Partitioning in parallel processing of production systems , 1987 .

[10]  Allen Newell,et al.  Parallel OPS5 on the Encore Multimax , 1988, ICPP.

[11]  Kai Li,et al.  IVY: A Shared Virtual Memory System for Parallel Computing , 1988, ICPP.

[12]  Johnnie W. Baker,et al.  A parallel production system extending OPS5 , 1990, [1990 Proceedings] The Third Symposium on the Frontiers of Massively Parallel Computation.

[13]  John P. McDermott,et al.  R1 Revisited: Four Years in the Trenches , 1984, AI Mag..

[14]  J. McDermott,et al.  Rule-Based Interpretation of Aerial Imagery , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[15]  Anoop Gupta Parallelism in production systems , 1987 .

[16]  Allen Newell,et al.  Soar/PSM-E: investigating match parallelism in a learning production sytsem , 1988, PPoPP 1988.

[17]  Gerhard Zimmermann,et al.  PESA I-A Parallel Architecture for Production Systems , 1987, ICPP.

[18]  Allen Newell,et al.  Multiplicative Speedup of Systems , 1977 .

[19]  P.L. Butler,et al.  Parallel architecture for OPS5 , 1988, [1988] The 15th Annual International Symposium on Computer Architecture. Conference Proceedings.

[20]  David M. McKeown,et al.  Automating Knowledge Acquisition For Aerial Image Interpretation , 1987, Photonics West - Lasers and Applications in Science and Engineering.

[21]  Allen Newell,et al.  Parallel OPS5 User's Manual , 1988 .

[22]  V. Joseph Subash Mohan,et al.  Performance of parallel programs: model and analyses , 1984 .

[23]  Allen Newell,et al.  The effectiveness of task-level parallelism for high-level vision , 1989, PPOPP '90.

[24]  Elaine Kant,et al.  Programming expert systems in OPS5 , 1985 .