Skip to main content

A dynamic task distribution and engine allocation strategy for distributed execution of logic programs

  • 2. Computational Science
  • Conference paper
  • First Online:
High-Performance Computing and Networking (HPCN-Europe 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1401))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. L. Araujo and J.J. Ruz. A parallel Prolog system for distributed memory. International Journal of Logic Programming, 33(1):49–79, October 1997.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. G.F. Coulouris and J. Dollimore. Distributed Systems: concepts and design, 2nd edition. Addison Wesley, 1994.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. M.V. Hermenegildo and K.J. Greene. The &-Prolog system: Exploiting independent AND-parallelism. New Generation Computing, 9(3,4):233–257, 1991.

    Google Scholar 

  11. P. Kacsuk and M.J. Wise. Implementations of Distributed Prolog. John Wiley,Chichester, 1992.

    Google Scholar 

  12. E. Lusk, D.H.D. Warren, and S. Haridi. The Aurora OR-parallel system. New Generation Computing, 7(2,3):243–271, 1990.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. H. Taylor. Assembling a resolution multiprocessor from interface, programming and distributed processing components. Computer Languages, 22(2,3):181–192, 1996.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. 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.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

  21. G. Xirogiannis. Granularity Control for Distributed Execution of Logic Programs. In 18th International Conference on Distributed Computing Systems to appear, Amsterdam, May 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Peter Sloot Marian Bubak Bob Hertzberger

Rights and permissions

Reprints 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

Publish with us

Policies and ethics