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

Ricardo Rocha, Fernando Silva and Rolando Martins

December 2003


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.


  author =    {R. Rocha and F. Silva and R. Martins},
  title =     {{YapDss: an Or-Parallel Prolog System for Scalable Beowulf Clusters}},
  booktitle = {Proceedings of the 11th Portuguese Conference on Artificial Intelligence (EPIA 2003)},
  pages =     {136--150},
  number =    {2902},
  series =    {LNAI},
  publisher = {Springer},
  editor =    {F. Moura Pires and S. Abreu},
  month =     {December},
  year =      {2003},
  address =   {Beja, Portugal},

Download Paper

PDF file

Download Slides

PDF file