High-Level Multi-Threading in hProlog
Timon Van Overveldt, Bart Demoen

TL;DR
This paper introduces a high-level multi-threading interface in hProlog, enabling programmers to leverage multi-core CPUs efficiently through various explicit parallelism types, including a novel pipeline parallelism.
Contribution
It presents a new high-level multi-threading interface in hProlog and proposes a novel pipeline parallelism model for Prolog programming.
Findings
Implemented high-level multi-threading in hProlog
Defined and demonstrated pipeline parallelism
Enhanced parallel execution capabilities in Prolog
Abstract
A new high-level interface to multi-threading in Prolog, implemented in hProlog, is described. Modern CPUs often contain multiple cores and through high-level multi-threading a programmer can leverage this power without having to worry about low-level details. Two common types of high-level explicit parallelism are discussed: independent and-parallelism and competitive or-parallelism. A new type of explicit parallelism, pipeline parallelism, is proposed. This new type can be used in certain cases where independent and-parallelism and competitive or-parallelism cannot be used.
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
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Logic, programming, and type systems
