Rate Control Protocol
Overview | Publications | Talks | Implementation | Open Problems | People | Funding | RCP FAQ
14 November, 2008: We have released an implementation of RCP on NetFPGA. Downloads are available here.
Overview
Rate Control Protocol (RCP) is a congestion control algorithm designed for fast download times (i.e. aka user response times, or flow-completion times). Whereas other modifications to TCP (e.g. STCP, Fast TCP, XCP) are designed to work for specialized applications that use long-lived flows (scientific applications and supercomputer centers), RCP is designed for the typical flows of typical users in the Internet today. For example, a mid-size flow in the Internet today contains 1000 packets and TCP typically makes them last 10x longer than need-be (XCP is even worse). RCP makes flows finish close to the minimum possible, leading to a perceptible improvement for web users, distributed computing, and distributed file-systems. We believe RCP is the only congestion control algorithm to do this.
The main properties of RCP are:
Typical Internet flows will see 10 times faster download times than TCP and 30 times faster than XCP. Winners are the greater than 90% of sessions that never leave slow-start today.
Efficiently uses high bandwidth-delay product networks such as the long haul optical links
Provably stable network independent of link-capacities, round-trip times and number of flows
Flows are easy to police, to ensure they adhere to congestion control (not generally possible with other schemes)
Network operators can give preference (or weighted preference) to some flows/aggregates.
RCP has two components: (1) End-host congestion control layer that sits between IP and TCP/UDP. During introduction, the end-host could adapt by testing for RCP at each end and along the path, falling back to TCP if need-be. (2) Each router maintains a single fair-share rate per link. Each packet carries the rate of the bottleneck link. For each packet, the router compares the two values. If the router’s fair-share rate is smaller, it overwrites the value in the packet. This way, the source learns the fair-share rate of bottleneck link. It is simple, requires a very minor change to switches/routers and requires no per-flow state.
Papers and Technical Reports
“Why Flow-Completion Time is the Right Metric for Congestion Control” [.pdf]
Nandita Dukkipati and Nick McKeown
ACM SIGCOMM Computer Communication Review Volume 36, Issue 1 (January 2006)
Extended version is available as High Performance Networking Group Technical Report TR05-HPNG-112102 [.pdf]
“Processor Sharing Flows in the Internet” [.pdf]
Nandita Dukkipati, Masayoshi Kobayashi, Rui Zhang-Shen and Nick McKeown
Thirteenth International Workshop on Quality of Service (IWQoS), Passau, Germany, June 2005.
“Processor Sharing Flows in the Internet” [.pdf].
Nandita Dukkipati and Nick McKeown
High Performance Networking Group Technical Report TR04-HPNG-061604, June 2004
“Making large scale deployment of RCP practical for real networks” [.pdf]
Chia-Hui Tai, Jiang Zhu and Nandita Dukkipati
IEEE Infocom 2008 Mini-conference, April 2008
“Stability Analysis of Explicit Congestion Control Protocols” [.pdf]
Hamsa Balakrishnan, Nandita Dukkipati, Nick McKeown and Claire Tomlin
IEEE Communications Letters, Volume 11, Issue 10, October 2007
Extended version is available as Stanford University Department of Aeronautics and Astronautics Report: SUDAAR 776 [.pdf]
“Building a RCP (Rate Control Protocol) Test Network” [.pdf]
Nandita Dukkipati, Glen Gibb, Nick McKeown and Jiang Zhu
Hot Interconnects, Stanford, August 2007
“Buffer Sizing results for RCP Congestion Control under Connection Arrivals and Departures” [.pdf]
Ashvin Lakshmikantha, R. Srikant, Nandita Dukkipati, Nick McKeown and Carolyn Beck
Under Submission
“RCP-AC: Congestion Control to make flows complete quickly in any environment” (Extended Abstract)[.pdf]
Nandita Dukkipati, Nick McKeown and Alexander G. Fraser
High-Speed Networking Workshop: The Terabits Challenge (In Conjunction with IEEE Infocom 2006), Barcelona, Spain, April 2006.
This paper is on a design principle of Networking systems/algorithms. RCP is one of the examples illustrating the application of this principle.
“Typical versus Worst Case Design in Networking” [.pdf]
Nandita Dukkipati, Yashar Ganjali and Rui Zhang-Shen
Fourth Workshop on Hot Topics in Networks (HotNets-IV), College Park, Maryland, November 2005.
“Rate Control Protocol (RCP): Congestion control to make flows complete quickly” [.pdf]
Nandita Dukkipati
Ph.D. Thesis, Department of Electrical Engineering, Stanford University
Selected Talks
“RCP: Congestion Control to Make Flows Complete Quickly” [.pdf]
Ph.D. Oral Seminar, Department of Electrical Engineering, Stanford University, 5 October 2006
“Building an RCP Test Network” [.pdf]
HPNG Group Meeting, 4 June 2007
“A Clean Slate Design of Internet’s Congestion Control Algorithm” [.pdf]
Caltech Lunch Bunch Seminar, 8 November 2005
“A Clean Slate Design of Internet’s Congestion Control Algorithm” [.pdf]
Hamilton Institute Workshop on Congestion Control, 27-28 September 2005
“Congestion Control for 100x100: Why TCP is a poor choice and how to redesign it from scratch” [.pdf]
100x100 project retreat , Carnegie Mellon University, Pittsburgh, December 2004
Implementation and Downloads
RCP router on NetFPGA and RCP end-host in Linux are available here.
ns-2 Implementation
ns-2.30: rcp-ns2.30.tar.gz (also includes sample .tcl files for RCP, TCP and XCP used in RCP papers).
ns-2.28: rcp-ns2.28.tar.gz
Examples of other work on RCP (building on, extending or analyzing RCP)
“Stability and Fairness of Explicit Congestion Control with Small Buffers”
Frank Kelly, Gaurav Raina, and Thomas Voice
ACM SIGCOMM Computer Communication Review, July 2008
“Towards Experimental Evaluation of Explicit Congestion Control”
S. Jain, Y. Zhang, and D. Loguinov
16th International Workshop on Quality of Service (IEEE IWQoS 2008), June 2008
“PIQI-RCP: Design and Analysis of Rate-Based Explicit Congestion Control”
S. Jain, and D. Loguinov
15th International Workshop on Quality of Service (IEEE IWQoS 2007), June 2007
“Stability analysis of a max-min fair Rate Control Protocol (RCP) in a small buffer regime”
Thomas Voice and Gaurav Raina
Submitted to IEEE Transactions on Automatic Control, Oct 2007
“Flash Crowd Effect in RCP”
Filipe Abrantes, Joao Taveira Araujo, and Manuel Ricardo
Sixth International Workshop on Protocols for FAST Long-Distance Networks, March 2008
Some open problems related to RCP
In theory, RCP is practical for today’s networks, but how practical is it in practice? While we have addressed many of RCP’s practical issues, a few still remain. One such problem is, for example — how do we carry RCP information from the network to end-hosts in the presence of many layers of tunneling?
Creating interesting experiments with RCP on a network of NetFPGA routers. The RCP implementation on Stanford’s NetFPGA platform can be downloaded above.
While RCP has been primarily studied for wired networks, it can potentially be just as useful for wireless networks such as local wifi networks, and vehicular networks. What would an RCP equation optimized for these networks, look like?
People
Nandita Dukkipati
Nick McKeown
RCP has benefited immensely from collaborations with:
Masayoshi Kobayashi, Visiting Scholar from NEC Labs, Japan
Rui Zhang-Shen, Princeton
Hamsa Balakrishnan, MIT
Ashvin Lakshmikantha, UIUC (now at Broadcom)
Jiang Zhu, Stanford (and Cisco Systems)
Claire Tomlin, Stanford and UC Berkeley
R. Srikant, UIUC
Sara Bolouki, Stanford (now at Yahoo!)
Chia-Hui Tai, Stanford
Related Work
eXplicit Control Protocol (XCP)
XCP @ ISI
MaxNet Congestion Control
JetMax Congestion Control
Funding
This research is funded in part by NSF under ITR award ANI-0331653. RCP is part of the Stanford University Clean Slate Program and the 100x100 Clean Slate Design Project.
Questions?
Please first check the Frequently Asked Questions. If you don’t find what you are looking for, then Nandita Dukkipati will be quite happy to answer them for you.
转载地址:http://yuba.stanford.edu/rcp/