Skip to main content

Embarrassingly Parallel Search

  • Conference paper
Principles and Practice of Constraint Programming (CP 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8124))

Abstract

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.

This work was partially supported by the Agence Nationale de la Recherche (Aeolus ANR-2010-SEGI-013-01 and Vacsim ANR-11-INSE-004) and OSEO (Pajero).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. 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. 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. Hamadi, Y.: Optimal Distributed Arc-Consistency. Constraints 7, 367–385 (2002)

    Google Scholar 

  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. Kilby, P., Slaney, J.K., Thiébaux, S., Walsh, T.: Estimating Search Tree Size. In: AAAI, pp. 1014–1019 (2006)

    Google Scholar 

  8. Knuth, D.E.: Estimating the efficiency of backtrack programs. Mathematics of Computation 29, 121–136 (1975)

    Google Scholar 

  9. Korf, R.: Depth-first Iterative-Deepening: An Optimal Admissible Tree Search. Artificial Intelligence 27, 97–109 (1985)

    Google Scholar 

  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. MiniZinc (2012), http://www.g12.csse.unimelb.edu.au/minizinc/

  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. Régin, J.-C.: (2013), http://www.constraint-programming.com/people/regin/papers

  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. Wilkinson, B., Allen, M.: Parallel Programming: Techniques and Application Using Networked Workstations and Parallel Computers, 2nd edn. Prentice-Hall Inc. (2005)

    Google Scholar 

  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. 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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Régin, JC., Rezgui, M., Malapert, A. (2013). Embarrassingly Parallel Search. In: Schulte, C. (eds) Principles and Practice of Constraint Programming. CP 2013. Lecture Notes in Computer Science, vol 8124. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40627-0_45

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-40627-0_45

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-40626-3

  • Online ISBN: 978-3-642-40627-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics