CCGRID07 - A Parallel P2P Branch and Bound Algorithm for Computational Grids

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