Abstract
The most popular architecture for parallel search is work stealing: threads that have run out of work (nodes to be searched) steal from threads that still have work. Work stealing not only allows for dynamic load balancing, but also determines which parts of the search tree are searched next. Thus the place from where work is stolen has a dramatic effect on the efficiency of a parallel search algorithm.
This paper examines quantitatively how optimal work stealing can be performed given an estimate of the relative solution densities of the subtrees at each search tree node and relates it to the branching heuristic strength. An adaptive work stealing algorithm is presented that automatically performs different work stealing strategies based on the confidence of the branching heuristic at each node. Many parallel depth-first search patterns arise naturally from this algorithm. The algorithm produces near perfect or super linear algorithmic efficiencies on all problems tested. Real speedups using 8 threads range from 7 times to super linear.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Michel, L., See, A., Van Hentenryck, P.: Parallelizing constraint programs transparently. In: [20], pp. 514–528
Perron, L.: Search procedures and parallelism in constraint programming. In: Jaffar, J. (ed.) CP 1999. LNCS, vol. 1713, pp. 346–361. Springer, Heidelberg (1999)
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. Number TRA9/00, 55 Science Drive 2, Singapore 117599, pp. 41–57 (2000)
Rolf, C.C., Kuchcinski, K.: Load-balancing methods for parallel and distributed constraint solving. In: IEEE International Conference on Cluster Computing, pp. 304–309 (2008)
Kumar, V., Rao, V.N.: Parallel depth first search. Part II. Analysis. International Journal of Parallel Programming 16, 501–519 (1987)
Caseau, Y., Laburthe, F.: Solving small TSPs with constraints. In: Naish, L. (ed.) Proceedings of the Fourteenth International Conference on Logic Programming, Leuven, Belgium, pp. 316–330. The MIT Press, Cambridge (1997)
Véron, A., Schuerman, K., Reeve, M., Li, L.L.: Why and how in the ElipSys OR-parallel CLP system. In: Reeve, M., Bode, A., Wolf, G. (eds.) PARLE 1993. LNCS, vol. 694, pp. 291–303. Springer, Heidelberg (1993)
Rao, V.N., Kumar, V.: Superlinear speedup in parallel state-space search. In: Kumar, S., Nori, K.V. (eds.) FSTTCS 1988. LNCS, vol. 338, pp. 161–174. Springer, Heidelberg (1988)
Gendron, B., Crainic, T.G.: Parallel branch-and-bound algorithms: Survey and synthesis. Operations Research 42, 1042–1066 (1994)
Quinn, M.J.: Analysis and implementation of branch-and bound algorithms on a hypercube multicomputer. IEEE Trans. Computers 39, 384–387 (1990)
Mohan, J.: Performance of Parallel Programs: Model and Analyses. PhD thesis, Carnegie-Mellon University, Pittsburgh, PA, USA (1984)
Meseguer, P.: Interleaved depth-first search. In: [19], pp. 1382–1387
Harvey, W.D., Ginsberg, M.L.: Limited discrepancy search. In: Mellish, C.S. (ed.) Fourteenth International Joint Conference on Artificial Intelligence, Montréal, Québec, Canada, pp. 607–615. Morgan Kaufmann Publishers, San Francisco (1995)
Walsh, T.: Depth-bounded discrepancy search. In: [19], pp. 1388–1395
Refalo, P.: Impact-based search strategies for constraint programming. In: Wallace, M. (ed.) CP 2004. LNCS, vol. 3258, pp. 557–571. Springer, Heidelberg (2004)
Zanarini, A., Pesant, G.: Solution counting algorithms for constraint-centered search heuristics. In: [20], pp. 743–757
Szymanek, R., O’Sullivan, B.: Guiding search using constraint-level advice. In: Brewka, G., Coradeschi, S., Perini, A., Traverso, P. (eds.) ECAI, pp. 158–162. IOS Press, Amsterdam (2006)
Gecode Team: Gecode: Generic constraint development environment (2006), http://www.gecode.org
Pollack, M.E. (ed.): Fifteenth International Joint Conference on Artificial Intelligence. Morgan Kaufmann Publishers, Nagoya (1997)
Bessière, C. (ed.): CP 2007. LNCS, vol. 4741. Springer, Heidelberg (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Chu, G., Schulte, C., Stuckey, P.J. (2009). Confidence-Based Work Stealing in Parallel Constraint Programming. In: Gent, I.P. (eds) Principles and Practice of Constraint Programming - CP 2009. CP 2009. Lecture Notes in Computer Science, vol 5732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04244-7_20
Download citation
DOI: https://doi.org/10.1007/978-3-642-04244-7_20
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04243-0
Online ISBN: 978-3-642-04244-7
eBook Packages: Computer ScienceComputer Science (R0)