On the Implementation of an Or-Parallel Prolog System for Clusters of Multicores
Jo\~ao Santos, Ricardo Rocha

TL;DR
This paper presents a novel implementation of an or-parallel Prolog system tailored for clusters of multicores, combining shared and distributed memory architectures to improve parallel execution efficiency.
Contribution
It introduces a layered computational model with two scheduling levels and extends the YapOr system to exploit or-parallelism across teams of workers in multicore clusters.
Findings
Speedups increase with more workers per team.
Speedups improve with more teams across nodes.
The platform effectively exploits implicit or-parallelism.
Abstract
Nowadays, clusters of multicores are becoming the norm and, although, many or-parallel Prolog systems have been developed in the past, to the best of our knowledge, none of them was specially designed to explore the combination of shared and distributed memory architectures. In recent work, we have proposed a novel computational model specially designed for such combination which introduces a layered model with two scheduling levels, one for workers sharing memory resources, which we named a team of workers, and another for teams of workers (not sharing memory resources). In this work, we present a first implementation of such model and for that we revive and extend the YapOr system to exploit or-parallelism between teams of workers. We also propose a new set of built-in predicates that constitute the syntax to interact with an or-parallel engine in our platform. Experimental results…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Parallel Computing and Optimization Techniques · Software Testing and Debugging Techniques
