A Novel Adaptive Distributed Load Balancing Strategy for Cluster CHENG Bin and JIN Hai Cluster and Grid Computing Lab Huazhong University of Science & Technology(HUST) Wuhan, International Conference for Young Computer Scientists ICYCS’05, Beijing
OutLine Background Overview of Our Cluster Architecture Principle of Our Adaptive Load Balancing Str ategy Performance Evaluation Conclusions
Background Motivations Cluster has been a popular method to build high performance network server Load Balancing is the key problem to provide good scalability and high performance There are the following problems for existing scheduling strategies for cluster.
Background Overview of Scheduling Systems for Cluster LVS (Zhang Wensong) NetDispatcher (IBM) DPR (Distributed Packet Rewrite) MagicRouter (UC Berkeley) ONE-IP (Cisco) centralized distributed Odd-Even scheduling
Background The problems for these existing strategies Be Based on Active TCP Connection Number Pay little attention to the diversity of requests and real servers Static Need a front-end dispatcher Not fit to heterogeneous cluster with different hardwar e configurations Our Scheduling Strategy Dynamic Adaptive Heterogeneous Cluster Distributed, Without front-end dispatcher server partici pation
Our Cluster Architecture
Load Balancing Strategy The Principle of Our Scheduling Method Hehe! I Get this connection SYN SYN+ACK ACK Request RTSP, HTTP and so on
Load Balancing Strategy One Case ISN = b matched
Analysis The key problems The real server with least load should response the client at first The packet from least load should arrive at first. How to address the problems? To calculate the load of local server To make the delay for SYN packet comparable with the delay on network To be so sensitive that the server with the least load can run for the current request easily
Load The method to calculate the load of real servers
Delay Use RTT/2 as the baseline of the delay time of SYN Packet TD hop --- a constant value 100ms. TTL S ---the initial TTL value set by the sender. TTL R ---- the TTL value of the SYN packet received by the real server
Performance Evaluation Experimental Environment Configuration Node CPU (HZ) RAM M NIC Mbps DISKOSNum A Class ServerP4 1.4G256100MAXTORLinux B Class Server PIII 550M MAXTORLinux C Class Server Celero 333M 64100MAXTORLinux D Class ServerP4 1.7G256100MAXTORLinux Client PIII 550M MAXTORLinux SWITCH3COM 3C17304 SWITCHER (24 10/100M port) HUB3COM 100Mbps HUB
Experimental Result Load Balancing the CPU utilization changing procedure in 30 seconds 1) fluctuates between 75% and 95% 2) their mean value keeps close to 85%
Experimental Result Load Balancing Arrive Rate (Conn/s) Reply Rate (Conn/s) Type Mean CPU Utilization (%) in 60 seconds ABCD LVS ONE-IP ADLB Comparison on mean CPU utilization among ADLB, LVS, ONE-IP Get better load balance for heterogeneous cluster
Experimental Result Scalability Throughput of Cluster Web Server provide a nearly linear increase in overall reply rates
Experimental Result Scalability aggregated NET I/O bandwidth of Cluster Web Server with different connection arrival rate and different node number
Experimental Result Response Time Configuration Response Time(ms) MinMaxMean Single A class server (no ADLB module) Single A class server ( ADLB module) A class servers A class servers A class servers increase 30~100 ms
Conclusions Propose a New load balancing Strategy for Cluster Better for Heterogeneous Cluster Adaptive Easy Configuration Dynamic From the experimental results, our strategy achieves good scalability and performance. Especially, it is better for heterogeneous cluster than other algorithms
Thank you for your patience !