Upload
ahcenebendjoudi
View
226
Download
0
Embed Size (px)
Citation preview
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
1/21
A Parallel P2P Branch and Bound
Algorithm for Computational GridsA. Bendjoudi, N. Melab and E-G. Talbi
[email protected], {melab, talbi}@lifl.fr
Laboratoire dInformatique Fondamentale de Lille
Parallel Cooperative
Optimization Research
Group
Universit A/Mira de Bjaacole doctorale dinformatique
R seaux et Sy stmes DistribusReSyD
CEntre de R echerche sur l InformationScientifique et Technique CERIST
Laboratoire des S ystmes Informatiques LSI
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
2/21
Outline
Motivation and Objectives
Parallel B&B for large scale computing( ParallelBB )Implementation on top of ProActive ( P2PBB )Performance Evaluation
Conclusion et Perspectives
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
3/21
Branch and Bound Algorithm
BranchingOriginal problem is partitioned into smaller sub problems.
BoundingCompute the estimated optimal solution (lower bound)
of the considered problem and compare to the best
known solution ( upper bound ).Elimination
Identify nodes which dont lead to The best solution and eliminate them
SelectionExploration strategy
(best first search, depth firstsearch, best bound,)
Problem to be solved
Sub-problem
Solutions
P 0
8Optimal solution
B r a n c h i n g
Elimination
Selection
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
4/21
Motivations
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 spaceChoice 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 provideoptimal solutions
but requires a huge amount of resources for large problems
Need of large scale parallelism (Grid computing)
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
5/21
Objectives
Parallel B&B Algorithms developed withMaster/Worker paradigm
All communications inter-workers transit via MasterProcessGood strategy (for reduced set of workers)Gap : Creating bottlenecks on Master process
on (large scale deployment)
Use of P2P approachDirect Communications Inter-Workers
Fault toleranceDynamic availability of peers
Master
Wor ker
Wor ker
Wor ker
New solution
Wor ker
Bottleneck
Broadcast of theupper bound
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
6/21
Outline
MotivationsParallel B&B for large scale computing( ParallelBB )Implementation on top of ProActive ( P2PBB )Performance Evaluation
Conclusion et Perspectives
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
7/21
ParallelBB,Parallel B&B for large scale computing
Manager/Worker Paradigm with directcommunications inter-workers
Direct communications inter-workersAvoid bottlenecks created on Master Process
The Manager distributes tasks on WorkersSingle work poolWorkers traits their computing parts
in parallel
Master
Wor ker
Wor ker
Wor ker
New solution
Wor ker
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
8/21
ParallelBB Operations
BranchingManager generates k levels in the tree.
k depends on problem size (PS) and number of workers (#W).PS>> k >> ; #W >> k >>
SelectionManager: Exploration in depth with priority
to most promising node (priority-based queue)Manager: BFS (reversed priority-based stack)
CommunicationsWorker/Worker (upper bound )Worker/Manager (final solution )Manager/Worker (data, task, initial
upper bound, list of workers)
New Solution
K l
e v e
l s
Workers
Manager
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
9/21
Outline
MotivationsParallel B&B for large scale computing(ParallelBB)Implementation on top of ProActive ( P2PBB )Performance Evaluation
Conclusion et Perspectives
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
10/21
P2PBB,ParallelBB on top of ProActive (1)
ProActive: Java library which proposes an API, a graphical interface andparallel, distributed and concurrent programming tools.Active Object: remote object having its own thread andreceiving calls on its public methodsObjective: Using Idler CPU cyclesCreating threads with lowest prioritiesResources shared are JVMs, each JVM can receive computationEach JVM participating in the computing launches a daemon( P2P Service )
An overlay network is formedDeployment made using an XML descriptor file.
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
11/21
,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 WorkerbbManager represents the Manager
ProActive provides bbWorkers recovered over thewhole network and detected by bbManager byconsulting XML deployment descriptor file.
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
12/21
,ParallelBB on top of ProActive(3)
Distribution of computation
bbManager sends tasks(passive objects)waits for futures of
objects (result done by a
bbWorker in the future)
Wating for Futures
bbManager
Work pool(passive objects)bbWorkers
Computing
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
13/21
Sharing the upper bound
A bbWorker broadcasts the upper bound using
Typed Group communications multicast
bbWorkerGroup : represents a set of bbWorkers
recipient of messages
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
14/21
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
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
15/21
Outline
MotivationsParallel B&B for large scale computing(ParallelBB)Implementation on top of ProActive (P2PBB)Performance Evaluation
Conclusion et Perspectives
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
16/21
Performance Evaluation
Preliminary experiments on 06, 20, 50 upon cluster at Lille of GRID5000 ( http://www.grid5000.fr )
All processes run with lowest priorityParallel (with/without communications between workers
Taillards benchmarks (Ta 20-05-02, Ta 20-05-03, Ta 20-10-01,Ta 20-10-02)
http://www.grid5000.fr/http://www.grid5000.fr/8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
17/21
N jobs to be scheduled on M machinesEach machine can not be simultaneously assigned to two
jobs (colors) Jobs (colors) must be scheduled in the same order on all
machinesOne objective must be minimized
Cmax: Makespan (Total completion time)
M1
M2
M3
The Flow-Shop SchedulingProblem
4 jobs on 3 machines
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
18/21
Two parallel modes are more efficient than the serial one.#computing machines >> performance >>
Best solutions are found using 50 machinesParallel mode with communication are more efficient thanwithout communication oneSolving Ta_3 on 50 machines (more than 18 times moreefficient than using 6 machines)
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
19/21
Costofslutio
ns(CMax)
Time (/30min)
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
20/21
Conclusion
Parallel Branch and Bound Algorithm for COPs (ParallelBB)
Master/Worker
Direct Communication between workers
Application to a PFS problemImplementation on top of ProActive (P2PBB)
Asynchronous and single direction calls methods (tasksdistribution)
Typed group communications (knowledge sharing)
ProActive listeners (new connection peers)Future of objects (collection of computation results)
Preliminary experiments in P2P modeEfficiency of collaboration between workers
8/6/2019 CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids
21/21
Perspectives
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