The Case for Moving Congestion Control Out of the Datapath
Author(s)
Narayan, Akshay; Cangialosi, Frank; Goyal, Prateesh; Narayana, Srinivas; Alizadeh, Mohammad; Balakrishnan, Hari; ... Show more Show less
DownloadAccepted version (380.2Kb)
Open Access Policy
Open Access Policy
Creative Commons Attribution-Noncommercial-Share Alike
Terms of use
Metadata
Show full item recordAbstract
© 2017 Copyright held by the owner/author(s). With Moore's law ending, the gap between general-purpose processor speeds and network link rates is widening. This trend has led to new packet-processing "datapaths" in endpoints, including kernel bypass software and emerging SmartNIC hardware. In addition, several applications are rolling out their own protocols atop UDP (e.g., QUIC,WebRTC, Mosh, etc.), forming new datapaths different from the traditional kernel TCP stack. All these datapaths require congestion control, but they must implement it separately because it is not possible to reuse the kernel's TCP implementations. This paper proposes moving congestion control from the datapath into a separate agent. This agent, which we call the congestion control plane (CCP), must provide both an expressive congestion control API as well as a specification for datapath designers to implement and deploy CCP.We propose an API for congestion control, datapath primitives, and a user-space agent design that uses a batching method to communicate with the datapath. Our approach promises to preserve the behavior and performance of indatapath implementations while making it significantly easier to implement and deploy new congestion control algorithms.
Date issued
2017-11-30Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence LaboratoryPublisher
ACM
Citation
Narayan, Akshay, Cangialosi, Frank, Goyal, Prateesh, Narayana, Srinivas, Alizadeh, Mohammad et al. 2017. "The Case for Moving Congestion Control Out of the Datapath."
Version: Author's final manuscript