Skip to main content

Interfacing engines and schedulers in Or-Parallel Prolog systems

  • Submitted Presentations
  • Conference paper
  • First Online:
PARLE '91 Parallel Architectures and Languages Europe (PARLE 1991)

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

Abstract

Parallel Prolog systems consist, at least conceptually, of two components: an engine and a scheduler. This paper addresses the problem of defining a clean interface between these components. Such an interface has been designed for Aurora, a prototype or-parallel implementation of the full Prolog language for shared memory multiprocessors.

The practical purpose of the interface is to enable different engine and scheduler implementations to be used interchangeably. The development of the interface has, however, contributed in great extent to the clarification of issues in exploiting or-parallelism in Prolog. We believe that these issues are relevant to a wider circle of research in the area of or-parallel implementations of logic programming.

We believe that the concept of an engine-scheduler interface is applicable to a wider range of parallel Prolog implementations. Indeed, the present interface has been used in the Andorra-I system, which supports both and- and or-parallelism.

On leave from (and present address) SZKI IQSOFT, Donáti u. 35–45, Budapest, Hungary.

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. Khayri A. M. Ali and Roland Karlsson. The Muse approach to or-parallel Prolog. International Journal of Parallel Programming, 19(2):129–162, April 1990.

    Google Scholar 

  2. Anthony Beaumont, S. Muthu Raman, Vítor Santos Costa, Péter Szeredi, David H. D. Warren, and Rong Yang. Andorra-I: An implementation of the Basic Andorra Model. Technical Report TR-90-21, University of Bristol, Computer Science Department, September 1990. Presented at the Workshop on Parallel Implementation of Languages for Symbolic Computation, July 1990, University of Oregon.

    Google Scholar 

  3. Anthony Beaumont, S. Muthu Raman, and Péter Szeredi. Flexible scheduling or-parallelism in Aurora: the Bristol scheduler. In PARLE 91, Conference on Parallel Architectures and Languages Europe. Springer-Verlag, June 1991.

    Google Scholar 

  4. BIM. BIM_Prolog release 2.4. 3078 Everberg, Belgium, March 1989.

    Google Scholar 

  5. Per Brand. Wavefront scheduling. Internal Report, Gigalips Project, 1988.

    Google Scholar 

  6. Ralph Butler, Terry Disz, Ewing Lusk, Robert Olson, Ross Overbeek, and Rick Stevens. Scheduling OR-parallelism: an Argonne perspective. In Proceedings of the Fifth International Conference on Logic Programming, pages 1590–1605. MIT Press, August 1988.

    Google Scholar 

  7. Alan Calderwood. Aurora—description of scheduler interfaces. Internal Report, Gigalips Project, January 1988.

    Google Scholar 

  8. Alan Calderwood and Péter Szeredi. Scheduling or-parallelism in Aurora—the Manchester scheduler. In Proceedings of the Sixth International Conference on Logic Programming, pages 419–435. MIT Press, June 1989.

    Google Scholar 

  9. Mats Carlsson and Péter Szeredi. The Aurora abstract machine and its emulator. SICS Research Report R90005, Swedish Institute of Computer Science, 1990.

    Google Scholar 

  10. Bogumił Hausman. Pruning and Speculative Work in OR-Parallel PROLOG. PhD thesis, The Royal Institute of Technology, Stockholm, 1990.

    Google Scholar 

  11. Ewing Lusk, David H. D. Warren, Seif Haridi, et al. The Aurora or-parallel Prolog system. New Generation Computing, 7(2,3):243–271, 1990.

    Google Scholar 

  12. Vítor Santos Costa, David H. D. Warren, and Rong Yang. Andorra-I: A parallel Prolog system that transparently exploits both and-and or-parallelism. In Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. ACM Press, April 1991.

    Google Scholar 

  13. Raed Sindaha. Scheduling speculative work in the Aurora or-parallel Prolog system. Internal Report, Gigalips Project, March 1990.

    Google Scholar 

  14. Péter Szeredi. Performance analysis of the Aurora or-parallel Prolog system. In Proceedings of the North American Conference on Logic Programming, pages 713–732. MIT Press, October 1989.

    Google Scholar 

  15. Péter Szeredi and Mats Carlsson. The engine-scheduler interface in the Aurora or-parallel Prolog system. Technical Report TR-90-09, University of Bristol, Computer Science Department, April 1990.

    Google Scholar 

  16. David H. D. Warren. The SRI model for or-parallel execution of Prolog—abstract design and implementation issues. In Proceedings of the 1987 Symposium on Logic Programming, pages 92–102, 1987.

    Google Scholar 

  17. Patrick Weemeeuw. Memory compaction for shared memory multiprocessors, design and specification. In Proceedings of the North American Conference on Logic Programming. MIT Press, October 1990.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Emile H. L. Aarts Jan van Leeuwen Martin Rem

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag

About this paper

Cite this paper

Szeredi, P., Yang, R., Carlsson, M. (1991). Interfacing engines and schedulers in Or-Parallel Prolog systems. In: Aarts, E.H.L., van Leeuwen, J., Rem, M. (eds) PARLE '91 Parallel Architectures and Languages Europe. PARLE 1991. Lecture Notes in Computer Science, vol 506. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54152-7_79

Download citation

  • DOI: https://doi.org/10.1007/3-540-54152-7_79

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54152-3

  • Online ISBN: 978-3-540-47472-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics