Congestion-Aware Load Balancing with Flowlet Switching Based on Data and Control Plane Cooperation
Abstract
: Multipath load balancing can effectively improve network throughput and reliability by aggregating the available bandwidth of multiple paths. However, existing load balancing schemes including Equal-Cost Multi-Path forwarding (ECMP), Weighted-Cost Multi-Path forwarding (WCMP) or LetFlow may lead to significant performance degradation due to hash conflicts and only target fixed symmetric topologies (e.g., Fattree). Flowlet switching has been proven to be a fine-grained load balancing technique, but remains elusive for widespread deployment. The emergence of network programmability including the control plane and data plane provides a new insight for the management of multipath load balancing. To achieve more effective load balancing and guarantee Quality of Service (QoS) on any network topology, we present ConFlet, a congestion-aware load balancing with Flowlet switching based on the cooperation of the data and control plane, where the control plane monitors the global network status to perform the optimized routing decision, and the data plane implements the flow splitting and path switching. Specifically, the centralized controller evaluates the reliability of nodes and links to perform multi-path routing calculations, ensuring that flows always travel along the most reliable multiple paths. The data plane can dynamically set the flowlet timeout to split flows into flowlets according to the path quality difference, and then implement path switching and congestion avoidance based on real-time congestion feedback. Experimental results show that compared to WCMP/LetFlow, ConFlet can significantly improve average service reliability and network throughput, and reduce average packet delay. Meanwhile, ConFlet can react quickly to congestion and maintain high resilience to network asymmetry