A Bridging Model for Branch-and-Bound Algorithms on Multi-core Architectures

Nowadays, the evolution of multi-core architectures goes towards increasing the number of cores and levels of cache. Meanwhile, current typical parallel programming languages are unable to exploit the potential of these processors efficiently. In order to achieve desired performance on these hardwares we need to understand architectural parameters appropriately and also apply them in algorithm design. Computational models such as Multi-BSP, illustrate these parameters and explain adequate methods for designing algorithms on multi-cores. One of applicable categories of problems is Branch-and-Bound (BaB) that needs to be adapted by such model for implementing on these systems. In this paper, we have attempted to make a mapping between BaB run-time tree and the Memory Hierarchy Tree (MT) of multi-core processor. Multi-BSP model inspired us to introduce Multi-BaB model. Analogous to Multi-BSP analysis, bounds for communication and synchronization costs have been presented in the paper respecting BaB algorithms. This work is a step towards making multi-core programming efficient and tries to obtain correct analysis of BaB algorithm behavior on multi-core architectures.

[1]  Leslie G. Valiant,et al.  A bridging model for multi-core computing , 2008, J. Comput. Syst. Sci..

[2]  Teodor Gabriel Crainic,et al.  Parallel Branch‐and‐Bound Algorithms , 2006 .

[3]  G. Laporte The traveling salesman problem: An overview of exact and approximate algorithms , 1992 .

[4]  Chia-Lin Yang,et al.  Cache-aware task scheduling on multi-core architecture , 2010, Proceedings of 2010 International Symposium on VLSI Design, Automation and Test.

[5]  Richard M. Karp,et al.  The traveling-salesman problem and minimum spanning trees: Part II , 1971, Math. Program..

[6]  Harvey M. Salkin,et al.  The knapsack problem: A survey , 1975 .

[7]  John E. Savage Extending the Hong-Kung Model to Memory Hierarchies , 1995, COCOON.

[8]  Ramesh Subramonian,et al.  LogP: a practical model of parallel computation , 1996, CACM.

[9]  Guy E. Blelloch,et al.  Provably good multicore cache performance for divide-and-conquer algorithms , 2008, SODA '08.

[10]  Vijaya Ramachandran,et al.  Oblivious algorithms for multicores and network of processors , 2010, 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS).

[11]  Alok Aggarwal,et al.  The input/output complexity of sorting and related problems , 1988, CACM.

[12]  Vijaya Ramachandran,et al.  QSM: A General Purpose Shared-Memory Model for Parallel Computation , 1997, FSTTCS.

[13]  Jens Clausen,et al.  On the best search strategy in parallel branch‐and‐bound:Best‐First Search versus Lazy Depth‐First Search , 1999, Ann. Oper. Res..

[14]  Keshav Pingali,et al.  An experimental comparison of cache-oblivious and cache-conscious programs , 2007, SPAA '07.

[15]  Toshihide Ibaraki,et al.  Theoretical comparisons of search strategies in branch-and-bound algorithms , 1976, International Journal of Computer & Information Sciences.

[16]  Hossein Deldari,et al.  Multi-DaC programming model: a variant of multi-BSP model for divide-and-conquer algorithms , 2012, DAMP '12.

[17]  Guy E. Blelloch,et al.  Scheduling irregular parallel computations on hierarchical caches , 2011, SPAA '11.

[18]  Michael T. Goodrich,et al.  Fundamental parallel algorithms for private-cache chip multiprocessors , 2008, SPAA '08.

[19]  Steven Fortune,et al.  Parallelism in random access machines , 1978, STOC.

[20]  H. Greenberg,et al.  A Branch Search Algorithm for the Knapsack Problem , 1970 .

[21]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

[22]  Bowen Alpern,et al.  The uniform memory hierarchy model of computation , 2005, Algorithmica.

[23]  Charles E. Leiserson,et al.  Cache-Oblivious Algorithms , 2003, CIAC.

[24]  Christoph W. Kessler,et al.  BlockLib: a skeleton library for cell broadband engine , 2008, IWMSE '08.

[25]  Mohammad Zubair,et al.  A unified model for multicore architectures , 2008, IFMT '08.