load balancing

22
Chase Holland Edward Norris CS387 3/18/2014 LOAD BALANCING

Upload: hide

Post on 23-Feb-2016

39 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Load Balancing

Chase Holland

Edward Norris

CS387

3/18/2014

LOAD BALANCING

Page 2: Load Balancing

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

Page 3: Load Balancing

• Algorithms for homogeneous clusters

• Round Robin

• Random

• Algorithms for heterogeneous clusters

• Load Sensitive

• Diffusion

• LEACH

• PP-GMCP

Page 4: Load Balancing

ROUND ROBIN – IDENTICAL TASKS• Classical (Static) Round Robin

• Weighted Round Robin

Page 5: Load Balancing

ROUND ROBIN II – DIFFERENT TASKS• Dynamic Round Robin

• Load sensitive

• Static heuristics

• Dynamic heuristics

Page 6: Load Balancing

𝑃 ∝𝑅2LEACH

Page 7: Load Balancing

LEACH• Low

• Energy

• Adaptive

• Clustering

• Heirarchy

Page 8: Load Balancing

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

Page 9: Load Balancing

DIFFUSION

Page 10: Load Balancing

6 THINGS YOU NEED IN YOUR LOAD BALANCER• Low CPU/memory overhead ( server_cost num_servers )

• Low latency

• Flexible

• Able to handle failures and redirect traffic

• Smart

• High throughput

Page 11: Load Balancing

INTO THE WILD!

Page 12: Load Balancing

ROUND ROBIN DNS• Available from many DNS providers such as AWS’ Route 53

• Very basic, round-robin scheduling

Page 13: Load Balancing

HAPROXY• High Availability Proxy

• Open source: GNU GPL v2

• Used by:

• Stack Overflow

• Reddit

• Tumblr

• Twitter

• AWS’ OpsWorks

Page 14: Load Balancing

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

Page 15: Load Balancing

LINUX-HA• Heartbeat: Message passing layer

• Pacemaker: Cluster manager

• Glue

• Local Resource Manager

• STONITH (kills off dead nodes)

• hb_report: advanced error reporting

Page 16: Load Balancing

NGINX• Upstream Module

• Configurable algorithm:

• Round Robin

• Static Round Robin

• Least Connections

• Source IP hash

• URI/URL hash

Page 17: Load Balancing

HARDWARE & COMMERCIALLOAD BALANCERS

Page 18: Load Balancing

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

Page 19: Load Balancing

AMAZON AWS’ ELB• Insanely expensive

• Pricing

• $0.025/hour per instance to run + instance fees

• $0.008 per GB transferred (in or out)

Page 20: Load Balancing

CITRIX NETSCALER• Most likely what AWS’ ELB is based on

• Also available as a virtual machine

• Endorsed by Cisco®

Page 21: Load Balancing

KEMP LOAD BALANCERS• Offers a wide variety of hardware load balancers

• Several big-brand clients

Page 22: Load Balancing

QUESTIONS?