The technologies that make up the Internet are changing every year,
but some transport protocols continue to act as though the Internet
behaved as it did 20 years ago. This can cause poor performance on newer
networks -- cellular networks, datacenters -- and makes it more
challenging to roll out networking technologies that break markedly with
the past. How do we make applications and protocols keep up with an
evolving network? I will describe the Sprout algorithm, a transport
protocol designed for videoconferencing over cellular networks, that
uses probabilistic inference to forecast network congestion in advance.
On commercial cellular networks, Sprout gives 2-to-4 times the
throughput and 7-to-9 times less delay than Skype, Apple Facetime, and
Google+ Hangouts.
This work led to Remy, a computer program that generates transport
protocols automatically, as a function of a protocol designer's
assumptions about the network and statement of an objective function.
Remy's computer-generated algorithms can achieve higher performance and
greater fairness than some sophisticated human-designed schemes. I will
discuss our work on using Remy to probe open questions of Internet
congestion control -- what's the cost of maintaining backwards
compatibility with existing algorithms, including the Transmission
Control Protocol as it exists today? Is there a tradeoff between a protocol's performance today and its ability to adapt to networks of the future?
This talk includes joint work with Anirudh Sivaraman, Pratiksha Thaker, and Hari Balakrishnan.