Christopher Canel

Dual-Endpoint Congestion Control

Abstract

 Current techniques for rate control in computer networks are not aligned with the policies and considerations of both endpoints in a connection. Historically, fine-grained rate control has been the sender's responsibility through the Transmission Control Protocol (TCP) and its congestion control algorithm (CCA). However, the receiver, either due to conflicting priorities or greater visibility into congestion, would often be better served by a different rate allocation than the sender. A simple example is a many-flow incast in a data-center network: each sender independently seeks to transmit as quickly as possible, while the receiver can observe that each flow should converge to a small fraction of the last-hop link rate. Likewise, on the Internet, each service provider balances between its customers, whereas a user may desire fairness across services.

To bridge the gap between endpoint objectives, we argue for a dual-endpoint approach to congestion control that incorporates the receiver into the rate decision by providing lightweight hints to senders about the rate regime in which they should operate. We use these techniques to build expressive receiver-assisted policies based on application traffic patterns, observed network congestion, and receiver resource constraints. Dual-endpoint congestion control differs from fully receiver-based techniques because the sender, with its own inherent observations and objectives, maintains control over the packet stream. To implement receiver assistance, we revisit the well-known technique of TCP flow control and show it to be a powerful primitive that does not require modifications to TCP, the sender's CCA, or applications.

This dissertation explores two environments with differing endpoint objectives to show that dual-endpoint congestion control gives both endpoints a stake in bandwidth allocation decisions. First, we consider datacenter incast bursts, where the receiver's observability into the traffic pattern enables dual-endpoint control to schedule hundreds or thousands flows into a healthy regime that both improves network utilization and reduces receiver packet processing overheads. Second, we turn to the Internet at large and show the expressivity of dual-endpoint control by resolving common challenges that arise due to conflicting receiver policies regarding rate control granularity, algorithm, and optimization metric.

Thesis Committee

Keywords

Thesis Document