Michael Poldner, Herbert Kuchen


Algorithmic skeletons are predefined components for parallel programming. We will present a skeleton for branch & bound problems for MIMD machines with distributed memory. This skeleton is based on a distributed work pool. We discuss two variants, one with supply-driven work distribution and one with demanddriven work distribution. This approach is compared to a simple branch & bound skeleton with a centralized work pool, which has been used in a previous version of our skeleton library Muesli. Based on experimental results for two example applications, namely the n-puzzle and the traveling salesman problem, we show that the distributed work pool is clearly better and enables good runtimes and in particular scalability. Moreover, we discuss some implementation aspects such as termination detection as well as overlapping computation and communication.


  1. A. Benoit, M. Cole, J. H. S. G. (2005). Flexible skeletal programming with eskel. In Proc. EuroPar 2005. LNCS 3648, 761-770, Springer Verlag, 2005.
  2. A. Shina, L. K. (1992). A load balancing strategy for prioritized execution of tasks. In Proc. Workshop on Dynamic Object Placement and Load Balancing, ECOOP'92.
  3. Cole, M. (1989). Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press.
  4. Cole, M. (2004). Bringing skeletons out of the closet: A pragmatic manifesto for skeletal parallel programming. In Parallel Computing 30(3), 389-406.
  5. Cole, M. (2006). The skeletal parallelism web page.
  6. E. Alba, F. Almeida, e. a. (2002). Mallba: A library of skeletons for combinatorial search. In Proc. Euro-Par 2002. LNCS 2400, 927-932, Springer Verlag, 2005.
  7. F. Almeida, I. Dorta, e. a. (2001). Mallba: Branch and bound paradigm. In Technical Report DT-01-2 . University of La Laguna, Spain, Dpto. Estadistica , I.O. y Computacion.
  8. G. H. Botorog, H. K. (1996). Efficient parallel programming with algorithmic skeletons. In Proc. EuroPar'96. LNCS 1123, 718-731, Springer Verlag, 1996.
  9. G. H. Botorog, H. K. (1998). Efficient high-level parallel programming. In Theoretical Computer Science 196, 71-107.
  10. G.L. Nemhauser, L. W. (1999). Integer and combinatorial optimization. Wiley.
  11. H. Kuchen, R. Plasmeijer, H. S. (1994). Efficient distributed memory implementation of a data parallel functional language. In Proc. PARLE'94. LNCS 817, 466-475, Springer Verlag.
  12. H. Kuchen, M. C. (2002). The integration of task and data parallel skeletons. In Parallel Processing Letters 12(2), 141-155.
  13. Henrich, D. (1994a). Initialization of parallel branch-andbound algorithms. In Proc. 2nd International Workshop on Parallel Processing for Artificial Intelligence (PPAI-93) . Elsevier.
  14. Henrich, D. (1994b). Local load balancing for data-parallel branch-and-bound. In Proc. Massively Parallel Processing Applications and Development, 227-234 .
  15. Henrich, D. (1995). Lastverteilung fuer feinkoernig parallelisiertes branch-and-bound. In PhD Thesis. TH Karlsruhe.
  16. Hofstedt, P. (1998). Task parallel skeletons for irregularly structured problems. In Proc. EuroPar'98. LNCS 1470, 676 - 681, Springer Verlag.
  17. I. Dorta, C. Leon, C. R. A. R. (2003). Parallel skeletons for divide and conquer and branch and bound techniques. In Proc. 11th Euromicro Conference on Parallel, Distributed and Network-based Processing (PDP2003) .
  18. J. Clausen, M. P. (1999). On the best search strategy in parallel branch-and-bound: Best-first search versus lazy depth-first search search. In Annals of Operations Research 90, 1-17 .
  19. J.D.C. Little, K.G. Murty, D. S. C. K. (1963). An algorithm for the traveling salesman problem. In Operations Research 11, 972-989.
  20. Kuchen, H. (2002). A skeleton library. In Euro-Par'02 . LNCS 2400, 620-629, Springer Verlag.
  21. Kuchen, H. (2004). Optimizing sequences of skeleton calls. In Domain-Specific Program Generation . LNCS 3016, 254-273, Springer Verlag.
  22. Kuchen, H. (2006). The skeleton library web pages.
  23. MPI (2006). Message passing interface forum, mpi. In MPI: A Message-Passing Interface Standard .
  24. Myricom (2006).
  25. N. Mahapatra, S. D. (1998). Adaptive quality equalizing: High-performance load balancing for parallel branch-and-bound across applications and computing systems. In Proc. International Parallel Processing and Distributed Processing Symposium (IPDPS98).
  26. Pelagatti, S. (2003). Task and data parallelism in p3l. In Patterns and Skeletons for Parallel and Distributed Computing. eds. F.A. Rabhi, S. Gorlatch, 155-186, Springer Verlag.
  27. Quinn, M. (1994). Parallel Computing: Theory and Practice. McGraw Hill.
  28. R. Bisseling, I. F. (2005). Mondriaan sparse matrix partitioning for attacking cryptosystems - a case study. In to appear in Proceedings of ParCo 2005, Malaga.
  29. R. Lüling, B. M. (1992). Load balancing for distributed branch and bound algorithms. In Proc. 6th International Parallel Processing Symposium (IPPS92), 543- 549. IEEE.
  30. Reinelt, G. (1991). Tsplib - a traveling salesman problem library. In ORSA Journal on Computing 3, 376-384. see also: (gr17).
  31. Sanders, P. (1998). Tree shaped computations as a model for parallel applications. In Proc. Workshop on Application Based Load Balancing (ALV'98). TU Munich.
  32. T. Lai, S. S. (1984). Anomalies in parallel branch-andbound algorithms. In Communications of the ACM 27, 594-602.
  33. Trienekens, H. (1990). Parallel branch & bound algorithms. In PhD Thesis. University of Rotterdam.
  34. W. Gropp, E. Lusk, A. S. (1999). Using MPI. MIT Press.
  35. Y. Shinano, M. Higaki, R. H. (1995). A generalized utility for parallel branch and bound algorithms. In Proc. 7th IEEE Symposium on Parallel and Distributed Processing, 392-401. IEEE.
  36. Y. Shinano, M. Higaki, R. H. (1997). Control schemes in a generalized utility for parallel branch and bound algorithms. In Proc. 11th International Parallel Processing Symposium, 621-627. IEEE.
  37. Y. Xu, T. Ralphs, L. L. M. S. (2005). Alps: A framework for implementing parallel tree search algorithms. In Proc. 9th INFORMS Computing Society Conference.
  38. ZIV (2006). Ziv-cluster.

Paper Citation

in Harvard Style

Poldner M. and Kuchen H. (2006). ALGORITHMIC SKELETONS FOR BRANCH & BOUND . In Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT, ISBN 978-972-8865-69-6, pages 291-300. DOI: 10.5220/0001315002910300

in Bibtex Style

author={Michael Poldner and Herbert Kuchen},
booktitle={Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT,},

in EndNote Style

JO - Proceedings of the First International Conference on Software and Data Technologies - Volume 1: ICSOFT,
SN - 978-972-8865-69-6
AU - Poldner M.
AU - Kuchen H.
PY - 2006
SP - 291
EP - 300
DO - 10.5220/0001315002910300