Skip to main content

An architectural model for OR-parallellism on distributed memory systems

  • Session: Parallel Implementations
  • Conference paper
  • First Online:
Book cover Programming Language Implementation and Logic Programming (PLILP 1991)

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

  • 264 Accesses

Abstract

A model for OR-parallel execution of logic programs on highly parallel, distributed memory architectures is proposed. The model aims to reduce the overhead due to a parallel execution by using a parallel decomposition of a WAM into three units devoted to, respectively, memory management, unification, and subtree scheduling. A further unit may be introduced to handle message routing in the case of partial interconnection networks.

The proposed model can be applied independently of the method to handle the multiple bindings for a variable.

After discussing the parallel decomposition of a WAM, the implementation of the model is considered. We show that the implementation mainly consists of the mapping of the units onto the processing elements of the target architecture. Some performance figures of a prototype implementation on a Transputer based system are presented and discussed.

Supported by “Prog. Finalizzato Informatica e Calcolo Parallelo”, CNR, sottoprogetto 3.

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, R. Karlsson, The MUSE OR-Parallel Prolog Model and its Performance, Proc. of the 1990 NACLP, pp. 757–776, 1990.

    Google Scholar 

  2. P. Borgwardt, Parallel Prolog Using Stack Segments on Shared Memory Multiprocessors, Proc. of the 1984 Int. Symposium on Logic Programming, IEEE, Atlantic City, pp. 2–11, 1984.

    Google Scholar 

  3. J. Chassin, U.C. Baron, W. Rapp, M. Ratcliff, Performance Analysis of a Parallel Prolog: a correlated approach, PARLE '89, vol. II, pp. 151–164, Eindhoven, 1989.

    Google Scholar 

  4. A. Ciepielewsky, S. Haridi, A Formal Model for OR-parallel Execution of Logic Programs, Proc. of IFIP 83, Mason ed., North Holland, 1983.

    Google Scholar 

  5. J.S. Conery, Binding Environments for Parallel Logic Programs in Non-Shared Memory Multiprocessors, Proc. of the Int. Conference on Parallel Processing, IEEE, pp. 457–467, 1987.

    Google Scholar 

  6. B.S. Fagin, A.M. Despain, The Performance of Parallel Prolog Programs, IEEE Transaction on Computers, vol. 39, No. 12, pp. 1434–1445, 1990.

    Google Scholar 

  7. G. Goupta, B. Jayaraman, On Criteria for Or-Parallel Execution Models of Logic Programs, Proc. of the 1990 NACLP, pp. 737–756, 1990.

    Google Scholar 

  8. S. Haridi, E. Hagersten, The Cache Coherence Protocol of the Data Diffusion Machine, PARLE '89, vol. I, pp. 1–18, Eindhoven, 1989.

    Google Scholar 

  9. B. Hausman, A. Ciepielewsky, S. Haridi, OR-parallel Prolog Made Efficient on Shared Memory Multiprocessors, Proc. of the Int. Conference on Parallel Processing, pp. 69–79, 1987.

    Google Scholar 

  10. B. Hausman, Pruning and Scheduling Speculative Work in OR-Parallel Prolog, PARLE '89, vol. II, pp. 133–150, Eindhoven, 1989.

    Google Scholar 

  11. Lusk et al., The Aurora OR-Parallel Prolog System, New Generation Computing, 7, 243–271, 1990.

    Google Scholar 

  12. S. Peyton Jones, C. Clack, J. Salkild, M. Hardie, GRIP: a High Performance Architecture for Parallel Graph Reduction, Functional Programming Languages and Computer Architecture, LNCS 274, September 1987.

    Google Scholar 

  13. A.G. Ranade, How to Emulate Shared Memory, Proc. of 28th IEEE Symposium on Fundations of Computer Science, pp. 185–194, 1987.

    Google Scholar 

  14. C.L. Seitz, Concurrent VLSI Architectures, IEEE Trans. on Computers, C33, 12, 1984.

    Google Scholar 

  15. E. Tick, Memory Performance of Prolog Architectures, Kluwer Academic, 1987.

    Google Scholar 

  16. P. Tinker, G. Lindstrom, A Performance Oriented Design for OR-parallel Logic Programming, Proc. of the Int. Conference on Logic Programming, Melbourne, 1987.

    Google Scholar 

  17. H. Touati, A. Despain, An Empirical Study of the Warren Abstract Machine, Proc. of the Int. Conference on Parallel Processing, IEEE, 1987.

    Google Scholar 

  18. E. Upfal, Efficient Schemes for Parallel Communication, Journal of ACM, vol. 31, No. 3, pp. 507–517, 1984.

    Google Scholar 

  19. L.G. Valiant, General Purpose Parallel Architecture, Technical Report TR-07-89, Harward University, Cambridge, 1989.

    Google Scholar 

  20. D.H.D. Warren, An Abstract Prolog Instruction Set, Technical Report 309, SRI International, AI Center, 1983.

    Google Scholar 

  21. D.H.D. Warren, OR-parallel Execution Models of Prolog, Proc. of the Int. Joint Conference on Theory and Practice of Software Development, Pisa, pp. 243–259, 1987.

    Google Scholar 

  22. D.H.D. Warren, The SRI Model of OR-parallel Execution of Prolog. Abstract Design and Implementation Issues, Proc. of the Int. Conference on Parallel Processing, pp. 92–102, 1987.

    Google Scholar 

  23. D.S. Warren, Efficient Memory Management for Flexible Control Strategies, Proc. of the Int. Conference on Parallel Processing, IEEE, pp. 198–202, 1984.

    Google Scholar 

  24. H. Westphal, P. Robert, J. Chassin, J.Syre, The PEPSys Model Combining Backtracking, AND-and OR-parallelism, Proc. of the Int. Conference on Parallel Processing, IEEE, pp. 436–448, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jan Maluszyński Martin Wirsing

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Baiardi, F., Di Bella, D.M. (1991). An architectural model for OR-parallellism on distributed memory systems. In: Maluszyński, J., Wirsing, M. (eds) Programming Language Implementation and Logic Programming. PLILP 1991. Lecture Notes in Computer Science, vol 528. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-54444-5_90

Download citation

  • DOI: https://doi.org/10.1007/3-540-54444-5_90

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-54444-9

  • Online ISBN: 978-3-540-38362-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics