Dynamic Load Balancing on Web-server Systems Valeria Cardellini, Michele Colajanni, and Philip S. Yu Presented by Sui-Yu Wang
Distributed Web-server System Consisting of multiple Web-server hosts, distributed on LANs and WANs Spread incoming requests among these servers Each server can respond to any request Successful load-balancing approaches make the distributed system appear as a single host
Distributed Web-server Architectures Client-based –Web clients –Client-side proxies Web-server based –DNS-based –Dispatcher-based –Server-based
DNS-based approach Architecture transparency DNS has limited control on requests reaching the Web cluster –TTL Scheduling algorithms –Constant TTL –Adaptive TTL
Scheduling algorithms Constant TTL algorithms –System-stateless algorithms Round-Robin DNS –Server-state-based algorithms –Client-state-based algorithms Hidden load weight –Multitier round-robin policy Consider relative server-to-client topology and client-to-server link latency Network proximity information, round trip delays –Server-and client-state-based algorithms
Scheduling algorithms Adaptive TTL algorithms –Select server similar to the hidden load weight algorithms –Assign appropriate TTL –Can scale from LANs to WANs
Dispatcher-based Approach Centralized request scheduling –Packet rewriting Single-rewriting Double-rewriting –Packet forwarding –HTTP redirection
Packet single-rewriting
Packet double-rewriting
Packet forwarding Network Dispatcher –Works with LANs and WANs –Client and server transparent ONE-IP Address –Routing-based dispatching –Broadcast-based dispatching –No dynamic load-balancing based on server load
HTTP redirection Centralized dispatcher Does not require modification of packet IP address Server-state based dispatching Location-based dispatching
Server-based approach Two-level dispatching No centralized dispatching HTTP redirection Packet redirection –Static routing –Load-balancing
Comparison of different approaches
Performance evaluation Exponential model: the number of page requests per session and the time between two page requests from the same client were assumed to be exponentially distributed
Performance evaluation Client load variability is represented by some heavy-tailed function