Annotation of Logic Programs for Independent AND-Parallelism by Partial Evaluation
Germ\'an Vidal

TL;DR
This paper introduces a novel partial evaluation technique for logic programs that automatically generates annotations for independent AND-parallelism, enhancing parallel execution opportunities beyond static analysis methods.
Contribution
It presents the first parallelizing partial evaluator that uses run-time groundness and sharing info to identify and expose more parallelism in logic programs.
Findings
Enhanced parallelism detection through partial evaluation.
Automatic generation of parallel annotations based on run-time info.
First approach to a parallelizing partial evaluator for logic programs.
Abstract
Traditional approaches to automatic AND-parallelization of logic programs rely on some static analysis to identify independent goals that can be safely and efficiently run in parallel in any possible execution. In this paper, we present a novel technique for generating annotations for independent AND-parallelism that is based on partial evaluation. Basically, we augment a simple partial evaluation procedure with (run-time) groundness and variable sharing information so that parallel conjunctions are added to the residual clauses when the conditions for independence are met. In contrast to previous approaches, our partial evaluator is able to transform the source program in order to expose more opportunities for parallelism. To the best of our knowledge, we present the first approach to a parallelizing partial evaluator.
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.
