Embarrassingly Parallel Search

  • Jean-Charles Régin
  • Mohamed Rezgui
  • Arnaud Malapert
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8124)


We propose the Embarrassingly Parallel Search, a simple and efficient method for solving constraint programming problems in parallel. We split the initial problem into a huge number of independent subproblems and solve them with available workers, for instance cores of machines. The decomposition into subproblems is computed by selecting a subset of variables and by enumerating the combinations of values of these variables that are not detected inconsistent by the propagation mechanism of a CP Solver. The experiments on satisfaction problems and optimization problems suggest that generating between thirty and one hundred subproblems per worker leads to a good scalability. We show that our method is quite competitive with the work stealing approach and able to solve some classical problems at the maximum capacity of the multi-core machines. Thanks to it, a user can parallelize the resolution of its problem without modifying the solver or writing any parallel source code and can easily replay the resolution of a problem.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bordeaux, L., Hamadi, Y., Samulowitz, H.: Experiments with Massively Parallel Constraint Solving. In: Boutilier, C. (ed.) IJCAI, pp. 443–448 (2009)Google Scholar
  2. 2.
    Chu, G., Schulte, C., Stuckey, P.J.: Confidence-Based Work Stealing in Parallel Constraint Programming. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 226–241. Springer, Heidelberg (2009)Google Scholar
  3. 3.
    Cornuéjols, G., Karamanov, M., Li, Y.: Early Estimates of the Size of Branch-and-Bound Trees. INFORMS Journal on Computing 18(1), 86–96 (2006)Google Scholar
  4. 4.
    Gent, I.P., Jefferson, C., Miguel, I., Moore, N.C.A., Nightingale, P., Prosser, P., Unsworth, C.: A Preliminary Review of Literature on Parallel Constraint Solving. In: Proceedings PMCS 2011 Workshop on Parallel Methods for Constraint Solving (2011)Google Scholar
  5. 5.
    Hamadi, Y.: Optimal Distributed Arc-Consistency. Constraints 7, 367–385 (2002)Google Scholar
  6. 6.
    Jaffar, J., Santosa, A.E., Yap, R.H.C., Zhu, K.Q.: Scalable Distributed Depth-First Search with Greedy Work Stealing. In: ICTAI, pp. 98–103. IEEE Computer Society (2004)Google Scholar
  7. 7.
    Kilby, P., Slaney, J.K., Thiébaux, S., Walsh, T.: Estimating Search Tree Size. In: AAAI, pp. 1014–1019 (2006)Google Scholar
  8. 8.
    Knuth, D.E.: Estimating the efficiency of backtrack programs. Mathematics of Computation 29, 121–136 (1975)Google Scholar
  9. 9.
    Korf, R.: Depth-first Iterative-Deepening: An Optimal Admissible Tree Search. Artificial Intelligence 27, 97–109 (1985)Google Scholar
  10. 10.
    Michel, L., See, A., Van Hentenryck, P.: Transparent Parallelization of Constraint Programming. INFORMS Journal on Computing 21(3), 363–382 (2009)Google Scholar
  11. 11.
  12. 12.
    Perron, L.: Search Procedures and Parallelism in Constraint Programming. In: Jaffar, J. (ed.) CP 1999. LNCS, vol. 1713, pp. 346–361. Springer, Heidelberg (1999)Google Scholar
  13. 13.
  14. 14.
    Schulte, C.: Parallel Search Made Simple. In: Beldiceanu, N., Harvey, W., Henz, M., Laburthe, F., Monfroy, E., Müller, T., Perron, L., Schulte, C. (eds) Proceedings of TRICS: Techniques for Implementing Constraint programming Systems, a Post-Conference Workshop of CP 2000, Singapore (September 2000)Google Scholar
  15. 15.
    Wilkinson, B., Allen, M.: Parallel Programming: Techniques and Application Using Networked Workstations and Parallel Computers, 2nd edn. Prentice-Hall Inc. (2005)Google Scholar
  16. 16.
    Xie, F., Davenport, A.: Massively Parallel Constraint Programming for Supercomputers: Challenges and Initial Results. In: Lodi, A., Milano, M., Toth, P. (eds.) CPAIOR 2010. LNCS, vol. 6140, pp. 334–338. Springer, Heidelberg (2010)Google Scholar
  17. 17.
    Yun, X., Epstein, S.L.: A Hybrid Paradigm for Adaptive Parallel Search. In: Milano, M. (ed.) CP 2012. LNCS, vol. 7514, pp. 720–734. Springer, Heidelberg (2012)Google Scholar
  18. 18.
    Zoeteweij, P., Arbab, F.: A Component-Based Parallel Constraint Solver. In: De Nicola, R., Ferrari, G.-L., Meredith, G. (eds.) COORDINATION 2004. LNCS, vol. 2949, pp. 307–322. Springer, Heidelberg (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Jean-Charles Régin
    • 1
  • Mohamed Rezgui
    • 1
  • Arnaud Malapert
    • 1
  1. 1.I3S UMR 6070, CNRSUniversité Nice-Sophia AntipolisFrance

Personalised recommendations