|
Load balancing in datacenter networks needs to cope with many issues, such as various workloads, dynamic network conditions, and topology asymmetry. However, previous works cannot handle them well and are not practical to be deployed in production datacenters. Hash-based load balancing solutions like ECMP can result in low throughput and long-tailed flow completion time because of hash collisions. Congestion-aware solutions such as CONGA and Expeditus can detect network congestions proactively. Unfortunately, they need dedicated hardware support and cannot be widely deployed in commodity datacenters. Although host-based solutions such as Presto and DRB remedy the shorcomings of congestion-ware ones, they are oblivious to network conditions. To do efficient load balance in commodity datacenter networks, this paper proposes \name, a weighted network load balancer located at each hypervisor that can detect network conditions and require no changes to network hardware switches. \name employs ECN to monitor the network congestions and detect failures via counting connection timeout and packet retransmission rate. It then automatically adjusts path weights accordingly to react to congestions and failures and does weighted load balancing at the granularity of flowcells. \name has been implemented on our testbed and evaluated with testbed experiments and simulations. The results show that \name achieves near-optimal performance in symmetric topology. Under failure or asymmetric scenarios, \name can shorten at least 2.3 times and 1.2 times FCT compared to ECMP and Presto. |
|
Keywords:Computer Network; Datacenter Networks; Weighted Load Balancing; Network Routing |
|