Skip to main content

YapDss: An Or-Parallel Prolog System for Scalable Beowulf Clusters

  • Conference paper
Progress in Artificial Intelligence (EPIA 2003)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 2902))

Included in the following conference series:

Abstract

This paper discusses the design of YapDss, an or-parallel Prolog system for distributed memory parallel machines, such as the Beowulf PC clusters. The system builds on the work of YapOr, an or-parallel system for shared memory machines, and uses the distributed stack splitting binding model to represent computation state and work sharing among the computational workers. A new variant scheme of stack splitting, the diagonal splitting, is proposed and implemented. This scheme includes efficient algorithms to balance work load among computing workers, to determine the bottommost common node between two workers, and to calculate exactly the work load of one worker. An initial evaluation of the system shows that it is able to achieve very good speedups on a Beowulf PC cluster.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ali, K., Karlsson, R.: The Muse Approach to OR-Parallel Prolog. International Journal of Parallel Programming 19(2), 129–162 (1990)

    Article  MathSciNet  Google Scholar 

  2. Ali, K., Karlsson, R., Mudambi, S.: Performance of Muse on Switch-Based Multiprocessor Machines. New Generation Computing 11(1&4), 81–103 (1992)

    Article  MATH  Google Scholar 

  3. Araujo, L., Ruz, J.: A Parallel Prolog System for Distributed Memory. Journal of Logic Programming 33(1), 49–79 (1997)

    Article  MATH  Google Scholar 

  4. Benjumea, V., Troya, J.M.: An OR Parallel Prolog Model for Distributed Memory Systems. In: Penjam, J., Bruynooghe, M. (eds.) PLILP 1993. LNCS, vol. 714, pp. 291–301. Springer, Heidelberg (1993)

    Google Scholar 

  5. Briat, J., Favre, M., Geyer, C., Chassin de Kergommeaux, J.: OPERA: Or- Parallel Prolog System on Supernode. In: Implementations of Distributed Prolog, pp. 45–64. Wiley & Sons, New York (1992)

    Google Scholar 

  6. Carlsson, M., Widen, J.: SICStus Prolog User’s Manual. SICS Research Report R88007B, Swedish Institute of Computer Science (1988)

    Google Scholar 

  7. Gupta, G., Jayaraman, B.: Analysis of Or-parallel Execution Models. ACM Transactions on Programming Languages 15(4), 659–680 (1993)

    Article  Google Scholar 

  8. Gupta, G., Pontelli, E.: Stack Splitting: A Simple Technique for Implementing Or-parallelism on Distributed Machines. In: Proceedings of the 16th International Conference on Logic Programming, pp. 290–304. The MIT Press, Cambridge (1999)

    Google Scholar 

  9. Open Systems Laboratory. LAM/MPI Parallel Computing (2003), Available from http://www.lam-mpi.org

  10. Lusk, E., Butler, R., Disz, T., Olson, R., Overbeek, R., Stevens, R., Warren, D.H.D., Calderwood, A., Szeredi, P., Haridi, S., Brand, P., Carlsson, M., Ciepielewski, A., Hausman, B.: The Aurora Or-Parallel Prolog System. In: Proceedings of the International Conference on Fifth Generation Computer Systems, pp. 819–830. ICOT, Tokyo (1988)

    Google Scholar 

  11. Mattern, F.: Algorithms for Distributed Termination Detection. Distributed Computing 2(3), 161–175 (1987)

    Article  Google Scholar 

  12. Rocha, R., Silva, F., Santos Costa, V.: YapOr: an Or-Parallel Prolog System Based on Environment Copying. In: Barahona, P., Alferes, J.J. (eds.) EPIA 1999. LNCS (LNAI), vol. 1695, pp. 178–192. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  13. Rocha, R., Silva, F., Santos Costa, V.: On a Tabling Engine that Can Exploit Or-Parallelism. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 43–58. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  14. Santos Costa, V.: Optimising Bytecode Emulation for Prolog. In: Nadathur, G. (ed.) PPDP 1999. LNCS, vol. 1702, pp. 261–267. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  15. Silva, F., Watson, P.: Or-Parallel Prolog on a Distributed Memory Architecture. Journal of Logic Programming 43(2), 173–186 (2000)

    Article  MATH  Google Scholar 

  16. Villaverde, K., Pontelli, E., Guo, H., Gupta, G.: PALS: An Or-Parallel Implementation of Prolog on Beowulf Architectures. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 27–42. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  17. Wallace, M., Novello, S., Schimpf, J.: ECLiPSe: A Platform for Constraint Logic Programming. Technical report, IC-Parc, Imperial College, London (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Rocha, R., Silva, F., Martins, R. (2003). YapDss: An Or-Parallel Prolog System for Scalable Beowulf Clusters. In: Pires, F.M., Abreu, S. (eds) Progress in Artificial Intelligence. EPIA 2003. Lecture Notes in Computer Science(), vol 2902. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24580-3_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24580-3_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20589-0

  • Online ISBN: 978-3-540-24580-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics