Load Balancing and Termination Detection Load balance : - statically before the execution of any processes - dynamic during the execution of the processes.

Slides:



Advertisements
Similar presentations
Distributed Leader Election Algorithms in Synchronous Ring Networks
Advertisements

Practical techniques & Examples
Lecture 8: Asynchronous Network Algorithms
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
CS 484. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
LOAD BALANCING IN A CENTRALIZED DISTRIBUTED SYSTEM BY ANILA JAGANNATHAM ELENA HARRIS.
1 Load Balancing and Termination Detection ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson, 2009.
Chess Problem Solver Solves a given chess position for checkmate Problem input in text format.
Yu Stephanie Sun 1, Lei Xie 1, Qi Alfred Chen 2, Sanglu Lu 1, Daoxu Chen 1 1 State Key Laboratory for Novel Software Technology, Nanjing University, China.
Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers Chapter 7: Load Balancing and Termination Detection.
EECC756 - Shaaban #1 lec # 8 Spring Synchronous Iteration Iteration-based computation is a powerful method for solving numerical (and some.
Distributed Graph Processing Abhishek Verma CS425.
Load balancing Presented by 張肇烜. Outline Load Balancing Static Load Balancing Dynamic Load Balancing.
Routing - I Important concepts: link state based routing, distance vector based routing.
Graph & BFS.
CS 582 / CMPE 481 Distributed Systems
1 Friday, September 29, 2006 If all you have is a hammer, then everything looks like a nail. -Anonymous.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
Graphs CS-240/341. Uses for Graphs computer networks and routing airline flights geographic maps course prerequisite structures tasks for completing a.
Load Balancing How? –Partition the computation into units of work (tasks or jobs) –Assign tasks to different processors Load Balancing Categories –Static.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
1 Introduction to Load Balancing: l Definition of Distributed systems. Collection of independent loosely coupled computing resources. l Load Balancing.
Ant Colony Optimization Optimisation Methods. Overview.
CS 584. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
Strategies for Implementing Dynamic Load Sharing.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Distributed process management: Distributed deadlock
EECC756 - Shaaban #1 lec # 9 Spring Synchronous Iteration (Synchronous Parallelism) : –Barriers: Counter Barrier Implementation. Tree Barrier.
Distributed Process Management1 Learning Objectives Distributed Scheduling Algorithms Coordinator Elections Orphan Processes.
Omar Darwish.  Load balancing is the process of improving the performance of a parallel and distributed system through a redistribution of load among.
Load Balancing How? –Partition the computation into units of work (tasks or jobs) –Assign tasks to different processors Load Balancing Categories –Static.
CSCI-455/552 Introduction to High Performance Computing Lecture 18.
Distributed Asynchronous Bellman-Ford Algorithm
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
 Escalonamento e Migração de Recursos e Balanceamento de carga Carlos Ferrão Lopes nº M6935 Bruno Simões nº M6082 Celina Alexandre nº M6807.
Swarm Intelligence 虞台文.
Graph Algorithms. Definitions and Representation An undirected graph G is a pair (V,E), where V is a finite set of points called vertices and E is a finite.
Nyhoff, ADTs, Data Structures and Problem Solving with C++, Second Edition, © 2005 Pearson Education, Inc. All rights reserved Graphs.
Definitions Speed-up Efficiency Cost Diameter Dilation Deadlock Embedding Scalability Big Oh notation Latency Hiding Termination problem Bernstein’s conditions.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
Dynamic Load Balancing in Charm++ Abhinav S Bhatele Parallel Programming Lab, UIUC.
Load-Balancing Routing in Multichannel Hybrid Wireless Networks With Single Network Interface So, J.; Vaidya, N. H.; Vehicular Technology, IEEE Transactions.
Parallel graph algorithms Antonio-Gabriel Sturzu, SCPD Adela Diana Almasi, SCPD Adela Diana Almasi, SCPD Iulia Alexandra Floroiu, ISI Iulia Alexandra Floroiu,
Resource Mapping and Scheduling for Heterogeneous Network Processor Systems Liang Yang, Tushar Gohad, Pavel Ghosh, Devesh Sinha, Arunabha Sen and Andrea.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
CS 484 Designing Parallel Algorithms Designing a parallel algorithm is not easy. There is no recipe or magical ingredient Except creativity We can benefit.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
SPANNING TREES Lecture 20 CS2110 – Fall Spanning Trees  Definitions  Minimum spanning trees  3 greedy algorithms (incl. Kruskal’s & Prim’s)
CS 584. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
LECTURE9 NET301 11/5/2015Lect 9 NET DYNAMIC MAC PROTOCOL: CONTENTION PROTOCOL Carrier Sense Multiple Access (CSMA): A protocol in which a node verifies.
Parallel Graph Algorithms Sathish Vadhiyar. Graph Traversal  Graph search plays an important role in analyzing large data sets  Relationship between.
Distributed, Self-stabilizing Placement of Replicated Resources in Emerging Networks Bong-Jun Ko, Dan Rubenstein Presented by Jason Waddle.
Load Balancing : The Goal Given a collection of tasks comprising a computation and a set of computers on which these tasks may be executed, find the mapping.
COMP7330/7336 Advanced Parallel and Distributed Computing Task Partitioning Dr. Xiao Qin Auburn University
COMP7330/7336 Advanced Parallel and Distributed Computing Task Partitioning Dynamic Mapping Dr. Xiao Qin Auburn University
Scheduling Mechanisms Applied to Packets in a Network Flow CSC /15/03 By Chris Hare, Ricky Johnson, and Fulviu Borcan.
Load Balancing Definition: A load is balanced if no processes are idle
Load Balancing and Termination Detection
Graphs Chapter 20.
Parallel Graph Algorithms
Design and Analysis of Algorithm
Net301 lecture9 11/5/2015 Lect 9 NET301.
L21: Putting it together: Tree Search (Ch. 6)
CS 584.
Parallel Algorithm Models
CSC4005 – Distributed and Parallel Computing
Load Balancing Definition: A load is balanced if no processes are idle
Adaptivity and Dynamic Load Balancing
Introduction to High Performance Computing Lecture 17
Presentation transcript:

Load Balancing and Termination Detection Load balance : - statically before the execution of any processes - dynamic during the execution of the processes

Load Balancing and Termination Detection Potential static load balancing techniques Mapping problem and scheduling algorithm. Round robin algorithm. Randomized algorithm. Recursive algorithm. Simulated annealing. Genetic algorithm

Load Balancing and Termination Detection bin packing algorithm

Load Balancing and Termination Detection Communicated processes should be executed on processors with direct communication paths to reduce the communication delays. The mapping of processes to processors is a NP complete problem. NP stands for non-deterministic polynomial and means that there is No polynomial time algorithm for solving the problem.

Load Balancing and Termination Detection There are several problems with static load balancing. Difficult to estimate accurately the execution times of various parts of a program without actually executing the parts. Communication delays may vary under different circumstances. Some problems have indeterminate number of steps to reach their solution We need to turn to dynamic load balancing

Load Balancing and Termination Detection Dynamic load balancing - centralized (master slave) - decentralized (peer-to-peer)

Load Balancing and Termination Detection Centralized work pool (processor farm) divide-and-conquer problems the problems in which tasks are different and of different size. the number of tasks change during execution such searching algorithm FIFO Priority

Load Balancing and Termination Detection Termination: Stopping the computation when the solution has been reached is Called termination. -The task queue is empty -Every process has made a request for another task without any tasks being generated (local termination information,such search algorithm) specific local termination information, synchronous iterations)

Load Balancing and Termination Detection The disadvantage of centralized load balancing -potential exists for a bottleneck when there are many slave process that could be making simultaneously requests. -centralized work pool will be satisfactory if there are few slaves and the tasks are intensive.

Load Balancing and Termination Detection Decentralized dynamic load balancing One approach is to distribute the work pool

Load Balancing and Termination Detection Four policies of load balance. Transfer policy. Location policy. Selection policy. Information policy

Load Balancing and Termination Detection Location policy - receiver initiated : high system load - sender initiated : light system load - hybrid initiated ping-pong effect : keep passing on the same task that is received

Load Balancing and Termination Detection Process Selection - round-robin algorithm - random polling algorithm

Load Balancing and Termination Detection Load balancing using a line structure

Load Balancing and Termination Detection - for left and right communication - for the current task

Load Balancing and Termination Detection

Distributed Termination Detection Algorithm. Application-specific local termination condition exist throughout the collection of processes, at time t, (each process can send a message to the master when its local termination conditions are satisfied). There are no messages in transit between processes at time t. (it is hard to recognize)

Load Balancing and Termination Detection Using Acknowledge Messages. Each process is in one of two states - inactive - active

Load Balancing and Termination Detection. Its local termination condition exists. It has transmitted all its acknowledgements for tasks it has received.. It has received all its acknowledgements for tasks it has send out.

Load Balancing and Termination Detection Ring termination algorithm 1. When P0 has terminated, it generates a token that it passed to P1. 2. When Pi(1<=I<=n) receive the token and has already terminated, it passed the token onward to Pi+1. Otherwise, it waits for its local termination condition and then passes the token onward. Pn-1 passes the token to P0. 3. When P0 receives a token, it knows that all processes in the ring have terminated. A messages can then be sent to all processes informing them of global termination, if necessary.

Load Balancing and Termination Detection

Tree algorithm

Load Balancing and Termination Detection Shortest path 1. The shortest distance between two towns or other points on a map, where the weights represent distance 2. The quickest route to travel, where the weights represent time 3. The least expensive way to travel by air, where the weighs represent the cost of the flights between cities 4. The best way to climb a mountain given a terrain map with contours 5. The best rout through a computer network for minimum message delay 6. The most efficient manufacturing system, where the weights represent hours of work.

Load Balancing and Termination Detection Graph representation -adjacency matrix -adjacency list Space:O(n 2 ) Time : O(1)

Load Balancing and Termination Detection Space:O(nv max ) Time : O(v)

Load Balancing and Termination Detection Searching a graph - Moor single-source shortest path algorithm - Dijkstra ’ s single-source shortest path algorithm

Load Balancing and Termination Detection