Exploring Parallel Execution Strategies for Constraint Handling Rules - Work-in-Progress Report
Thom Fr\"uhwirth, Daniel Gall

TL;DR
This work investigates the potential of automatically parallelizing Constraint Handling Rules (CHR) programs by systematically simulating various parallel execution strategies and comparing their performance to sequential execution.
Contribution
It introduces a general conceptual framework for analyzing parallel execution strategies of CHR programs through simulation and experimental comparison.
Findings
Parallel and sequential executions can be compared systematically.
Execution strategy influences performance depending on problem class.
Preliminary observations suggest certain strategies are more effective for specific problem types.
Abstract
Constraint Handling Rules (CHR) is a declarative rule-based formalism and language. Concurrency is inherent as rules can be applied to subsets of constraints in parallel. Parallel implementations of CHR, be it in software, be it in hardware, use different execution strategies for parallel execution of CHR programs depending on the implementation language. In this report, our goal is to analyze parallel execution of CHR programs from a more general conceptual perspective. We want to experimentally see what is possible when CHR programs are automatically parallelized. For this purpose, a sequential simulation of parallel CHR execution is used to systematically encode different parallel execution strategies. In exhaustive experiments on some typical examples from the literature, parallel and sequential execution can be compared to each other. The number of processors can be bounded or…
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
TopicsConstraint Satisfaction and Optimization · Model-Driven Software Engineering Techniques · AI-based Problem Solving and Planning
