Web Server Load BalancingScheduling Asima Silva Tim Sutherland
Web Server Load Balancing/Scheduling Asima Silva Tim Sutherland
Outline Web Server Introduction Information Management Basics Load Sharing Policies – – FLEX WARD Equi. Load Adapt. Load Summary Conclusions Future Work
Introduction to Web Server Load Balancing Request enters a router Load balancing server determines which web server should serve the request Sends the request to the appropriate web server Request Response Internet Router Load-Balancing Server Web Servers Traditional Web Cluster
How do we split up information? Content Server Farm ?
Information Strategies Replication Partition
Load Balancing Approaches File Distribution Routing Content/Locality DNS Server Aware Size Aware Centralized Router Workload Aware Distributed Dispatcher
Issues Efficiently processing requests with optimizations for load balancing – Send and process requests to a web server that has files in cache – Send and process requests to a web server with the least amount of requests – Send and process requests to a web server determined by the size of the request
File Distribution FLEX Routing Content/Locality Aware DNS Server Size Aware Centralized Router Workload Aware Distributed Dispatcher Locality aware load-balancing strategy based on two factors: – Accessed files, memory requirements – Access rates (working set), load requirements Partitions all servers into equally balanced groups Each server transfers the response to the browser to reduce bottleneck through the router (TCP Handoff)
Flex Diagram S 1 Requests DNS Server S 2 Forwards Request To Client Browser W(S 1) ≈ W(S 2) ≈ W(S 3) ≈ … ≈ W(S 6) Ar(S 1) ≈ Ar(S 2) ≈ Ar(S 3) ≈ … ≈ Ar(S 6) S 3 S 5 S 4 S 6
FLEX Cont. Advantages: – Highly scalable – Reduces bottleneck by the load balancer – No software is required – Reduces number of cache misses
FLEX Cont. II Disadvantages: – Not dynamic, routing tale must be recreated – Only compared to RR – Number of access logs required on each server could be tremendous – Responsibility of load-balancing and transferring response is given to web servers – unorganized responsibility – How often to update access rates and working sets? Monitor?
File Distribution WARD Routing Content/Locality Aware DNS Server Size Aware Centralized Router Workload Aware Distributed Dispatcher Workload-Aware Request Distribution Strategy Server core are essential files that represent majority of expected requests Server core is replicated at every server Ward-analysis computes the nearly optimal core size determined by workload access patterns – – Number of nodes Node RAM TCP handoff overhead Disk access overhead
WARD Cont. Three components: dispatcher (load balancer), distributor (router), web server Three progressive architectures: CARD LARD Dispatcher Distributor Server Front End Server LAN Single front-end distributor, centralized dispatcher Switch WARD Dispatcher Distributor Server Dispatcher Front End Distributor Server LAN Co-located distributor and server Front End Dispatcher Distributor Server LAN Co-located distributor, server, and dispatcher
WARD Diagram S 1 Queue: S 2 S 3 Queue: Requests Queue: Switch S 4 Queue: S 5 S 6 • Each computer is a distributor and a dispatcher Queue:
WARD Cont. II Similar to FLEX, sends response directly to client Minimizes forwarding overhead from handoffs for the most frequent files Optimizes the overall cluster RAM usage “by mapping a small set of most frequent files to be served by multiple number of nodes, we can improve both locality of accesses and the cluster performance significantly”
WARD Cont. III Advantages: – No decision making, core files are replicated on every server – Minimizes transfer of requests and disk reads, both are “equally bad” – Outperforms Round Robin – Efficient use of RAM – Performance gain with increased number of nodes
WARD Cont. IV Disadvantages: – Core files are created on past day’s data, could decrease performance up to 15% – Distributed dispatcher increases the number of TCP requests transfers – If core files not selected correctly, higher cache miss rate and increased disk accesses
WARD Results
File Distribution Equi. Load Routing Content/Locality Aware DNS Server Size Aware Centralized Router Workload Aware Distributed Dispatcher Determines which server will process a request determined by the size of the requested file Splits the content on each server by file size, forcing the queues sizes to be consistent.
Equi. Load Solves Queue Length Problems This is bad Queue 1 k 1 k 1 k 2 k Queue 1 k 1 k This is better Queue 1 k 1 k 1 k 2 k Queue 100 k 1000 k 2 k 1 k 100 k
Equi. Load Diagram Dispatcher S 1 S 2 (periodically calculates partitions) Requests Forwards Request 1 k-2 k 2 k-3 k S 3 Distributor 3 k-10 k To Client Browser S 4 10 k-20 k S 5 20 k-100 k S 6 >100 k
Equi. Load Advantages – Dynamic repartitioning – Can be implemented at various levels DNS Dispatcher Server – Minimum queue buildup – Performs well under variable workload and high system load
Equi. Load Disadvantages – Cache affinity is neglected – Requires a front end dispatcher – Distributor must communicate with servers – Thresholds of parameter adjustment
Equi. Load Adapt. Load improves upon Equi. Load using “fuzzy boundaries” – Allows for multiple servers to process a request – Behaves better in situations where server partitions are very close in size
Adapt. Load Diagram Distributor S 1 S 2 (periodically calculates partitions) Requests Forwards Request 1 k-3 k 2 k-4 k S 3 Dispatcher 3 k-10 k To Client Browser S 4 8 k-20 k S 5 15 k-100 k S 6 >80 k
Adapt. Load Results
Summary File Distribution Routing Content/Locality DNS Server FLEX Aware Size Aware Centralized Equi. Load, Adapt. Load Router Workload Aware Distributed WARD Dispatcher
Conclusions There is no “best” way to distribute content among servers. There is no optimal policy for all website applications. Certain strategies are geared towards a particular website application.
Future Work Compare and contrast the three policies Figure out how often nodes should be repartitioned Compare each policy to a standard benchmark Figure out which policy works in a particular environment
Questions? Anyone have one?
- Slides: 30