Flowtune: Flowlet Control for Datacenter Networks

Jonathan Perry, Hari Balakrishnan, Devavrat Shah
14th USENIX Symposium on Networked Systems Design and Implementation (NSDI), Boston, MA, March 2017

Rapid convergence to a desired allocation of network resources to endpoint traffic is a difficult problem. The reason is that congestion control decisions are distributed across the endpoints, which vary their offered load in response to changes in application demand and network feedback on a packet-by-packet basis. We propose a different approach for datacenter networks, flowlet control, in which congestion control decisions are made at the granularity of a flowlet, not a packet. With flowlet control, allocations have to change only when flowlets arrive or leave. We have implemented this idea in a system called Flowtune using a centralized allocator that receives flowlet start and end notifications from endpoints. The allocator computes optimal rates using a new, fast method for network utility maximization, and updates endpoint congestion-control parameters. Experiments show that Flowtune outperforms DCTCP, pFabric, sfqCoDel, and XCP on tail packet delays in various settings, converging to optimal rates within a few packets rather than over several RTTs. Benchmarks on an EC2 deployment show a fairer rate allocation than Linux’s Cubic. A data aggregation benchmark shows 1.61x lower p95 coflow completion time.

[PDF (494KB)] [Presentation (2399KB)]

Bibtex Entry:

@inproceedings{perry2017flowtune,
   author =       "Jonathan Perry and Hari Balakrishnan and Devavrat Shah",
   title =        "{Flowtune: Flowlet Control for Datacenter Networks}",
   booktitle =    {14th USENIX Symposium on Networked Systems Design and Implementation (NSDI)},
   year =         {2017},
   month =        {March},
   address =      {Boston, MA}
}