Or-Parallel Prolog Execution on Multicores Based on Stack Splitting

Rui Vieira, Ricardo Rocha and Fernando Silva

January 2012


Many or-parallel Prolog computational models exploiting implicit parallelism have been proposed in the past. The Muse and YapOr systems are arguably two of the most efficient systems exploiting or-parallelism on shared memory architectures, both based on the environment copying model. Stack splitting emerged as an alternative model specially geared to distributed memory architectures as it basically splits the computation in such a way that no further, or just minimal, synchronization is required.
With the new multicore architectures, it just makes sense to recover the body of knowledge there is in this area and reengineer prior computational models to evaluate their performance on newer architectures. In this paper, we focus on the design and implementation of stack splitting in the YapOr system. Our aim is to take advantage of its robustness to efficiently implement stack splitting support using shared memory, and then be able to directly compare the original YapOr with the YapOr using stack splitting. We consider two splitting models, vertical splitting and half splitting, and have adapted data structures, scheduling and incremental copy procedures in YapOr to cope with the new models. Experimental results, on a multicore machine with 24 cores, show that YapOr using stack splitting is, in general, comparable to the original YapOr, obtaining in some cases better performance than with only environment copying.


  author =    {R. Vieira and R. Rocha and F. Silva},
  title =     {{Or-Parallel Prolog Execution on Multicores Based on Stack Splitting}},
  booktitle = {Proceedings of the 7th International Workshop on Declarative Aspects 
               and Applications of Multicore Programming (DAMP 2012)},
  pages =     {1--9},
  publisher = {ACM},
  editor =    {V. Santos Costa},
  month =     {January},
  year =      {2012},
  address =   {Philadelphia, Pennsylvania, USA},

Download Paper

PDF file
ACM Digital Library

Download Slides

PDF file