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