The Allocation Problem in Parallel Production Systems

Abstract Parallelism existing in a production system at different levels may be used to speed up the execution. In this paper, the notion of dependence between rules is introduced. It is shown that the analysis of dependences reveals the inherent parallelism and communication requirements among the rules. Techniques for automatic detection of parallelism and communication requirements are presented. A total parallel model which exploits parallelism in all the phases including matching and firing productions is assumed. The execution of a production of system on a multiprocessor involves the problem of partitioning the database and the rules among the processors. This is formulated as a 0–1 linear-quadratic programming problem and is shown to reduce to 0–1 linear programming with the penalty of increasing the size of the problem. Finally, a heuristic is given to solve the allocation problem using the A ∗ algorithm.

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

[2]  Wesley W. Chu,et al.  Task Allocation and Precedence Relations for Distributed Real-Time Systems , 1987, IEEE Transactions on Computers.

[3]  Hartmut Ehrig,et al.  Introduction to the Algebraic Theory of Graph Grammars (A Survey) , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

[4]  Willard I. Zangwill,et al.  Media Selection by Decision Programming , 1976 .

[5]  Melvin A. Breuer,et al.  Design automation of digital systems , 1972 .

[6]  Dan I. Moldovan,et al.  MODEL FOR PARALLEL PROCESSING OF PRODUCTION SYSTEMS. , 1986 .

[7]  Egon Balas,et al.  Discrete Programming by the Filter Method , 1967, Oper. Res..

[8]  G. Nemhauser,et al.  Integer Programming , 2020 .

[9]  Fred W. Glover,et al.  Surrogate Constraints , 1968, Oper. Res..

[10]  Daniel P. Miranker Performance Estimates for the DADO Machine: A Comparison of Treat and Rete , 1984, FGCS.

[11]  Manfred Nagl,et al.  A Tutorial and Bibliographical Survey on Graph Grammars , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

[12]  Sergiu Rudeanu,et al.  Pseudo-Boolean Methods for Bivalent Programming , 1966 .

[13]  David E. Shaw,et al.  NON-VON's applicability to three AI task area , 1985, IJCAI 1985.

[14]  Harvey M. Salkin,et al.  Integer Programming , 2019, Engineering Optimization Theory and Practice.

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

[16]  C. Forgy,et al.  PRODUCTION SYSTEM CONFLICT RESOLUTION STRATEGIES1 , 1978 .

[17]  Allen Newell,et al.  Parallel algorithms and architectures for rule-based systems , 1986, ISCA '86.

[18]  F. Glover A Multiphase-Dual Algorithm for the Zero-One Integer Programming Problem , 1965 .

[19]  Dan I. Moldovan RUBIC: a multiprocessor for rule-based systems , 1989, IEEE Trans. Syst. Man Cybern..

[20]  Shahid H. Bokhari,et al.  On the Mapping Problem , 1981, IEEE Transactions on Computers.

[21]  Raymond E. Miller,et al.  On Formulating Simultaneity for Studying Parallelism and Synchronization , 1980, J. Comput. Syst. Sci..

[22]  Frederick S. Hillier,et al.  Introduction of Operations Research , 1967 .

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

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

[25]  Charles L. Forgy,et al.  Rete: A Fast Algorithm for the Many Patterns/Many Objects Match Problem , 1982, Artif. Intell..

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

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

[28]  Alan R. Hevner,et al.  Design of a Functionally Distributed, Multiprocessor Database Machine Using Data Flow Analysis , 1987, IEEE Transactions on Computers.

[29]  Harold S. Stone,et al.  Multiprocessor Scheduling with the Aid of Network Flow Algorithms , 1977, IEEE Transactions on Software Engineering.

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

[31]  Anoop Gupta,et al.  Suitability of Message Passing Computers for Implementing Production Systems , 1988, AAAI.

[32]  Chien-Chung Shen,et al.  A Graph Matching Approach to Optimal Task Assignment in Distributed Computing Systems Using a Minimax Criterion , 1985, IEEE Trans. Computers.

[33]  Camille C. Price,et al.  The assignment of computational tasks among processors in a distributed system , 1981, AFIPS '81.

[34]  Lawrence J. Watters Letter to the Editor - Reduction of Integer Polynomial Programming Problems to Zero-One Linear Programming Problems , 1967, Oper. Res..

[35]  D. J. Laughhunn Quadratic Binary Programming with Application to Capital-Budgeting Problems , 1970, Oper. Res..

[36]  J. McDermott,et al.  Production system conflict resolution strategies , 1977, SGAR.

[37]  Dan I. Moldovan,et al.  Transformation techniques for parallel processing of production systems , 1987 .

[38]  Salvatore J. Stolfo Five Parallel Algorithms for Production System Execution on the DADO Machine , 1984, AAAI.