the workflow framework for metaheuristic search on grid environment
DESCRIPTION
The Workflow Framework for Metaheuristic Search on Grid Environment. Dang-Khoa Tran Van Hoai Tran Faculty of Computer Science and Engineering HCMC University of Technology. Metaheuristic. Combinatorial optimization problems are often NP-hard, cannot solve in reasonable time. - PowerPoint PPT PresentationTRANSCRIPT
The Workflow Framework for Metaheuristic Search on
Grid EnvironmentDang-Khoa Tran
Van Hoai TranFaculty of Computer Science and Engineering
HCMC University of Technology
HPSC 2009 2
Combinatorial optimization problems are often NP-hard, cannot solve in reasonable time.
Meta-heuristic is not like the exact methods, it can find reasonable solutions in acceptable time.
Metaheuristic
HPSC 2009 3
Improving the solutions by expanding the exploration space and with various strategies◦ Take more time◦ … or required more computing resources
Our approach: using Grid Computing to solve the metaheuristic problem.
Metaheuristic
HPSC 2009 4
Meta-heuristic and Grid Computing Design goals The framework designs Experiments and results
Content
HPSC 2009 5
Grid Computing is the parallel and distributed system that enables the sharing and using resources easily.
Grid programming paradigm: using Parallel Object C++ (POP-C++) for application development.◦ Similar to C++ with a few keyword.◦ The objects are automatically created and
executed on Grid.
Grid computing
HPSC 2009 6
User is usually not familiar with Grid programming model.
Application testing and debugging on Grid is difficult.
Make use of Grid computing by executing many search algorithm concurrently.
Some challenges
HPSC 2009 7
Provide workflow model to solve the problems
Easy to develop applications◦ Using OO programming◦ Hide the Grid programming model from user
Test and debug the applications Deploy and execute on Grid environment
easily Running efficiency
Design Goals for the Framework
HPSC 2009 8
Parallel Metaheuristic Library
Library Architecture
Search Algorithms
Workflow Engine
POP-C++ Runtime
Computing Resources(Workstations / Clusters / Grid)
Applications
HPSC 2009 9
Using the search algorithms◦ Inherits from predefined interfaces◦ Implements the abstract methods
Using workflow◦ Create dependency graph◦ The workflow engine will handles the execution
Easy to Use+fullEvaluate() : double+Serialize() : void+printOn() : void+operator =()+operator ==() : bool
edaSolution
mySolution
HPSC 2009 10
// Define search algorithm myTwoOpt two_opt(graph); myTwoOptNext two_opt_next(graph); edaBestImprSelect moveSelect; edaHC hcSearch( &two_opt, &two_opt_next, &moveSelect); /* Define more search algorithms... */ // Define workflow control: Using Parallel workflow edaParWrapperControl sfControl; // Create dependency graph int hcId = sfControl.insertVertex( &hcSearch ); sfControl.insertEdge( hcId, saId ); // Do search sfControl.search(route)
Easy to Use – Example
HPSC 2009 11
Sample workflow
HC
TS
SA
SA TS
SA
HCS
Initial solution
HPSC 2009 12
Easy to Deploy
HPSC 2009 13
Testing and Debugging◦ Using the sequential workflow◦ Test and debug like normal applications
Easy to Test and Debug
HPSC 2009 14
The Traveling Salesman Problem
HPSC 2009 15
The Traveling Salesman Problem Workflow design for testing
HC
SA
TS
HC
HC
SA
TS
HC
HC...HC
Input: graph Output: path
HPSC 2009 16
The Traveling Salesman Problem
Graph/Branches
1 5 10
PCB 442 55845 54778 54171ALI 535 2136 2140 2250EIL 101 675 679 675PR 1001 293180 288059 288059
HPSC 2009 17
Logic Circuit Optimization
• Size optimization• Delay optimization• Energy optimization• …
HPSC 2009 18
Workflow design
Logic Circuit Optimization
HC
TS SA TS SA
HCTS SA TS SA
TS SA TS SA
HPSC 2009 19
Logic Circuit Optimization Sample circuit: IWLS93 Sequential execution (1 branch of the workflow) Literal optimization
Circuit #lit(in) MIS RAMBO Pert/Sim LogicOptC3540 2778 2145 1976 1876 1548
C7552 6583 3513 3521 2851 2125
C6288 7184 5237 4666 3766 3490
des 7657 6095 6145 5718 3664
apex6 1422 1260 1291 1086 788
HPSC 2009 20
Logic Circuit Optimization Execute concurrently on Grid Execute a few times each (average results) Literal optimization
Circuit 1 branch 5 braches 10 branchesC3540 1548 1431 1388
C7552 2125 2149 2074
C6288 3490 3328 3295
des 3664 3611 3573
apex6 788 774 765
HPSC 2009 21
Support the evolution-based heuristic. Provide more sophisticated workflow such
as loop, branching and parallel branches.
Future Work and Conclusion
HPSC 2009 22
Thanks for your attention
HPSC 2009 23
Question!?
HPSC 2009 24
PCB442
HPSC 2009 25
PCB442 – 1 branch: Fitness = 55845
HPSC 2009 26
PCB442 – 5 branch: Fitness = 54778
HPSC 2009 27
PCB442 – 10 branch: Fitness = 54171
HPSC 2009 28
ALI535
HPSC 2009 29
ALI535 – 1 branch: Fitness = 2136
HPSC 2009 30
ALI535 – 5 branch: Fitness = 2140
HPSC 2009 31
ALI535 – 10 branch: Fitness = 2250
HPSC 2009 32
EIL101
HPSC 2009 33
EIL101 – 1 branch: Fitness = 675
HPSC 2009 34
EIL101 – 5 branch: Fitness = 679
HPSC 2009 35
EIL101 – 10 branch: Fitness = 679
HPSC 2009 36
PR1002
HPSC 2009 37
PR1002 – 1 branch: Fitness = 293180
HPSC 2009 38
PR1002 – 5 branch: Fitness = 288059
HPSC 2009 39
PR1002 – 10 branch: Fitness = 288059
HPSC 2009 40
Literal Optimization Result
Optimize
count.blif – IWLS93