1 / 20

Load balancing

Load balancing. Presented by 張肇烜. Outline. Load Balancing Static Load Balancing Dynamic Load Balancing. Load Balancing. Use to distribute computations fairly across processors in order to obtain the highest possible execution speeds. Load Balancing (cont.). Static Load Balancing.

lelia
Download Presentation

Load balancing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Load balancing Presented by 張肇烜

  2. Outline • Load Balancing • Static Load Balancing • Dynamic Load Balancing

  3. Load Balancing • Use to distribute computations fairly across processors in order to obtain the highest possible execution speeds.

  4. Load Balancing (cont.)

  5. Static Load Balancing • Before the execution of any process. • Some potential static load balancing: • Randomized algorithm • Round robin algorithm • Weight round robin algorithm

  6. Static Load Balancing (cont.) • Randomized algorithms: • Selects processes at random to take tasks.

  7. Static Load Balancing (cont.) • Round robin algorithms: • Passes out tasks in sequential order of processes coming back to the first when all processes have been given a task.

  8. Static Load Balancing (cont.) • Weighted round robin algorithms: • To improve imbalance problem of RR.

  9. Static Load Balancing (cont.) • Several flaws: • Very difficult to estimate accurately the execution times of various parts of a program without actually executing the parts. • Communication delays that vary under different circumstances.

  10. Dynamic Load Balancing • Vary load during the execution of the processes. • Does incur an additional overhead during execution, but it is much more effective than static load balancing.

  11. Dynamic Load Balancing (cont.) • Can be classified as: • Centralized • Decentralized

  12. Dynamic Load Balancing (cont.) • Centralized DLB: • Tasks handed out from a centralized location. Master-slave structure.

  13. Dynamic Load Balancing (cont.) • Decentralized DLB: • A worker process may receive tasks from other worker processes and may send tasks to other worker processes.

  14. Dynamic Load Balancing (cont.) • Task transfer mechanisms: • Receiver-Initiated Method • Sender-Initiated Method

  15. Dynamic Load Balancing (cont.) • Receiver-Initiated Method: • A process requests tasks from other processes it selects. • Typically, a process would request tasks from other processes when it has few or no tasks to perform. • It has been shown to work well at high system load.

  16. Dynamic Load Balancing (cont.) • Sender-Initiated Method: • A process sends tasks to other processes it selects. • Typically, a process with a heavy load passes out some of its tasks to others that are willing to accept them. • It has been shown to work well for light over system load.

  17. Dynamic Load Balancing (cont.) • Some potential Dynamic load balancing : • Least-Connection Algorithm (LC) • Weighted Least-Connection Algorithm (WLC)

  18. Dynamic Load Balancing (cont.) • Least-Connection Algorithm : • The requests are distributed to the server based on the number of established connections. • Least-connection algorithm performs well when the loads of requests vary frequently.

  19. Dynamic Load Balancing (cont.) • Weighted Least-Connection Algorithm : • Similar to weighted round robin algorithm, weights can be combined to least-connection algorithm for heterogeneous environment.

  20. Dynamic Load Balancing (cont.) • Weighted Least-Connection Algorithm : • 其算法流程如下,假設有一組伺服器S = {S0, S1, ..., Sn-1},W(Si)表示伺服器Si的權重值,C(Si)表示伺服器Si的目前連接數。而所有伺服器目前連接數的總和為CSUM = ΣC(Si) (i=0, 1, .. , n-1)。當前的新連接請求會被發送伺服器Sm,而且僅當伺服器Sm滿足以下條件,(C(Sm) / CSUM)/ W(Sm) = min { (C(Si) / CSUM) / W(Si)} (i=0, 1, . , n-1),其中W(Si)不得為零。

More Related