Stanford University Networking Seminar
Traditionally, servers avoid congestion collapse by varying 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 – a batch of packets that are backlogged at a sender – rather than 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. A deployment on EC2 shows significantly reduced tail co-flow completion times.
Jonathan is a PhD student from MIT advised by Hari Balakrishnan and Devavrat Shah, working on resource allocation in datacenter networks. He finished his BSc in Tel-Aviv university in 2003, after which he spent 7 years in the Israeli army where he worked on networking and HPC in one of the technological units. Recently he came to Stanford to work with the McKeown group and finish his thesis.