|Figure 1: Conceptual view of ﬂow scheduling over a datacenter fabric|
|Figure 2: Overall average ﬂow completion time. The results are normalized with respect to the best possible completion time for each ﬂow size.|
While the scheme described in the paper proposes changes to the end host behavior, there are practical difficulties in modifying the behavior of all the end hosts. In addition, the paper identifies a complication "whenever a packet traverses multiple hops only to be dropped at a downstream link."
|Figure 3: Elements of a combined SDN load balancing and priority marking controller|
The Load Balancer also listens for large flow events and uses sFlow-RT to monitor the utilization of all the links in the fabric. The Load Balancer determines if the flow needs to be re-routed and sends instructions to the OpenFlow Controller, which uses OpenFlow to instruct the switches to change the forwarding path for the flow, see ECMP load balancing.
Using SDN to manage large flows scales well because a relatively small number of large flows are responsible for the bulk of the data transferred over the network, see SDN and large flows. Combining prioritization and load balancing of large flows offers the promise of much greater improvement than either technique is able to offer on its own. For example, Google's use of SDN to improve the efficiency of their wide area network combines control of forwarding with prioritization of traffic, see SDN and WAN optimization.