1 / 22

Load Balancing

Load Balancing. Chase Holland Edward Norris CS387 3/18/2014. Load Balancing. Controlling information flow amongst a set of computational resources Information Homogeneous: All tasks are identical Heterogeneous: Tasks are different Clusters

hide
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 Chase Holland Edward Norris CS387 3/18/2014

  2. Load Balancing • Controlling information flow amongst a set of computational resources • Information • Homogeneous: All tasks are identical • Heterogeneous: Tasks are different • Clusters • Homogeneous: All resources are identical in architecture and performance • Heterogeneous: Not all resources are identical

  3. Algorithms for homogeneous clusters • Round Robin • Random • Algorithms for heterogeneous clusters • Load Sensitive • Diffusion • LEACH • PP-GMCP

  4. Round Robin – Identical tasks • Classical (Static) Round Robin • Weighted Round Robin

  5. Round Robin II – Different Tasks • Dynamic Round Robin • Load sensitive • Static heuristics • Dynamic heuristics

  6. LEACH

  7. LEACH • Low • Energy • Adaptive • Clustering • Heirarchy

  8. PP-GMCP • Probabilistic Preferred Gray Markov Chain Prediction • Similar to Round Robin, but make predictions about incoming data trends Diffusion • When there is a single, central master that distributes tasks, what if there are many small tasks coming in from many different locations? • Master becomes I/O bound and a bottleneck

  9. Diffusion

  10. 6 Things you need in your load balancer • Low CPU/memory overhead ( server_costnum_servers ) • Low latency • Flexible • Able to handle failures and redirect traffic • Smart • High throughput

  11. Into the wild!

  12. Round Robin DNS • Available from many DNS providers such as AWS’ Route 53 • Very basic, round-robin scheduling

  13. HAProxy • High Availability Proxy • Open source: GNU GPL v2 • Used by: • Stack Overflow • Reddit • Tumblr • Twitter • AWS’ OpsWorks

  14. HAProxy • Written in C • Active development since 2000 • Proxies TCP and HTTP-based applications • Configurable algorithm via balance option • Round Robin • Static Round Robin • Least Connections • Source IP hash • URI/URL hash

  15. Linux-HA • Heartbeat: Message passing layer • Pacemaker: Cluster manager • Glue • Local Resource Manager • STONITH (kills off dead nodes) • hb_report: advanced error reporting

  16. Nginx • Upstream Module • Configurable algorithm: • Round Robin • Static Round Robin • Least Connections • Source IP hash • URI/URL hash

  17. Hardware & CommercialLoad Balancers

  18. Amazon AWS’ ELB • Elastic Load Balancer • Very easy to configure • Uses a health-check URL • Automatically scales • SSL offloading, sticky sessions • Distributes across availability zones • Excellent web management tools

  19. Amazon AWS’ ELB • Insanely expensive • Pricing • $0.025/hour per instance to run + instance fees • $0.008 per GB transferred (in or out)

  20. Citrix Netscaler • Most likely what AWS’ ELB is based on • Also available as a virtual machine • Endorsed by Cisco®

  21. KEMP Load Balancers • Offers a wide variety of hardware load balancers • Several big-brand clients

  22. Questions?

More Related