Improving TCP Performance Using P4-Programmable Data Planes

Jose Antonio Gomez Gaona, University of South Carolina

Abstract

The Transmission Control Protocol (TCP) forms the foundation of reliable end-to-end communication and is widely used by many applications for efficient data transfers across the Internet. TCP relies on various congestion control algorithms (CCAs) to manage its response to network congestion. These algorithms ensure fairness among competing flows and optimize the use of available bandwidth. However, since TCP is deployed within end hosts, its capacity to attain visibility of network events is constrained. This limitation arises from the closed nature of non-programmable network devices, which prevents researchers from exploring customized actions in response to network events. Recently, the emergence of P4-programmable Data Planes (PDPs) has given researchers better visibility into network events and the ability to rapidly implement and test customized solutions. PDPs enable the computation of network events at a line rate, which improves Quality of Service (QoS), optimizes the available bandwidth, and complements the actions of non-programmable devices. This dissertation aims to enhance TCP performance by leveraging PDPs to address issues that cannot be resolved in legacy non-programmable networks. The contributions are: i) Evaluating TCP performance in diverse scenarios to determine factors impacting fairness, loss rate, Flow Completion Time (FCT), and other metrics. This dissertation is the first to present an evaluation of traditional and contemporary TCP CCAs using high-speed links with various buffer sizes, packet losses, and multiple flows. ii) Identifying TCP performance issues that cannot be addressed with non-programmable devices. PDPs enable measuring the Round-trip Time (RTT) of individual TCP flows and take actions to improve the fairness and reduce the FCT. iii) Implementing P4-based solutions to address TCP performance issues that cannot be resolved with non-programable network devices. The proposed system utilizes PDPs as a measurement tool to analyze a copy of the traffic from the link connecting two non-programmable routers. The PDP calculates the RTT and throughput of TCP flows and generates the control rules to be applied in a non-programmable router. These rules allocate TCP flows into distinct queues based on limits determined by a classification algorithm. The proposed system minimizes the impact of RTT unfairness and queue imbalance. iv) Deploying hardware-based P4 switches in the Academic Cloud at the University of South Carolina (USC). This platform has been developed to support and run the TCP experiments presented in this dissertation. The platform provides an interface that enables users to reserve computing and network resources for conducting experiments. The platform has proven to facilitate remote access and foster collaboration with other researchers.