Parallelizing Constraint Programs Transparently
نویسندگان
چکیده
The availability of commodity multi-core andmulti-processor machinesandthe inherentparallelism inconstraintprogrammingsearchoffer significant opportunities for constraint programming.They also present a fundamental challenge: how to exploit parallelism transparently to speed upconstraintprograms.Thispaper showshowtoparallelize constraintprograms transparently without changes to the code. The main technical idea consists of automatically lifting a sequential exploration strategy into its parallel counterpart, allowing workers to share and steal subproblems. Experimental results showthat theparallel implementationmayproduces significant speedups on multi-core machines.
منابع مشابه
Transparent Parallelization of Constraint Programs on Computer Clusters
The availability of multi-processor machines and computer clusters offer significant opportunities for constraint programming. They also present a fundamental challenge: how to exploit parallelism transparently to speed up constraint programs. Our recent research showed how to parallelize constraint programs transparently on parallel computers. This paper generalizes the approach for cluster of...
متن کاملTransparent Parallelization of Constraint Programming
The availability of commodity multi-core and multi-processor machines and the inherent parallelism in constraint programming search offer significant opportunities for constraint programming. They also present a fundamental challenge: how to exploit parallelism transparently to speed up constraint programs. This paper shows how to parallelize constraint programs transparently without changes to...
متن کاملAutomatic Parallelization of Irregular and Pointer-Based Computations: Perspectives from Logic and Constraint Programming
Abs t r ac t . Irregular computations pose some of the most interesting and challenging problems in automatic parallelization. Irregularity appears in certain kinds of numerical problems and is pervasive in symbolic applications. Such computations often use dynamic data structures which make heavy use of pointers. This complicates all the steps of a parallelizing compiler, from independence det...
متن کاملParallelizing irregular and pointer-based computations automatically: Perspectives from logic and constraint programming
Irregular computations pose some of the most interesting and challenging problems in automatic parallelization. Irregularity appears in certain kinds of numerical problems and is pervasive in symbolic applications. Such computations often use dynamic data structures, which make heavy use of pointers. This complicates all the steps of a parallelizing compiler, from independence detection to task...
متن کاملAutomatic Generation of Provably Correct Parallelizing Compilers
We show how parallelizing compilers can be automatically derived from denotational deenitions of programming languages. In our approach, the denotational deenition is expressed using deenite clause grammars (syntax speciication) and Horn Logic or Constraint Logic (semantic speciication). The conditions for executing two or more statements in parallel (e.g., GCD test, Banerjee test, or exact tes...
متن کامل