In current Data Center Networks (DCNs), Equal- Cost MultiPath (ECMP) is used as the de-facto routing protocol. However, ECMP does not differentiate between short and long flows, the two main categories of flows depending on their duration (lifetime). This issue causes hot-spots in the network, affecting negatively the Flow Completion Time (FCT) and the throughput, the two key performance metrics in data center networks. Previous work on load balancing proposed solutions such as splitting long flows into short flows, using per-packet forwarding approaches, and isolating the paths of short and long flows. We propose DiffFlow, a new load balancing solution which detects long flows and forwards packets using Random Packet Spraying (RPS) with help of SDN, whereas the flows with small duration are forwarded with ECMP by default. The use of ECMP for short flows is reasonable, as it does not create the out-of-order problem; at the same time, RPS for long flows can efficiently help to load balancing the entire network, given that long flows represent most of the traffic in DCNs. The results show that our DiffFlow solution outperforms both the individual usage of either RPS or ECMP, while the overall throughput achieved is maintained at the level comparable to RPS.
Our solution was motivated by TinyFlow @cite_2 and RPS @cite_10 @cite_1 . The former (TinyFlow) splits long flows into short flows, and forwards them randomly by making use of ECMP. In order to detect long flows, OpenFlow switches perform sampling periodically. When two samples of the same flow are detected, the dynamic random re-routing algorithm changes the egress port of the switch. The latter method, i.e., RPS, uses random packet spraying technique to forward packets through multiple shortest paths. Unlike ECMP, RPS forwards each packet individually ("spraying") to the egress ports at the DCN switches. (Although this feature is not enabled by default, commodity switches can perform it.) The main drawback of this method is the out-of-order problem for TCP. As the authors prove, however, under the symmetry assumption in fat tree topologies and traffic patterns, this problem can be minimized, and even neglected. Also, custom queue management scheme can be applied to minimize the differences on path latencies.
@cite_1 @cite_10 @cite_2
2132320636 1990837243
Modern data center networks are commonly organized in multi-rooted tree topologies. They typically rely on equal-cost multipath to split flows across multiple paths, which can lead to significant load imbalance. Splitting individual flows can provide better load balance, but is not preferred because of potential packet reordering that conventional wisdom suggests may negatively interact with TCP congestion control. In this paper, we revisit this “myth” in the context of data center networks which have regular topologies such as multi-rooted trees. We argue that due to symmetry, the multiple equal-cost paths between two hosts are composed of links that exhibit similar queuing properties. As a result, TCP is able to tolerate the induced packet reordering and maintain a single estimate of RTT. We validate the efficacy of random packet spraying (RPS) using a data center testbed comprising real hardware switches. We also reveal the adverse impact on the performance of RPS when the symmetry is disturbed (e.g., during link failures) and suggest solutions to mitigate this effect. In this paper, we evaluate the performance of per-packet load balancing in data center networks (DCNs). Throughput and flow completion time are considered among the main metrics to evaluate the performance of the transport of flows over the presence of long flows in a DCN. Load balancing in a DCN may benefit those performance metrics but also it may generate out-of-order packet delivery. We investigate the impact of out-of-order packet delivery on the throughput and flow completion time of long and short flows, respectively, in a DCN. Our simulations confirm the presence of out-of-order packet delivery in a DCN using per-packet load balancing. Simulation results also reveal that per-packet load balancing may yield smaller average flow completion time for short flows and larger average throughput for long flows than the single-path transport model used by TCP despite the presence of out-of-order packet delivery. As the delay difference between alternative paths decreases, the occurrence of out-of-order packet delivery in per-packet load balancing also decreases. Therefore, under the studied scenarios, the benefits of the per-packet load balancing prevail.