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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Bordeaux, L., Hamadi, Y., Samulowitz, H.: Experiments with Massively Parallel Constraint Solving. In: Boutilier, C. (ed.) IJCAI, pp. 443–448 (2009)
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)
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)
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)
Hamadi, Y.: Optimal Distributed Arc-Consistency. Constraints 7, 367–385 (2002)
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)
Kilby, P., Slaney, J.K., Thiébaux, S., Walsh, T.: Estimating Search Tree Size. In: AAAI, pp. 1014–1019 (2006)
Knuth, D.E.: Estimating the efficiency of backtrack programs. Mathematics of Computation 29, 121–136 (1975)
Korf, R.: Depth-first Iterative-Deepening: An Optimal Admissible Tree Search. Artificial Intelligence 27, 97–109 (1985)
Michel, L., See, A., Van Hentenryck, P.: Transparent Parallelization of Constraint Programming. INFORMS Journal on Computing 21(3), 363–382 (2009)
MiniZinc (2012), http://www.g12.csse.unimelb.edu.au/minizinc/
Perron, L.: Search Procedures and Parallelism in Constraint Programming. In: Jaffar, J. (ed.) CP 1999. LNCS, vol. 1713, pp. 346–361. Springer, Heidelberg (1999)
Régin, J.-C.: (2013), http://www.constraint-programming.com/people/regin/papers
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)
Wilkinson, B., Allen, M.: Parallel Programming: Techniques and Application Using Networked Workstations and Parallel Computers, 2nd edn. Prentice-Hall Inc. (2005)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)