Abstract
We have developed a technique that maps logic programs (database queries) onto a dataflow graph to support static scheduling in a multiprocessor environment [8]. A dataflow graph explicitly shows the execution paths, data dependence, and synchronization points in a query. The scheme attempts to properly group fine grain operations — select and join — into coarser grains as a means to exploit parallelism while minimizing the communication costs. This leads to a higher hardware utilization and performance.
In this paper, we expand the scope of our scheme by using a set of heuristic rules to assign processes to available processors more efficiently. This is made possible by analyzing the probability of success of each branch in the logic program. In a logic program, the early scheduling and execution of some branches with higher probability of failure leads to a higher possibility to eliminate many other branches. On the other hand, early execution of some branches with higher probability of success can lead to a higher hardware utilization. The extended scheme has been simulated, and its performance has been compared against the original model and the traditional parallel execution paradigm of the logic program.
Preview
Unable to display preview. Download preview PDF.
References
Anurag Acharya, Milind Tambe, and Anoop Gupta, “Implementation of Production Systems on Message-Passing Computers, ” IEEE Transactions on Parallel and Distributed Systems, vol.3, No.4, July, '92, pp. 477–487.
Jonas Barklund, and Hakan Millroth, “Integration Complex Data Structures in Prolog, ” Inter'l Symp. on Logic Programming, '87, pp. 415–425.
Johann Eder, “Logic and Databases,” International Summer School, '92, pp. 95–103.
Y. Freundlich, “Knowledge Bases and Databases,” IEEE Computer, vol.23, no.11, Nov. '90, pp. 51–57.
Sumit Ganguly, Waqar Hasan, and Ravi Krishnamurthy, “Query Optimization for Parallel Execution,” ACM SIGMOD, '92, pp. 9–18.
G. Gupta and V. S. Costa, “AND-OR Parallelism in Full Prolog with Paged Binding Arrays,” Proc. of PARLE, '92, pp. 617–632.
Gitu Jain, B. Ramkuman, and Jon G. Kuhl, “A Control Strategy Based on Heuristic Techniques for the Parallel Execution of Logic Programs,” 8th Inter'l Conf. on Parallel Processing Symposium, '94, pp. 311–315.
Byung-Uk Jun, A.R. Hurson, and B. Shirazi, “Handling Logic Programs in Multithreaded Dataflow Environment,” Second Biennial European Joint Conf. on Engineering Systems Design and Analysis, '94, pp. 533–540.
Rosana S.G. Lanzelotte, Patrick Valduriez, and Mohamed Zait, “Optimization of Object-Oriented Recursive Queries using Cost-Controlled Strategies,” ACM SIGMOD, '92, pp. 256–265.
B. Lee, A.R. Hurson, and T.Y. Feng, “A Vertically Layered Allocation Scheme for Data Flow Systems,” Journal of Parallel and Distributed Computing, vol.11, '91, pp. 175–187.
Sang-goo Lee, L.J. Henschen, and G.Z. Qadah, “Semantic Query Reformulation in Deductive Databases,” 7th Inter'l Conf. on Data Engineering, '91, pp. 232–239.
B. Lee, and A.R. Hurson, “Dataflow Architectures and Multithreading,” IEEE Computer, vol.27, no.8, '94, pp. 27–39.
M.V. Mannino, P. Chu, and T. Sager, “Statistical Profile Estimation in Database Systems,” ACM Computing Surveys, vol.20, no.3, Sep. '88, pp. 191–221.
Dan Moldovan, Wing Lee, and Changhwa Lin, “SNAP: A Marker-Propagation Architecture for Knowledge Processing,” IEEE Transactions on Parallel and Distributed Systems, vol.3, No.4, July, '92, pp. 397–410.
C.D. Polychronopoulos and U. Banerjee, “Processor Allocation for Horizontal and Vertical Parallelism and Related Speedup Bounds,” IEEE transactions on Computer, vol. C-36, no.4, Apr. '87, pp. 410–420.
J.A. Robinson, “A Machine-Oriented Logic based on the Resolution Principle,” Journal of the Association for Computing Machinery, '80, no.12, pp. 23–41.
S. Taylor, et al., “Logic programming using parallel associative operations,” Inter'l Symp. on Logic Programming, '84, pp. 58–68.
Jeffrey D. Ullman, Principle of Database and Knowledge Base Systems, vol.2, Computer Science Press, 1989.
M. J. Wise, “Message-Brokers and Communicating Prolog Processes,” 4th Inter'l Conf. on Parallel Architectures and Languages in Europe, '92, pp. 535–549.
Z. Yuhan, T. Honglei, and X. Li, “AND/OR Parallel Execution of Logic Programs: Exploiting Dependent AND-parallelism,” ACM SIGPLAN Notices, vol.28, no.5, '93, pp. 19–28.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hurson, A.R., Jun, BU. (1995). Optimization scheme on execution of logic program in a dataflow environment. In: Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 1995. Lecture Notes in Computer Science, vol 964. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-60222-4_110
Download citation
DOI: https://doi.org/10.1007/3-540-60222-4_110
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-60222-4
Online ISBN: 978-3-540-44754-2
eBook Packages: Springer Book Archive