Confidence-based Work Stealing in Parallel Constraint Programming
2009 (English)In: Fifteenth International Conference on Principles and Practice of Constraint Programming, Springer Science+Business Media B.V., 2009, Vol. 5732, 226-241 p.Conference paper (Refereed)
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.
Place, publisher, year, edition, pages
Springer Science+Business Media B.V., 2009. Vol. 5732, 226-241 p.
, Lecture Notes in Computer Science, ISSN 0302-9743 ; 5732
Constraint programming, Depth first search, Dynamic load balancing, Parallel search, Parallel search algorithm, Search trees, Solution density, Subtrees
IdentifiersURN: urn:nbn:se:kth:diva-70422DOI: 10.1007/978-3-642-04244-7_20ISI: 000273241200017ScopusID: 2-s2.0-70350393893ISBN: 978-364204243-0ISBN: 3642042430OAI: oai:DiVA.org:kth-70422DiVA: diva2:486347
15th International Conference on Principles and Practice of Constraint Programming (CP 2009), Lisbon, PORTUGAL, SEP 20-24, 2009
QC 201202072012-01-302012-01-302012-02-07Bibliographically approved