Source controlled routing, where the edges of the network have some control over the paths taken by their packets, is a promising technique to improve network reliability and path quality. However, past studies of source-controlled routing algorithms have been based on overlay networks rather than via direct control of switches or routers---despite the performance-sensitive nature of these systems.
This EAGER project is studying adaptive multipath, source-routing algorithms to improve performance for real-time applications. The experiments use GENI Alpha, which provides a unique combination of coexistence with real traffic and deep programmability, which are essential to obtain accurate results in these experiments. Thus, the results of this project will develop novel, practical and experimentally-grounded techniques to improve reliability and path quality, and it will quantitatively demonstrate the value of experimenting on GENI infrastructure by comparing with overlay-based experiments. Results will be disseminated through publications, presentations, and demos of the software.
Many of the limitations of today’s Internet lie in interdomain routing—the system which controls the paths that data packets take as they travel across the Internet. These problems include unreliability, inefficiency, and a general lack of flexibility. One way to address these problems is through a technique called source-controlled routing, which yields more flexible routing. Past proposals designed feasible, policy-compliant architectures for Internet-wide source-controlled routing but had not experimentally demonstrated how this newfound flexibility could be put to work, in the face of network dynamics and with direct control of switches and routers. This project funded experiments on the NSF GENI infrastructure which demonstrated the effectiveness of source-controlled routing. We implemented a prototype of pathlet routing, a future Internet routing and forwarding architecture which enables flexible policy-compliant source-controlled routing. On top of this substrate, we experimented with adaptive multipath source-controlled routing algorithms to improve performance for real-time applications and weather "storms" or attacks on the network. The GENI infrastructure made these experiments possible via a broad slate of experimental servers and OpenFlow-capable routers. The project produced a live demo of the developed techniques at the 9th GENI Engineering Conference (GEC9). A major contribution of the project was to further develop the most promising technique studied in the early phase of the project: using redundant transmission of data (across multiple paths, or to multiple servers) to reduce latency. Our initial work looked at using redundant multipath routing: by sending packets over two paths, the receiver can use whichever ones arrive first. Any problem on just one path, such as congestion, is masked. This technique leads to overhead (duplicated work), but intuitively, although this uses extra capacity to send duplicate packets, capacity is relatively cheap in many cases while improving latency is extremely valuable. Our theoretical and experimental results (funded in part by this project) bore this out, demonstrating that the benefits outweigh the costs in many cases. We applied this technique to a number of systems. In storage systems on Amazon EC2, our techniques yield 2x lower mean request latency and 8x lower 99.9th perecentile latency. Applied to the Domain Name System (DNS), a major contributor to web page load time, we obtained roughly 2x lower mean latency. The project enabled PhD and undergraduate students to obtain significant practical experience in systems and networking research. It produced publications at top venues, including ACM HotNets 2012 and ACM CoNEXT 2013. Techniques developed in this project have been implemented by a network acceleration startup company, and we are now preparing a software release of our own.