You are on page 1of 21

Laboratoire dInformatique Fondamentale de Lille

Parallel Cooperative Optimization Research Group

A Parallel P2P Branch and Bound Algorithm for Computational Grids A. Bendjoudi, N. Melab and E-G. Talbi, {melab, talbi}
CEntre de Recherche sur lInformation Scientifique et Technique CERIST Laboratoire des Systmes Informatiques LSI
Universit A/Mira de Bjaa cole doctorale dinformatique

Rseaux et Systmes Distribus ReSyD


Motivation and Objectives Parallel B&B for large scale computing (ParallelBB) Implementation on top of ProActive (P2PBB) Performance Evaluation Conclusion et Perspectives

Branch and Bound Algorithm


Original problem is partitioned into smaller sub problems.

Problem to be solved

Compute the estimated optimal solution (lower bound) P0 of the considered problem and compare to the best known solution (upper bound).

Identify nodes which dont lead to The best solution and eliminate them


Br an

ch ing


Exploration strategy (best first search, depth first search, best bound,)



Optimal solution

High-dimensional and complex optimization problems in many areas of industrial concern B&B most known algorithm for an exact resolution of COPs
Implicit enumeration of the search space Choice of a good lower bound improves its performances These two factors are not sufficient

Parallelization of B&B

Parallel exploration of the B&B search tree allows to provide optimal solutions but requires a huge amount of resources for large problems

Need of large scale parallelism (Grid computing)

Parallel B&B Algorithms developed with Master/Worker paradigm
All communications inter-workers transit via Master Process Good strategy (for reduced set of workers) Maste Bottleneck r Gap : Creating bottlenecks on Master process

Use of P2P approach

on (large scale deployment) Direct Communications Inter-Workers Fault tolerance Dynamic availability of peers
Wor ker Wor ker

Broadcast of the upper bound

Wor ker

Wor ker

New solution


Motivations Parallel B&B for large scale computing (ParallelBB) Implementation on top of ProActive (P2PBB) Performance Evaluation Conclusion et Perspectives

ParallelBB, Parallel B&B for large scale computing

Manager/Worker Paradigm with direct communications inter-workers
Direct communications inter-workers Avoid bottlenecks created on Master Process The Manager distributes tasks on Workers Maste r Single work pool Workers traits their computing parts in parallel

Wor ker

Wor ker

Wor ker
New solution

Wor ker

ParallelBB Operations


Manager generates k levels in the tree.

k depends on problem size (PS) and number of workers (#W). PS>> k >> ; #W >> k>> Manager

Selection Communications
Worker/Worker (upper bound ) Worker/Manager (final solution ) Manager/Worker (data, task, initial upper bound, list of workers)


K levels
New Solution

Manager: Exploration in depth with priority to most promising node (priority-based queue) Manager: BFS (reversed priority-based stack)


Motivations Parallel B&B for large scale computing (ParallelBB) Implementation on top of ProActive (P2PBB) Performance Evaluation Conclusion et Perspectives

P2PBB, ParallelBB on top of ProActive (1)

Java library which proposes an API, a graphical interface and parallel, distributed and concurrent programming tools. Active Object: remote object having its own thread and receiving calls on its public methods Objective: Using Idler CPU cycles Creating threads with lowest priorities Resources shared are JVMs, each JVM can receive computation Each JVM participating in the computing launches a daemon (P2P Service) An overlay network is formed Deployment made using an XML descriptor file.

P2PBB, ParallelBB on top of ProActive (2)

P2PBB an active application P2P version of ParallelBB on a P2P platform (ProActive) Developed with two AOs

bbWorker represents a Worker bbManager represents the Manager

ProActive provides bbWorkers recovered over the whole network and detected by bbManager by consulting XML deployment descriptor file.

P2PBB, ParallelBB on top of ProActive (3)

bbWorkers bbManager

Work pool (passive objects)


Wating for Futures

Distribution of computation
bbManager sends tasks (passive objects) waits for futures of objects (result done by a bbWorker in the future)

Sharing the upper bound

A bbWorker broadcasts the upper bound using Typed Group communications multicast bbWorkerGroup: represents a set of bbWorkers recipient of messages

Fault Tolerance
bbManager uses ProActive listeners and implements nodeCreated method of ProActive to take into account new peers connections (new bbWorkers) With ProActive two types of servers are created
Resource server which returns a free node that can host the recovered AO Fault tolerance servers for the check points storage, the localization of AOs and failure detection.

With P2PBB when a peer (bbWorker) fails, bbManager sends its part of calculation to others and it recovers only the first solution


Motivations Parallel B&B for large scale computing (ParallelBB) Implementation on top of ProActive (P2PBB) Performance Evaluation Conclusion et Perspectives

Performance Evaluation

Preliminary experiments on 06, 20, 50 upon cluster at Lille of GRID5000 ( All processes run with lowest priority Parallel (with/without communications between workers Taillards benchmarks (Ta20-05-02, Ta20-05-03, Ta20-10-01,Ta20-10-02)

The Flow-Shop Scheduling Problem

N jobs to be scheduled on M machines

Each machine can not be simultaneously assigned to two jobs (colors) Jobs (colors) must be scheduled in the same order on all machines Cmax: Makespan (Total completion time)
4 jobs on 3 machines M1 M2 M3

One objective must be minimized

Two parallel modes are more efficient than the serial one. #computing machines >> performance >> Best solutions are found using 50 machines Parallel mode with communication are more efficient than without communication one Solving Ta_3 on 50 machines (more than 18 times more efficient than using 6 machines)

Cost of slutions (CMax)

Time (/30min)

Parallel Branch and Bound Algorithm for COPs (ParallelBB)
Master/Worker Direct Communication between workers Application to a PFS problem

Implementation on top of ProActive (P2PBB)

Asynchronous and single direction calls methods (tasks distribution) Typed group communications (knowledge sharing) ProActive listeners (new connection peers) Future of objects (collection of computation results)

Preliminary experiments in P2P mode

Efficiency of collaboration between workers

Consider other complex problems Q3AP (Quadratic three-dimensional Assignment Problems) Improve performances of ParallelBB with:
Injection of initial solution obtained with metaheuristic (hybridization) Load balancing of the tasks generated by the algorithm Several forms of tasks granularity

Larger scale experiments on GRID5000