An efficient load balancing strategy for grid-based branch and bound algorithm

https://doi.org/10.1016/j.parco.2007.02.004Get rights and content

Abstract

The most popular parallelization approach of the branch and bound algorithm consists in building and exploring in parallel the search tree representing the problem being tackled. The deployment of such parallel model on a grid rises the crucial issue of dynamic load balancing. The major question is how to efficiently distribute the nodes of an irregular search tree among a large set of heterogeneous and volatile processors. In this paper, we propose a new dynamic load balancing approach for the parallel branch and bound algorithm on the computational grid. The approach is based on a particular numbering of the tree nodes allowing a very simple description of the work units distributed during the exploration. Such description optimizes the communications involved by the huge amount of load balancing operations. The approach has been applied to one instance of the bi-objective flow-shop scheduling problem. The application has been experimented on a computational pool of more than 1000 processors belonging to seven Nation-wide clusters. The optimal solution has been generated within almost 6 days with a parallel efficiency of 98%.

Introduction

The branch and bound (B&B) algorithm is one of the most used exact methods in the combinatorial optimization area. Combinatorial optimization addresses problems for which the resolution consists in finding the optimal configuration(s) among a large finite set of possible configurations. Most of these problems are NP-hard and multi-objective in practice. The B&B algorithm makes it possible to considerably reduce the computation time necessary to explore the whole solution space. However, this remains considerable, in particular for resolving multi-objective problems. Using parallel processing is one of the means used to reduce the exploration time. Many parallel B&B approaches are thus proposed in the literature.

Nowadays, the parallelism is done mainly through distributed computing systems. During the last years, parallel systems knew a significant evolution. In a few years, they evolved from powerful parallel machines, made up of thousands of processors, to powerful geographically distributed systems, made up of thousands of machines. Of all the concepts, suggested in literature for determining the nature of these distributed systems, grid computing seems to be the most consensual. A gird exploits the resources of a great number of machines, which can be processors, memories, etc. A grid aims at giving the illusion of a very powerful virtual machine. It makes it possible to solve problems which require very long execution times.

The deployment of the B&B algorithm on a grid poses an important problem. Indeed, 1 – the irregularity of the explored tree, 2 – the great number of machines in a grid, 3 – the heterogeneity of these machines, and 4 – the importance of the cost of the communications make load balancing more difficult. Thus, the load balancing strategies known in parallel and cluster computing are not optimized to grids. This paper aims at presenting a new load balancing strategy to fully exploit the computing power of grids.

The paper is organized in seven sections. Section 2 gives an overview of the B&B algorithm and the multi-objective combinatorial optimization. Section 3 summarizes the most important methods proposed in the literature to parallelize the B&B algorithm on computational grids. Section 4 defines the concepts and the operators on which our strategy is based. Section 5 presents our load strategy for the deployment of the B&B algorithm on a grid. Section 6 describes the experiment performed for solving a bi-objective flow-shop instance that has never been solved exactly. Finally, Section 7 draws some conclusions and perspectives of this work.

Section snippets

The branch and bound algorithm

The branch and bound algorithm is based on an implicit enumeration of all the solutions of the considered problem. The solution space is explored by dynamically building a tree. The construction of such a tree and its exploration are done by the branching, bounding, selection and elimination operators. The algorithm proceeds in several iterations during which the best found solution is progressively improved. The generated and untreated nodes are kept in a list whose initial content is only the

Related works

Many parallel B&B algorithms on grids are described in the literature. Refs. [9], [4], [12] present different load balancing strategies for the parallel B&B algorithm. On the grids, the B&B algorithm is often deployed according to the master–slave paradigm. The master manages the list of the unexplored nodes and distributes nodes to the slave machines. A slave machine receives only one node from the master, explores the sub-tree of which the received node is the root, and returns to the master

The proposed approach: concepts and operators

Our approach is based on the depth first search strategy. The load balancing approach makes use of a list of active nodes. The B&B active nodes are those generated but not yet treated. During a resolution, this list evolves continuously and the algorithm stops once the list becomes empty. Any list of active nodes covers a set of tree nodes. This set is made up by all nodes which can be explored from a node of this active list. The principle of the approach is based on the assignment of a number

The proposed load balancing strategy

The fold and unfold operators can be used for the parallelization of the B&B according to different parallel paradigms. In this paper, the selected paradigm is the farmer-worker one: only one host plays the role of the farmer, and all the other hosts play the role of a worker. This paradigm is relatively simple to use. Its major disadvantage is that the farmer can constitute a bottleneck. However, communicating and handling intervals instead of a list of active nodes makes it possible to reduce

Experimentation on the bi-objective permutation flow-shop

This section describes the experiment performed for solving a bi-objective flow-shop instance that has never been solved exactly. It starts by presenting the bi-objective permutation flow-shop problem and finishes by giving the obtained results.

Conclusions and future works

In this paper, we have presented a new load balancing strategy for the deployment of the branch and bound algorithm on a computational grid. The grid approaches described in the literature for this algorithm apply the strategies already known in parallel and cluster computing. These strategies are efficient on this kind of parallel architectures. However, experimental studies have shown that these strategies do not fully exploit the computing power provided by the computational grids. Indeed,

References (12)

  • K. Aida, Y. Futakata. High-performance parallel and distributed computing for the BMIeigenvalue problem, in: Parallel...
  • K. Aida, T. Osumi. A case study in running a parallel branch and bound application on the grid, in: Proceedings. The...
  • K. Anstreicher et al.

    Solving large quadratic assignment problems on computational grids

    Mathematical Programming

    (2002)
  • D. Gelenter et al.

    Parallel branch and bound algorithms: survey and synthesis

    Operation Research

    (1994)
  • E. Taillard

    Banchmarks for basic scheduling problems

    European Journal of European Research

    (1993)
  • D.S. Johnson et al.

    The complexity of flow-shop and job-shop scheduling

    Mathematics of Operations Research

    (1976)
There are more references available in the full text version of this article.

Cited by (21)

  • Load balancing in grid computing: Taxonomy, trends and opportunities

    2017, Journal of Network and Computer Applications
  • Survey of load balancing techniques for Grid

    2016, Journal of Network and Computer Applications
  • A new step toward load balancing based on competency rank and transitional phases in Grid networks

    2012, Future Generation Computer Systems
    Citation Excerpt :

    It should be mentioned that this measure is unsystematically done in sequential jobs [1]. In this paper, we use the dynamic load balancing and present a mechanism for the improvement of Branch and Bound (B&B) algorithm [5]. Our proposed method uses the subtraction of forward and backward ants and it devotes a competency rank for each resource.

  • Optimization procedure for algorithms of task scheduling in high performance heterogeneous distributed computing systems

    2011, Egyptian Informatics Journal
    Citation Excerpt :

    The CPOP algorithm and the DLS algorithm are achieved comparable results. Also, the performance of the HEFT and Heterogeneous N-predecessor Decisive Path (HNPD) algorithms is compared in [6], where the latter combines both list-based scheduling and multiple task duplication. When the number of processors is equal to one-forth the number of tasks, the HEFT algorithm outperforms the HNPD algorithm.

  • Extended optimization procedures for static list based task scheduling algorithms for hedcs

    2019, International Journal of Recent Technology and Engineering
  • Load balancing with Job Migration Algorithm for improving performance on grid computing: Experimental Results

    2019, Advances in Distributed Computing and Artificial Intelligence Journal
View all citing articles on Scopus

This work is part of the CHallenge in Combinatorial Optimization (CHOC) project supported by the ANR through the Height-Performance Computing and Computational Grids (CIGC) program.

View full text