400 likes | 522 Views
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.
E N D
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. • Meta-heuristic is not like the exact methods, it can find reasonable solutions in acceptable time. HPSC 2009
Metaheuristic • 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. HPSC 2009
Content • Meta-heuristic and Grid Computing • Design goals • The framework designs • Experiments and results HPSC 2009
Grid computing • 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. HPSC 2009
Some challenges • 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. HPSC 2009
Design Goals for the Framework • 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 HPSC 2009
Library Architecture Applications Parallel Metaheuristic Library Search Algorithms Workflow Engine POP-C++ Runtime Computing Resources (Workstations / Clusters / Grid) HPSC 2009
Easy to Use • Using the search algorithms • Inherits from predefined interfaces • Implements the abstract methods • Using workflow • Create dependency graph • The workflow engine will handles the execution HPSC 2009
Easy to Use – Example // Define search algorithm myTwoOpttwo_opt(graph); myTwoOptNexttwo_opt_next(graph); edaBestImprSelectmoveSelect; edaHChcSearch( &two_opt, &two_opt_next, &moveSelect); /* Define more search algorithms... */ // Define workflow control: Using Parallel workflow edaParWrapperControlsfControl; // Create dependency graph inthcId = sfControl.insertVertex( &hcSearch ); sfControl.insertEdge( hcId, saId ); // Do search sfControl.search(route) HPSC 2009
Sample workflow Initial solution TS SA HC SA HC S SA TS HPSC 2009
Easy to Deploy HPSC 2009
Easy to Test and Debug • Testing and Debugging • Using the sequential workflow • Test and debug like normal applications HPSC 2009
The Traveling Salesman Problem HPSC 2009
The Traveling Salesman Problem • Workflow design for testing SA HC TS HC HC HC SA HC Output: path Input: graph TS HC ... HPSC 2009
The Traveling Salesman Problem HPSC 2009
Logic Circuit Optimization • Size optimization • Delay optimization • Energy optimization • … HPSC 2009
Logic Circuit Optimization • Workflow design TS SA TS SA TS SA TS SA HC HC TS SA TS SA HPSC 2009
Logic Circuit Optimization • Sample circuit: IWLS93 • Sequential execution (1 branch of the workflow) • Literal optimization HPSC 2009
Logic Circuit Optimization • Execute concurrently on Grid • Execute a few times each (average results) • Literal optimization HPSC 2009
Future Work and Conclusion • Support the evolution-based heuristic. • Provide more sophisticated workflow such as loop, branching and parallel branches. HPSC 2009
Thanks for your attention HPSC 2009
Question!? HPSC 2009
PCB442 HPSC 2009
PCB442 – 1 branch: Fitness = 55845 HPSC 2009
PCB442 – 5 branch: Fitness = 54778 HPSC 2009
PCB442 – 10 branch: Fitness = 54171 HPSC 2009
ALI535 HPSC 2009
ALI535 – 1 branch: Fitness = 2136 HPSC 2009
ALI535 – 5 branch: Fitness = 2140 HPSC 2009
ALI535 – 10 branch: Fitness = 2250 HPSC 2009
EIL101 HPSC 2009
EIL101 – 1 branch: Fitness = 675 HPSC 2009
EIL101 – 5 branch: Fitness = 679 HPSC 2009
EIL101 – 10 branch: Fitness = 679 HPSC 2009
PR1002 HPSC 2009
PR1002 – 1 branch: Fitness = 293180 HPSC 2009
PR1002 – 5 branch: Fitness = 288059 HPSC 2009
PR1002 – 10 branch: Fitness = 288059 HPSC 2009
Literal Optimization Result Optimize count.blif – IWLS93 HPSC 2009