Abstract
Distributed execution of logic programs on heterogeneous processors requires efficient task distribution and engine synchronization to exploit the potential for performance. This paper presents a task-driven scheduling technique to distribute tasks to engines effectively. It consists of a dynamic hierarchy of distributed scheduling components able to adapt to program characteristics and the platform configuration and to control the considerable communication costs while exploiting good degrees of parallelism. It also incorporates an abort & failure mechanism to reduce speculative work and keep engines as busy as possible. Several experimental results illustrate the performance of the model.
Preview
Unable to display preview. Download preview PDF.
References
K.A.M Ali and R. Karlsson. Scheduling OR-parallelism in MUSE. In K. Furukawa, editor, 8th International Conference on Logic Programming, pages 807–821, Paris, June 1991.
L. Araujo and J.J. Ruz. A parallel Prolog system for distributed memory. International Journal of Logic Programming, 33(1):49–79, October 1997.
A. Beaumont, S.M. Raman, and P. Szeredi. Flexible scheduling of OR-parallelism in Aurora: The Bristol scheduler. Technical report, Department of Computer Science, University of Bristol, October 1990.
J. Briat, M. Favre, C. Geyer, and J.C. de Kergommeaux. OPERA: Or-parallel Prolog system on Supernode. In P. Kacsuk and M.J. Wise, editors, Implementations of Distributed Prolog, pages 45–64, John Wiley,Chichester, 1992.
G.F. Coulouris and J. Dollimore. Distributed Systems: concepts and design, 2nd edition. Addison Wesley, 1994.
J.C. Cunha, P.D. Medeiros, M.B. Carvalhosa, and L.M. Pereira. Delta-Prolog: A distributed logic programming language and its implementation on distributed memory multiprocessors. In P. Kacsuk and M.J. Wise, editors, Implementations of Distributed Prolog, pages 335–356, John Wiley,Chichester, 1992.
I. de Castro Dutra. A flexible scheduler in the Andorra-I system. In Anthony Beaumont and Gopal Gupta, editors, Proceedings of ICLP '91-Pre-Conference workshop on Parallel Execution of Logic Programs, pages 70–82, Paris, June 1991.
S.K. Debray, P.L. Garcia, M.V. Hermenegildo, and N.W. Lin. Estimating the computational cost of logic programs. In B.L. Charlier, editor, Static Analysis Symposium 1994, pages 255–265, Namur, Belgium, Sept 1994.
I. Futo. The real time extension of CS-Prolog professional. In J. Barklund, B. Jayaraman, and J. Tanaka, editors, ICLP'94-Workshop on Parallel and Data Parallel Execution of Logic Programs, Santa Margherita Ligure, June 1994.
M.V. Hermenegildo and K.J. Greene. The &-Prolog system: Exploiting independent AND-parallelism. New Generation Computing, 9(3,4):233–257, 1991.
P. Kacsuk and M.J. Wise. Implementations of Distributed Prolog. John Wiley,Chichester, 1992.
E. Lusk, D.H.D. Warren, and S. Haridi. The Aurora OR-parallel system. New Generation Computing, 7(2,3):243–271, 1990.
E. Morel, J. Briat, J.C. de Kergommeaux, and C. Geyer. Side-effects in PloSys Orparallel Prolog on distributed memory machines. In M.J. Maher, editor, ICSLP'96-Compulog Net Meeting on Parallelism and Implementation Issues, Bonn, September 1996.
E. Shapiro. An OR-parallel algorithm for Prolog and its FCP implementation. In J.L. Lassez, editor, Proceedings of Forth International Conference on Logic Programming, pages 311–337, Melbourne, May 1987.
H. Taylor. Assembling a resolution multiprocessor from interface, programming and distributed processing components. Computer Languages, 22(2,3):181–192, 1996.
J. Turek, K. Pattipati, P. S. Yu, and J. Wolf. Scheduling parallelizable tasks: Putting it all on the shelf. In ACM SIGMETRICS and PERFORMANCE International Conference on Measurement and Modeling of Computer Systems, pages 225–236, Rhode Island, USA, June 1992.
A. Verden and H. Glaser. An AND-OR-parallel distributed Prolog executor. In P. Kacsuk and M.J. Wise, editors, Implementations of Distributed Prolog, pages 143–157, John Wiley,Chichester, 1992.
M.J. Wise. Experience with PMS-Prolog: A distributed, coarse-grain-parallel Prolog with processes, modules and streams. Software Practice and Experience, 22(2):151–175, 1993.
G. Xirogiannis. Compile-time analysis of freeness and side-effects for distributed. execution of Prolog programs. In T. Sellis and G. Pagkalos, editors, 6th Hellenic. Conference on Informatics, pages 701–722, Athens, December 1997.
G. Xirogiannis.Execution of Prolog by Transformations on Distributed Memory Multi-Processors. PhD thesis, Dep. of Computing & Elec. Engineering, Heriot-Watt University, Edinburgh, Scotland, 1998.
G. Xirogiannis. Granularity Control for Distributed Execution of Logic Programs. In 18th International Conference on Distributed Computing Systems to appear, Amsterdam, May 1998.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Xirogiannis, G., Taylor, H. (1998). A dynamic task distribution and engine allocation strategy for distributed execution of logic programs. In: Sloot, P., Bubak, M., Hertzberger, B. (eds) High-Performance Computing and Networking. HPCN-Europe 1998. Lecture Notes in Computer Science, vol 1401. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0037156
Download citation
DOI: https://doi.org/10.1007/BFb0037156
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64443-9
Online ISBN: 978-3-540-69783-1
eBook Packages: Springer Book Archive