Parallelization of a Swarm Intelligence System

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Artificial Bee Colony Algorithm
Prepared 7/28/2011 by T. O’Neil for 3460:677, Fall 2011, The University of Akron.
Parallel Computing in Matlab
CS6800 Advanced Theory of Computation
Comparing Effectiveness of Bioinspired Approaches to Search and Rescue Scenarios Emily Shaeffer and Shena Cao 4/28/2011Shaeffer and Cao- ESE 313.
Using Parallel Genetic Algorithm in a Predictive Job Scheduling
Multi-Objective Optimization NP-Hard Conflicting objectives – Flow shop with both minimum makespan and tardiness objective – TSP problem with minimum distance,
Master/Slave Architecture Pattern Source: Pattern-Oriented Software Architecture, Vol. 1, Buschmann, et al.
Swarm algorithms COMP308. Swarming – The Definition aggregation of similar animals, generally cruising in the same direction Termites swarm to build colonies.
Study of Hurricane and Tornado Operating Systems By Shubhanan Bakre.
Development of Parallel Simulator for Wireless WCDMA Network Hong Zhang Communication lab of HUT.
Multiple Processor Systems
Artificial Bee Colony Algorithm
PARALLEL PROCESSING COMPARATIVE STUDY 1. CONTEXT How to finish a work in short time???? Solution To use quicker worker. Inconvenient: The speed of worker.
Summary Background –Why do we need parallel processing? Applications Introduction in algorithms and applications –Methodology to develop efficient parallel.
Reference: Message Passing Fundamentals.
GridFlow: Workflow Management for Grid Computing Kavita Shinde.
Beneficial Caching in Mobile Ad Hoc Networks Bin Tang, Samir Das, Himanshu Gupta Computer Science Department Stony Brook University.
3.5 Interprocess Communication Many operating systems provide mechanisms for interprocess communication (IPC) –Processes must communicate with one another.
Reporter : Mac Date : Multi-Start Method Rafael Marti.
3.5 Interprocess Communication
Chapter 11: Distributed Processing Parallel programming Principles of parallel programming languages Concurrent execution –Programming constructs –Guarded.
Ant Colony Optimization: an introduction
1 IE 607 Heuristic Optimization Ant Colony Optimization.
Population-based metaheuristics Nature-inspired Initialize a population A new population of solutions is generated Integrate the new population into the.
Advances in Language Design
Reference: / Parallel Programming Paradigm Yeni Herdiyeni Dept of Computer Science, IPB.
Parallel implementation of RAndom SAmple Consensus (RANSAC) Adarsh Kowdle.
Genetic Algorithms and Ant Colony Optimisation
Chapter 14: Artificial Intelligence Invitation to Computer Science, C++ Version, Third Edition.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Swarm Computing Applications in Software Engineering By Chaitanya.
SPMD: Single Program Multiple Data Streams
Swarm Intelligence 虞台文.
A performance evaluation approach openModeller: A Framework for species distribution Modelling.
Maximum Network Lifetime in Wireless Sensor Networks with Adjustable Sensing Ranges Cardei, M.; Jie Wu; Mingming Lu; Pervaiz, M.O.; Wireless And Mobile.
(Particle Swarm Optimisation)
Kavita Singh CS-A What is Swarm Intelligence (SI)? “The emergent collective intelligence of groups of simple agents.”
Mobile Agent Migration Problem Yingyue Xu. Energy efficiency requirement of sensor networks Mobile agent computing paradigm Data fusion, distributed processing.
O PTIMAL SERVICE TASK PARTITION AND DISTRIBUTION IN GRID SYSTEM WITH STAR TOPOLOGY G REGORY L EVITIN, Y UAN -S HUN D AI Adviser: Frank, Yeong-Sung Lin.
Thinking in Parallel – Implementing In Code New Mexico Supercomputing Challenge in partnership with Intel Corp. and NM EPSCoR.
CS- 492 : Distributed system & Parallel Processing Lecture 7: Sun: 15/5/1435 Foundations of designing parallel algorithms and shared memory models Lecturer/
Static Process Scheduling
Biologically Inspired Computation Ant Colony Optimisation.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
An Overview of Parallel Processing
Parallel Computing Presented by Justin Reschke
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 April 28, 2005 Session 29.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Scientific Research Group in Egypt (SRGE)
Discrete ABC Based on Similarity for GCP
Introduction | Model | Solution | Evaluation
Definition of Distributed System
The University of Adelaide, School of Computer Science
Team 1 Aakanksha Gupta, Solomon Walker, Guanghong Wang
B. Jayalakshmi and Alok Singh 2015
Parallel Programming in C with MPI and OpenMP
Summary Background Introduction in algorithms and applications
Computational Intelligence
فهرست مطالب 1- الگوریتم کلونی زنبورعسل مصنوعی
Multi-Objective Optimization
AN INTRODUCTION ON PARALLEL PROCESSING
COMP60611 Fundamentals of Parallel and Distributed Systems
Design & Analysis of Algorithms Combinatorial optimization
Artificial Bee Colony Algorithm
Computational Intelligence
Presentation transcript:

Parallelization of a Swarm Intelligence System Iman Eshraghi School of Computer Science University of Ottawa, Ottawa, Canada <ieshr007@uottawa.ca>

Contents Introduction Problem Statement Related work ABC Algorithm Methodology Parallelization Results Conclusion References

Introduction Swarm Intelligence Artificial / Natural Systems Agents Boids

Introduction SI concepts: self organizing labor division Feedback Interaction labor division Simultaneous task performance Response to the environment

Introduction Optimization (problems – algorithms) :: discrete variables -> combinatorial optimization problems :: continuous variable -> multimodal problems,.. Ackley’s Mulitmodal Function

Optimization (algorithms) Heuristic vs. Meta-heuristic Introduction Optimization (algorithms) Heuristic vs. Meta-heuristic

Meta-heuristic Optimization Techniques Introduction Meta-heuristic Optimization Techniques

Problem Statement - Hyphothesis - Goal Metaheuristic optimization technique of choice not optimal - Goal Optimizing the metaheuristic optimization technique Presenting a parallel version of the algorithm for shared memory architecture

Related Work Parallelization of the algorithm by assigning different threads to separate swarms Parallelization strategies for a distributed memory multiprocessor architecture under the Message Passing Interface (MPI) CUDA-based Bees Algorithm called CUBA

ABC Proposed by Dervis Karaboga in 2005 Why ABC? Applications: Artificial networks Graph Theory TSP Leaf-constrained Spanning Trees Power loss Minimization in Distributed networks …

ABC Definitions: Food Source Bees Dancing Area Employed Unemployed Scouts Onlookers Dancing Area

Algorithm (pseudo-code) ABC Algorithm (pseudo-code)

Movement of Onlookers: Movement of Scouts: ABC Movement of Onlookers: Movement of Scouts:

Methodology Theory

Matlab Parallel Computing Toolbox Parallelization Matlab Parallel Computing Toolbox

SPMD (Single Program Multiple Data) Parallelization Flynn's taxonomy Single instruction stream Multiple instruction streams Single program Multiple programs Single data stream SISD MISD Multiple data streams SIMD MIMD SPMD MPMD SPMD (Single Program Multiple Data)

spmd numlabs labindex labSend(data, workerId) labReceive(workerId) Parallelization spmd numlabs labindex labSend(data, workerId) labReceive(workerId)

Parallelization An spmd program needs workers to cooperate on the program -matlabpool open local 4 The client and the workers share a single program in which some commands are delimited within blocks opening with spmd and closing with end. The client executes commands up to the first spmd block, when it pauses, the workers execute the code in the block. Once they finish, the client resumes execution.

Parallelization 1. Generate SN initial solutions randomly and evaluate them. Place them in the shared memory S 2. Divide the solutions equally among p processors by copying SNp solutions to the local memory of each processor 3. Steps 4 to 10 are carried out in parallel at each processor Pr 4. For each solution Xi in the local memory Mr of processor Pr, determine a neighbor Vi using (4) and perform a greedy selection between Xi and Vi 5. Calculate the probabilities for the solutions in Mr using (5) 6. Use the roulette wheel selection method to place the onlookers on the food sources in Mr and improve the corresponding solutions (as in step 4) 7. Determine the abandoned solution (if any) in Mr and replace it with a new randomly produced solution. 8. Record the best local solution obtained till now at Pr 9. Copy the solutions in Mr to the corresponding slots in S 10. Repeat steps 4 to 9 until MCN cycles are completed 11. Determine the global best solution among the best local solutions recorded at each processor.

Parallelization spmd SNp=SourceNum/numlabs; a = ( labindex - 1 ) *SNp+1; b =SNp* labindex; S_p_food=food(a:b); [min_value,index]=min([S_p_food.fit]); BestSource=S_p_food(index);%Global food . Employed Search Step Onlooker Search Step Scout Search Step end

Comparison Serial: Parallel: Results Comparison Serial: Parallel:

Results Serial Parallel

Results Speed up => 120.98 / 63.15 = 1.9 x

Conclusion The applied parallelization technique for ABC algorithm has lead to speed up. The quality of results are not necessarily improved or the opposite in this technique. Future Work: Extending the Algorithm on the Cluster through Matlab Distributed Computing Server

References Harikrishna Narasimhan. Parallel artifcial bee colony (pabc) algorithm. 2009 World Congress on Nature & Biologically Inspired Computing (NaBIC), 2009. Fahad S. Abu-Mouti and Mohamed E. El-Hawary. Overview of artifcial bee colony (abc) algorithm and its applications. 2012 IEEE International Systems Conference SysCon2012, Mar 2012. Guo-Heng Luo, Sheng-Kai Huang, Yue-Shan Chang, and Shyan-Ming Yuan. A parallel bees algorithm implementation on GPU. Journal of Systems Architecture, 60(3):271-279, Mar 2014. Dusan Ramljakb Milica Selmicc & Dusan Teodorovicc Tatjana Davidovica, Tatjana Jak-sica. Parallelization strategies for bee colony optimization based on message passing communication protocol. Optimization, 62(8):1113-1142, Aug 2013. Matlab, Mathworks: http://www.mathworks.com/products/parallel-computing , http://www.mathworks.com/help/distcomp/index.html Wikipedia:https://en.wikipedia.org/wiki/Flynn%27s_taxonomy#MPMD_.28Mult iple_programs.2C_multiple_data_streams.29

Questions Q 1: What are some of the difference between heuristic and metaheuristic algorithms? Q 2: Can you name some of the algorithms in each of the above-mentioned categories? Q 3: Can we predict whether parallelization of optimization algorithms will achieve a speed up?