Parallelizing Constraint Programs Transparently

The availability of commodity multi-core andmulti-processor machines and the inherent parallelism inconstraint 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 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 the parallel implementationmay produces significant speedups on multi-core machines.

[1]  Toby Walsh,et al.  Principles and Practice of Constraint Programming — CP 2001: 7th International Conference, CP 2001 Paphos, Cyprus, November 26 – December 1, 2001 Proceedings , 2001, Lecture Notes in Computer Science.

[2]  Christian Schulte,et al.  Programming Constraint Inference Engines , 1997, CP.

[3]  Joxan Jaffar,et al.  Principles and Practice of Constraint Programming – CP’99 , 1999, Lecture Notes in Computer Science.

[4]  David H. D. Warren,et al.  The SRI Model for Or-Parallel Execution of Prolog: Abstract Design and Implementation Issues , 1987, SLP.

[5]  Pascal Van Hentenryck,et al.  Parallel Local Search in Comet , 2005, CP.

[6]  Laurent Perron Search Procedures and Parallelism in Constraint Programming , 1999, CP.

[7]  D. B. Davis,et al.  Intel Corp. , 1993 .

[8]  Christian Schulte,et al.  Parallel Search Made Simple , 2000 .

[9]  Pascal Van Hentenryck,et al.  Nondeterministic Control for Hybrid Search , 2005, CPAIOR.

[10]  Peter van Beek,et al.  Principles and Practice of Constraint Programming - CP 2005, 11th International Conference, CP 2005, Sitges, Spain, October 1-5, 2005, Proceedings , 2005, CP.

[11]  Pascal Van Hentenryck,et al.  A decomposition-based implementation of search strategies , 2004, TOCL.

[12]  Robert D. Blumofe,et al.  Scheduling multithreaded computations by work stealing , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

[13]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[14]  Gert Smolka Principles and Practice of Constraint Programming-CP97 , 1997, Lecture Notes in Computer Science.

[15]  Mats Carlsson,et al.  Finite Domain Constraint Programming Systems , 2006, Handbook of Constraint Programming.

[16]  Martin Henz,et al.  Components for State Restoration in Tree Search , 2001, CP.

[17]  Pascal Van Hentenryck Parallel Constraint Satisfaction in Logic Programming: Preliminary Results of CHIP within PEPSys , 1989, ICLP.

[18]  Joachim Schimpf,et al.  Parallel CLP on Heterogeneous Networks , 1994, ICLP.