150 likes | 349 Views
Customized Dynamic Load Balancing for a Network of Workstations. Taken from work done by: Mohammed Javeed Zaki, Wei Li, Srinivasan Parthasarathy Computer Science Department, University of Rochester June 1997. Presenter: Jacqueline Ewell. Static vs. Dynamic Load Balancing.
E N D
Customized Dynamic Load Balancing for a Network of Workstations Taken from work done by: Mohammed Javeed Zaki, Wei Li, Srinivasan Parthasarathy Computer Science Department, University of Rochester June 1997 Presenter: Jacqueline Ewell
Static vs. Dynamic Load Balancing Static Load Balancing: • allows the programmer to delegate work before runtime • can accommodate for heterogeneous processor and non-uniform loops • avoids runtime scheduling overheads • needs to know all information about Workstations ahead of time Dynamic Load Balancing: • ability to delegate work based on runtime performance of a Network of Workstations (NOW) • transient external loads by multiple-users, heterogeneous processors, memory availability, network bandwidths and contentions, and software leads to a more logical choice of dynamic load balancing
Work queue Dynamic Load Balancing Strategies • Task Queue Model: a centralized queue of work • Diffusion Model: • all work is delegated to each processor, • when an imbalance is detected between it and its neighbor, work is moved • Predict future performance from past performance: • Exchange of performance information • Global Distributed Scheme • Global Centralized Scheme • Local Distributed Scheme • Local Centralized Scheme Distributed Centralized Local Global
Dynamic Load Balancing Strategies Global - all load balancing is done on a global scale Local - processors are divided into groups (size = K) and load balancing decisions are done within a group Centralized - the load balancer is located on one processor Distributed - the load balancer is replicated on every processor
Local Centralized ... P1 P2 P3 Pn Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer P3 P3 P1 P2 P1 P2 P3 P4 ... Pn G1 G2 Dynamic Load Balancing Strategies Global Centralized Global Distributed Load Balancer Load Balancer Load Balancer Load Balancer Load Balancer ... P2 P3 Pn P1 Local Distributed Load Balancer ... Pn G1 G2
Strategy Tradeoffs Global vs. Local • Global information is available at synchronization time; therefore work distribution is optimal • Global scheme - synchronization and communication cost is much higher • Local scheme - groups may sit idle while other groups are overloaded Centralized vs. Distributed • Centralized scheme - one load balancer will hurt scalability • Centralized scheme - distribution calculations are on one processor; therefore, done sequentially • Distributed - “all-to-all” exchange of performance profile; therefore, network contention could be a problem
DLB Modeling & Decision Process • Modeling Parameters: • number of processors • normalized processor speed • number of neighbors • data size • number of loop iterations • work per iteration • # of bytes to be comm./iteration • time per iteration • network latency & bandwidth • network topology • maximum load • duration of persistence of load Processor Parameters Program Parameters Network Parameters External Load Modeling
DLB Modeling & Decision Process (cont.) Total DLB Cost: Synchronization Cost + Cost of Calculating New Distribution + Cost of Sending Instructions* + Cost of Data Movement *only applies to centralized schemes
Synchronization Cost: • GCDLB: one-to-all(P) + all-to-one(P) • GDDLB: one-to-all(P) + all-to-all(P ) • LCDLB: one-to-all(K) + all-to-one(K) • LDDLB: one-to-all(K) + all-to-all(K ) 2 2 DLB Modeling & Decision Process (cont.) Cost of Calculating New Distribution: Usually very small Cost of Sending Instructions: Number of send Messages * Latency Cost of Data Movement: Number of Message * Latency + Number of Iterations Moved * Number of Bytes that need to be communicated per iteration / Bandwidth
DLB Modeling & Decision Process (cont.) Initially: work will be divided equally among all processors Synchronization: 1/Pth work has been done load function is known average effective speed is know Performance Metric: (number of iteration per second) load function and other parameters are plugged into the model to select the best strategy Work Movement: if amount of work to be moved is above a threshold Profitability Analysis - move work only if there is a 10% improvement in execution time
Experiment • Global Schemes are best ; computation/communication ratio is high • More Processors -> More Synchronization Cost ; favors Local Scheme • Global is still better at 16-processors • Centralized master, sequential redistribution, instruction sends, and delay factors add sufficient overheads to Centralized scheme
Experiment • Amount of work/iteration is small; Local Distributed is favored • As data size increases; Global Distributed does better • On 16-processors, Local Distributed is the best • Local is better than Global; since computation/comm. Ratio is small • Distributed is better than Centralized
Conclusions • Different Schemes are best for different applications • Customized Dynamic Load Balancing is essential when transient external loads are introduced • Given the model, it is possible to select a good scheduling scheme Future Work • Other Dynamic Load Balancing Schemes need to be incorporate into the model (not lying on the extremes) • Instead of Local Central, have one master per group • Local schemes, work should be exchanged between different groups • Dynamic Group memberships