This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Decomposition Abstraction in Parallel Rule Languages
November 1996 (vol. 7 no. 11)
pp. 1164-1184

Abstract—Decomposition abstraction is the process of organizing and specifying decomposition strategies for the exploitation of parallelism available in an application. In this paper we develop and evaluate declarative primitives for rule-based programs that expand opportunities for parallel execution. These primitives make explicit, implicit relations among the data and similarly among the rules. The semantics of the primitives are presented in a general object-based framework such that they may be applied to most rule-based programming languages.

We show how the additional information provided by the decomposition primitives can be incorporated into a semantic-based dependency analysis technique. The resulting analysis reveals parallelism at compile time that is very difficult, if not impossible, to discover by traditional syntactic analysis techniques. Simulation results demonstrate scalable and broadly available parallelism.

[1] B. G. Buchanan and E. H. Shotliffe, Rule-Based Expert Systems.Reading, Mass.: Addison-Wesley, 1984.
[2] J. McDermott, "R1: A Rule-Based Configurer of Computer Systems," Artificial Intelligence, vol. 19, pp. 39-88, 1982.
[3] C.L. Forgy, A. Gupta, A. Newell, and R. Wedig, "Initial Assessment of Architectures for Production Systems," Proc. Fourth Nat'l Conf. Artificial Intelligence (AAAI-84), pp. 116-120,Austin, Tex., Aug. 1984.
[4] Proc. RIDE '94: Workshop Research Issues in Data Eng./Active Database Systems. IEEE CS Press, Feb. 1994.
[5] A. Gupta, "Parallelism in Production Systems," PhD thesis, Carnegie Mellon Univ., Pittsburgh, Penn., Mar. 1986.
[6] S. Kuo and D. Moldovan, "The State of the Art in Parallel Production Systems," J. Parallel andDistributed Computing, vol. 15, pp. 1-26, June 1992.
[7] D.P. Miranker, "Special Issue on the Parallel Execution of Rule Systems: Guest Editor's Introduction," J. Parallel and Distributed Computing, vol. 13, no. 4, pp. 345-347, Dec. 1991.
[8] A. Sohn and J.-L. Gaudiot, "A Survey on the Parallel Distributed Processing of Production Systems," Int'l J. Artificial Intelligence Tools, vol. 1, no. 2, pp. 279-331, June 1992.
[9] D. Klappholtz, X. Kong, and A.D. Kallis, "Refined Fortran: An Update," Proc. Supercomputing '89,Santa Clara, Calif., Nov. 1989.
[10] S. Hiranandani, K. Kennedy, C. Koelbel, U. Kremer, and C. Tseng, "An Overview of the Fortran D Programming System," Proc. Fourth Workshop Languages and Compilers for Parallel Computing, pp. e1-e17, 1991.
[11] D.A. Mundie and D.A. Fisher, "Parallel Processing in Ada," Computer, vol. 19, no. 8, pp. 20-25, Aug. 1986.
[12] N.H. Gehani and W.D. Roome, "Concurrent C," Software—Practice and Experience, vol. 16, no. 9, pp. 821-844, 1986.
[13] R.H. Halstead Jr., "Multilisp: A language for concurrent symbolic computation," ACM Trans. Programming Languages and Systems, vol. 7, pp. 501-538, Oct. 1985.
[14] A. Brogi and P. Ciancarini, "The Concurrent Logic Language Shared Prolog," ACM Trans. Programming Languages and Systems, vol. 13, no. 1, pp. 99-123, 1991.
[15] T. Ishida and S.J. Stolfo, "Toward the Parallel Execution of Rules in Production System Programs," Proc. IEEE Int'l Conf. Parallel Processing, pp. 568-574, 1985.
[16] C.-M. Kuo, D.P. Miranker, and J.C. Browne, "On the Performance of the CREL System," J. Parallel and Distributed Computing, vol. 13, no. 4, pp. 424-441, Dec. 1991.
[17] S. Kuo and D. Moldovan, "Implementation of Multiple Rule Firing Production Systems on Hypercube," J. Parallel and Distributed Computing, vol. 13, no. 4, pp. 383-394, Dec. 1991.
[18] D.P. Miranker, C. Kuo, and J. Browne, "Parallelizing Compilation of Rule-Based Programs," Proc. IEEE Int'l Conf. Parallel Processing, vol. II, pp. 247-251, 1990.
[19] J.G. Schmolze, "Guaranteeing Serializable Results in Synchronous Parallel Production Systems," J. Parallel and Distributed Computing, vol. 13, no. 4, pp. 348-365, Dec. 1991.
[20] S-y. Wu and J.C. Browne, "Explicit Parallel Structuring for Rule Based Programming," Proc. Seventh Int'l Parallel Processing Symp, pp. 479-488, 1993.
[21] A. Gupta, C. Forgy, and A. Newell, "High-Speed Implementations of Rule-Based Systems," ACM Trans. Computer Systems, vol. 7, pp. 119-146, May 1989.
[22] L. Brownston,R. Farrell,E. Kant, and N. Martin,Programming Expert Systems in OPS5 An Introduction to Rule-Based Programming. Addison Wesley, 1985.
[23] T.A. Cooper and N. Wogrin, Rule Based Programming with OPS5.Palo Alto, Calif.: Morgan Kaufmann, 1988.
[24] F. Bancihon and S. Khoshafian, "A Calculus for Complex Objects," Proc. 15th ACM Symp. Principles of Database Systems, pp. 53-59, 1986.
[25] E. Bertino,M. Negri,G. Pelagatti,, and L. Sbattella,“Object-oriented query languages: The notion and the issues,” IEEE Trans. Knowledge and Data Eng., vol. 4, no. 3, pp. 223-237, 1992.
[26] A.J. Bernstein, "Analysis of Programs for Parallel Processing," IEEE Trans. Electronic Computers, vol. 15, pp. 757-762, 1966.
[27] P. Bernstein, V. Hadzilacos, and N. Goodman, Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.
[28] C. Papadimitriou, The Theory of Database Concurrency Control. Computer Science Press, 1986.
[29] F. Darema-Rogers, V.A. Norton, and G.F. Pfister, "Using a Single-Program-Multiple-Data Computation Model for Parallel Execution of Scientific Applications," Research Report RC 11552, IBM T.J. Watson Research Center, Yorktown Heights, N.Y., 1985.
[30] W.D. Hillis and G.L. Steele, "Data Parallel Algorithms," Comm. ACM, vol. 29, no. 12, pp. 1,170-1,183, Dec. 1986.
[31] H. Zima and B. Chapman, Supercompilers for Parallel and Vector Computers. ACM Press, 1990.
[32] D.N. Gordin and A.J. Pasik, "Set-Oriented Constructs: From Rete Rule Bases to Database Systems," Proc. ACM SIGMOD Int'l Conf. Management of Data, pp. 60-67, 1991.
[33] S.J. Stolfo, O. Wolfson, P.K. Chan, H.M. Dewan, L. Woodbury, J.S. Glazier, and D.A. Ohsie, "PARULEL: Parallel Rule Processing Using Meta-Rules for Redaction," J. Parallel and Distributed Computing, vol. 13, no. 4, pp. 366-382, Dec. 1991.
[34] D. Maier, The Theory of Relational Databases.Rockville, Md.: Computer Science Press, 1983.
[35] D.E. Neiman, "Issues in the Design and Control of Parallel Rule-Firing Production Systems," J. Parallel and Distributed Computing, vol. 23, no. 3, pp. 338-363, Dec. 1994.
[36] H.S. Lee and M.I. Schor, "Match Algorithms for Generalized Rete Networks," Artificial Intelligence, vol. 54, pp. 249-274, Apr. 1992.
[37] D.P. Miranker, "TREAT: A New and Efficient Match Algorithm for AI Production Systems," PhD thesis, Dept. of Computer Science, Columbia Univ., 1987; also published by Morgan Kaufmann, 1990.
[38] D.P. Miranker, D.A. Brant, B.J. Lofaso, and D. Gadbois, "On the Performance of Lazy Matching in Production Systems," Proc. Nat'l Conf. Artificial Intelligence, pp. 685-692, July 1990.
[39] B.N. Bershad, E.D. Lazowska, and H.M. Levy, "PRESTO: A System for Object-Oriented Parallel Programming," Software—Practice and Experience, vol. 18, no. 8, pp. 713-732, Aug. 1988.
[40] B. Kruatrachue and T. Lewis,"Grain size determination for parallel processing," IEEE Software, pp. 23-32, Jan. 1988.
[41] H. El-Rewini, T.G. Lewis, and H.H. Ali, Task Scheduling in Parallel and Distributed Systems. Prentice Hall, 1994.
[42] D.A. Brant, T. Grose, B. Lofaso, and D.P. Miranker, “Effects of Database Size on Rule System Performance: Five Case Studies,” Proc. 17th Int'l Conf. Very Large Databases, 1991.
[43] D.L. Waltz, "Understanding Line Drawings of Scenes with Shadows," The Psychology of Computer Vision, P. Winston, ed., pp. 19-91.New York: McGraw Hill, 1975.
[44] G. Kiernan,C. de Maindreville,, and E. Simon,“Making deductive database a practical technology: A step forward,” Proc. ACM-SIGMOD Int’l Conf. Management of Data, 1990.
[45] D.P. Miranker and B.J. Lofaso,"The organization and performance of a TREAT-based production system compiler," IEEE Trans. Knowledge and Data Engineering, vol. 3, no. 1, pp. 3-10, Mar. 1991.
[46] H.M. Dewan, S.J. Stolfo, M. Hernández, and J.-J. Hwang, "Predictive Dynamic Load Balancing of Parallel and Distributed Rule and Query Processing," Proc. 1994 ACM SIGMOD Int'l Conf. Management of Data, pp. 277-288, 1994; also appears in SIGMOD RECORD, vol. 23, no. 2, pp. 277-288, June 1994.
[47] S.J. Stolfo and D.E. Shaw, "DADO: A Tree-Structured Machine Architecture for Production Systems," Proc. Second Nat'l Conf. Artificial Intelligence (AAAI-82), 1982.
[48] M. van Biema, D.P. Miranker, and S.J. Stolfo, "The Do-Loop Considered Harmful in Production System Programming," Expert Database Systems, Larry Kerschberg, ed., pp. 177-190.Redwood City, Calif.: Benjamin/Cummings, 1986.
[49] L.M.L. Delcambre and J.N. Etheredge, "The Relational Production Language: A Production Language for Relational Databases," Expert Database Systems, Proc. Second Int'l Conf. Expert Database Systems, Larry Kerschberg, ed., pp. 333-351.Redwood City, Calif.: Benjamin/Cummings, 1988.
[50] S.J. Finkelstein and J. Widom, "A Syntax and Semantics for Set-Oriented Production Rules in Relational Database Systems," SIGMOD Record, vol. 18, no. 3, pp. 36-45, Sept. 1989.
[51] M.A. Kelly and R.E. Seviora, "An Evaluation of DRete on CUPID for OPS5 Matching," Proc. 11th Int'l Joint Conf. Artificial Intelligence (IJCAI-89),Detroit, Aug. 1989.
[52] S.J. Stolfo, "Five Parallel Algorithms for Production System Execution on the DADO Machine," Proc. Nat'l Conf. Artificial Intelligence, pp. 300-307, 1984.
[53] M.I. Schor, T.P. Daly, H.S. Lee, and B.R. Tibbitts, "Advances in Rete Pattern Matching," Proc. AAAI-86, pp. 226-232, YES/RETE, 1986.
[54] "Special Issue on the Parallel Execution of Rule Systems," J. Parallel and Distributed Computing, vol. 13, no. 4, Dec. 1991.
[55] W. Harvey, D. Kalp, M. Tambe, D. McKeown, and A. Newell, "The Effectiveness ofTask-Level Parallelism for Production Systems," J. Parallel and Distributed Computing, vol. 13, no. 4, pp. 395-411, Dec. 1991.
[56] H.M. Dewan, S.J. Stolfo, and L. Woodbury, "Scalable Parallel and Distributed Expert Database Systems with Predictive Load Balancing," J. Parallel and Distributed Computing, vol. 22, no. 3, pp. 506-522, Sept. 1994.
[57] J.C. Browne et al., "A New Approach to Modularity in Rule-Based Programming," Proc. TAI, Sixth Int'l Conf. Tools with Artificial Intelligence, pp. 18-25, Nov. 1994.

Index Terms:
Decomposition abstraction, parallel production systems, multiple rule firing systems, parallel decomposition, explicit parallel languages, decomposition mechanisms, set-oriented constructs, semantic-based dependency analysis, functional dependency.
Citation:
Shiow-Yang Wu, Daniel P. Miranker, James C. Browne, "Decomposition Abstraction in Parallel Rule Languages," IEEE Transactions on Parallel and Distributed Systems, vol. 7, no. 11, pp. 1164-1184, Nov. 1996, doi:10.1109/71.544357
Usage of this product signifies your acceptance of the Terms of Use.