Packet loss in data centers, caused by both congestion and failures, greatly hurts the performance of the transport layer, leading to a long tail of flow completion time. FUSO is a fast multi-path transport loss recovery scheme for data centers, to help maintaining a consistent low flow completion time when facing packet losses. FUSO leverages the multi-path diversity in data centers to accelerate the loss recovery, attempting to be both “fast” and “cautious”. Specifically, when a multi-path transport sender suspects loss on one sub-flow, recovery packets are immediately sent over another sub-flow that is not or less lossy and has spare congestion window slots. FUSO is fast in that it does not need to wait for timeout on the lossy sub-flow, and it is cautious in that it does not violate congestion control algorithm.
Currently, FUSO is a kernel transport implementation which is built upon MPTCP’s Linux implementation (v0.90). Our implementation is publicly available.
Publication:
- G. Chen, et al., Fast and Cautious: Leveraging Multi-path Diversity for Transport Loss Recovery in Data Centers. USENIX ATC 2016.
Download:
- Our implementation is publically available at https://github.com/1989chenguo/FUSO. (opens in new tab)