Abstract: Nowadays, load balancing is more and more important for huge data centers. Most data centers usually adopt a software-based load balancer (LB), which consumes too many server resources and does not scale with the increasing traffic volume. However, there is an increased demand for layer-4 load balancers, which need to check more bits in packet headers. Although hardware-based load balancers can meet the requirements, they are much more expensive. During the past years, data centers frequently update their devices, including kinds of switches. Thus, there exists a huge number of obsolete switches, some of which are in good condition and equipped with high-performance storage like SRAM (Static Random Access Memory). In this paper, we proposed BCLB (Bit-based Collaborative Load Balancer), a new cooperative LB, which builds more powerful load balancing based on existing switches. Different with previous cooperative mechanisms that distribute rules to different LBs, BCLB lets switches cooperate based on bits. Many switches along the data path check different bits, and cooperatively check all bits in 5-tuple (which would be 296 bits in IPv6) for layer-4 packet header. In this way, rule updating will not influence the load balancing in BCLB. To optimize the performance of BCLB, we formulate the problem as an optimization problem, then we propose a dynamic programming algorithm to solve it. Finally, we conduct comprehensive simulations using both real-world traffic datasets and a P4-based prototype, the results show that BCLB performs much better than previous rule-based cooperative schemes.
Loading