Sphinx: A transport protocol for high-speed and lossy mobile networks - Li, Junfeng; Li, Dan; Wu, Wenfei; Ramakrishnan, K.K.; Geng, Jinkun; Wang, Fanzhao; Zheng, Kai (Computer networks (Amsterdam, Netherlands : 1999), 2021)
Modern mobile wireless networks have been demonstrated to be high-speed but lossy, while mobile applications have more strict requirements including reliability, low latency, goodput guarantee, bandwidth efficiency, and computation efficiency. Such a complicated combination of requirements and conditions in networks pushes the pressure to transport layer protocol design. We analyze and argue that few of existing network transport layer solutions are able to handle all these requirements. We design and implement Sphinx to satisfy the five requirements in high-speed and lossy networks. Sphinx has (1) a proactive coding-based method named semi-random LT codes for loss recovery, which estimates packet loss rate and adjusts the redundancy level accordingly, (2) a reactive retransmission method named Instantaneous Compensation Mechanism (ICM), which retransmits precisely and timely once decoding failure occurs, and (3) a parallel coding architecture, which speeds up coding process by leveraging multi-core, shared memory and kernel-bypass Data Plane Development Kit (DPDK). Prototype and evaluation show that Sphinx outperforms TCP schemes and other coding solutions significantly in microbenchmarks across all five requirements, and improves the performance of the video streaming application.