Skip to main content

Algorithmic Skeletons for Branch and Bound

  • Conference paper
Software and Data Technologies (ICSOFT 2006)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 10))

Included in the following conference series:

Abstract

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

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 109.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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. Gropp, W., Lusk, E., Skjellum, A.: Using MPI. MIT Press, Cambridge (1999)

    Google Scholar 

  2. MPI: Message passing interface forum, mpi. In: MPI: A Message-Passing Interface Standard (2006), http://www.mpi-forum.org/docs/mpi-11-html/mpi-report.html

  3. Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation. MIT Press, Cambridge (1989)

    MATH  Google Scholar 

  4. Cole, M.: The skeletal parallelism web page (2006), http://homepages.inf.ed.ac.uk/mic/Skeletons/

  5. Bisseling, I.F.R.: Mondriaan sparse matrix partitioning for attacking cryptosystems – a case study. In: Proceedings of ParCo 2005, Malaga (to appear, 2005)

    Google Scholar 

  6. Botorog, G.H., Kuchen, H.: Efficient parallel programming with algorithmic skeletons. In: Fraigniaud, P., Mignotte, A., Bougé, L., Robert, Y. (eds.) Euro-Par 1996. LNCS, vol. 1123, pp. 718–731. Springer, Heidelberg (1996)

    Google Scholar 

  7. Botorog, G.H., Kuchen, H.: Efficient high-level parallel programming. Theoretical Computer Science 196, 71–107 (1998)

    Article  MATH  Google Scholar 

  8. Kuchen, H., Plasmeijer, R., Stoltze, H.: Efficient distributed memory implementation of a data parallel functional language. In: Halatsis, C., Philokyprou, G., Maritsas, D., Theodoridis, S. (eds.) PARLE 1994. LNCS, vol. 817, Springer, Heidelberg (1994)

    Google Scholar 

  9. Kuchen, H.: A skeleton library. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 620–629. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  10. Kuchen, H.: Optimizing sequences of skeleton calls. In: Lengauer, C., Batory, D., Consel, C., Odersky, M. (eds.) Domain-Specific Program Generation. LNCS, vol. 3016, pp. 254–273. Springer, Heidelberg (2004)

    Google Scholar 

  11. Benoit, A., Cole, M., Hillston, J., Gilmore, S.: Flexible skeletal programming with eskel. In: Cunha, J.C., Medeiros, P.D. (eds.) Euro-Par 2005. LNCS, vol. 3648, pp. 761–770. Springer, Heidelberg (2005)

    Google Scholar 

  12. Cole, M.: Bringing skeletons out of the closet: A pragmatic manifesto for skeletal parallel programming. Parallel Computing 30(3), 389–406 (2004)

    Article  Google Scholar 

  13. Hofstedt, P.: Task parallel skeletons for irregularly structured problems. In: Pritchard, D., Reeve, J.S. (eds.) Euro-Par 1998. LNCS, vol. 1470, pp. 676–681. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  14. Kuchen, H., Cole, M.: The integration of task and data parallel skeletons. Parallel Processing Letters 12(2), 141–155 (2002)

    Article  Google Scholar 

  15. Pelagatti, S.: Task and data parallelism in p3l. In: Rabhi, F.A., Gorlatch, S. (eds.) Patterns and Skeletons for Parallel and Distributed Computing, pp. 155–186. Springer, Heidelberg (2003)

    Google Scholar 

  16. Nemhauser, G.L., Wolsey, L.A.: Integer and combinatorial optimization. Wiley, Chichester (1999)

    MATH  Google Scholar 

  17. Little, J.D.C., Murty, K.G., Sweeny, D.W., Karel, C.: An algorithm for the traveling salesman problem. Operations Research 11, 972–989 (1963)

    Article  MATH  Google Scholar 

  18. Alba, E., Almeida, F., et al.: Mallba: A library of skeletons for combinatorial search. In: Monien, B., Feldmann, R.L. (eds.) Euro-Par 2002. LNCS, vol. 2400, pp. 927–932. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  19. Almeida, F., Dorta, I., et al.: Mallba: Branch and bound paradigm. In: Technical Report DT-01-2, University of La Laguna, Spain, Dpto. Estadistica, I.O. y Computacion (2001)

    Google Scholar 

  20. Dorta, I., Leon, C., Rodriguez, C., Rojas, A.: Parallel skeletons for divide and conquer and branch and bound techniques. In: Proc. 11th Euromicro Conference on Parallel, Distributed and Network-based Processing (PDP2003) (2003)

    Google Scholar 

  21. Kuchen, H.: The skeleton library web pages (2006), http://www.wi.uni-muenster.de/PI/forschung/Skeletons/index.php

  22. Quinn, M.J.: Parallel Computing: Theory and Practice. McGraw-Hill, New York (1994)

    Google Scholar 

  23. Clausen, J., Perregaard, M.: On the best search strategy in parallel branch-and-bound: Best-first search versus lazy depth-first search search. Annals of Operations Research 90, 1–17 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  24. Shinano, Y., Higaki, M., Hirabayashi, R.: A generalized utility for parallel branch and bound algorithms. In: Proc. 7th IEEE Symposium on Parallel and Distributed Processing, pp. 392–401. IEEE Computer Society Press, Los Alamitos (1995)

    Google Scholar 

  25. Shinano, Y., Higaki, M., Hirabayashi, R.: Control schemes in a generalized utility for parallel branch and bound algorithms. In: Proc. 11th International Parallel Processing Symposium, pp. 621–627. IEEE, Los Alamitos (1997)

    Chapter  Google Scholar 

  26. Xu, Y., Ralphs, T., Ladyi, L., Salzman, M.: Alps: A framework for implementing parallel tree search algorithms. In: Proc. 9th INFORMS Computing Society Conference (2005)

    Google Scholar 

  27. Trienekens, H.: Parallel branch & bound algorithms. PhD Thesis, University of Rotterdam (1990)

    Google Scholar 

  28. Henrich, D.: Initialization of parallel branch-and-bound algorithms. In: Proc. 2nd International Workshop on Parallel Processing for Artificial Intelligence (PPAI-1993). Elsevier, Amsterdam (1994)

    Google Scholar 

  29. Henrich, D.: Local load balancing for data-parallel branch-and-bound. In: Proc. Massively Parallel Processing Applications and Development, pp. 227–234 (1994)

    Google Scholar 

  30. Henrich, D.: Lastverteilung fuer feinkoernig parallelisiertes branch-and-bound. PhD Thesis, TH Karlsruhe (1995)

    Google Scholar 

  31. Lüling, R., Monien, B.: Load balancing for distributed branch and bound algorithms. In: Proc. 6th International Parallel Processing Symposium (IPPS 1992), pp. 543–549. IEEE, Los Alamitos (1992)

    Chapter  Google Scholar 

  32. Mahapatra, N., Dutt, S.: 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 (IPDPS 1998) (1998)

    Google Scholar 

  33. Sanders, P.: Tree shaped computations as a model for parallel applications. In: Proc. Workshop on Application Based Load Balancing (ALV 1998), TU Munich (1998)

    Google Scholar 

  34. Shina, A., Kalé, L.: A load balancing strategy for prioritized execution of tasks. In: Lehrmann Madsen, O. (ed.) ECOOP 1992. LNCS, vol. 615, Springer, Heidelberg (1992)

    Google Scholar 

  35. ZIV: Ziv-cluster (2006), http://zivcluster.uni-muenster.de/

  36. Myricom: The myricom homepage (2006), http://www.myri.com/

  37. Reinelt, G.: Tsplib – a traveling salesman problem library. ORSA Journal on Computing 3, 376–384 (1991), http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ (gr17)

    MATH  Google Scholar 

  38. Lai, T., S.S.: Anomalies in parallel branch-and-bound algorithms. Communications of the ACM 27, 594–602 (1984)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Joaquim Filipe Boris Shishkov Markus Helfert

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Poldner, M., Kuchen, H. (2008). Algorithmic Skeletons for Branch and Bound. In: Filipe, J., Shishkov, B., Helfert, M. (eds) Software and Data Technologies. ICSOFT 2006. Communications in Computer and Information Science, vol 10. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70621-2_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-70621-2_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-70619-9

  • Online ISBN: 978-3-540-70621-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics