To create a new algorithm using Remy, Balakrishnan and Winstein put in a set of requirements and then let Remy create candidates and try them against software that simulates a wide range of network conditions. The system uses elements of machine learning to determine which potential algorithm best does the job. As it tests the algorithms, Remy focuses on situations where a small change in network conditions can lead to a big change in performance, rather than on situations where the network is more predictable.
After about four to 12 hours, Remy delivers the best algorithm it's found. The results have been impressive, according to the researchers. In a test that simulated a fast wired network with consistent transmission rates across physical links, Remy's algorithms produced about twice the throughput of the most commonly used versions of TCP and cut delay by two-thirds, they said. On a simulation of Verizon's mobile data network, Remy's algorithms gave 20 percent to 30 percent better throughput and 25 percent to 40 percent lower delay.
But don't expect blazing page loads just yet. Balakrishnan and Winstein cautioned that Remy is still an academic research project.
For one thing, it hasn't yet been tested on the actual Internet. Though Remy's algorithms would probably work fairly well out there, it's hard to be sure because they were developed in simulations that didn't include all of the Internet's unknown variables, according to Balakrishnan. For example, it may be hard to tell how many people are active on a particular part of the Internet, he said.
If machine-developed TCP algorithms do end up going live, it will probably happen first on private networks. For example, companies such as Google already fine-tune TCP for the requirements of their own data centers, Balakrishnan said. Those kinds of companies might turn to a system like Remy to develop better ones.
But even if Remy never makes it into the real world, it may have a lot to teach the engineers who write TCP algorithms, Balakrishnan said. For example, Remy uses a different way of thinking about whether there is congestion than TCP does today, he said.
Though the researchers understand certain tools that Remy uses, they still want to figure out how that combination of tools can create such good algorithms.
"Empirically, they work very well," Winstein said. "We get higher throughput, lower delay, and more fairness than in all the human designs to date. But we cannot explain why they work."
"At this point, our real aspiration is that other researchers and engineers pick it up and start using it as a tool," Balakrishnan said. "Even if the ultimate impact of our work is ... more about changing the way people think about the problem, for us that is a huge win."