Toward Predictable Networks
The Internet was designed to provide connectivity with best-effort performance. Four decades later, evolving application demands and technological trends have changed network requirements in fundamental ways. Today, they must deliver stronger guarantees and not just best-effort performance. And they must do so while enabling rich functionality that goes beyond basic connectivity. But most networks still rely on the design principles of the early Internet, which leads to a mismatch between what applications need and what networks provide. To bridge this gap, we need to revisit the fundamental principles and design networks that deliver predictable performance. This dissertation explores the design and implementation of predictable networks while navigating practical challenges such as uncertain operating conditions, interoperation with existing protocols, and hardware trends. It is relatively easy to provide absolute performance guarantees by over-provisioning or reserving resources, but this leads to inefficient resource utilization. The thesis in this work is that we can effectively navigate the trade-off between utilization and performance to build predictable networks that provide meaningful guarantees to applications and users. To achieve this, we propose a two-pronged approach: design individual networking components that offer well-defined performance guarantees and combine them using mechanisms for building larger, more-predictable systems out of smaller, less-predictable components. In the context of datacenter networks, this dissertation presents three systems: PicNIC, CoNIC and μP4. PicNIC, an end-to-end system that delivers predictable performance for users of shared public clouds, shows how we can provide performance guarantees atop less-predictable components. It introduces a new networking abstraction for virtual machines that provides quantifiable guarantees. CoNIC and μP4 focus on techniques for building predictable networking components. To meet the competing objectives of performance and flexibility for end-host networking stacks, CoNIC explores hardware-software co-design based on heterogeneous packet-processing architectures. To program emerging domain-specific network processors in a modular and composable manner, μP4 proposes a new language and compiler framework. In the context of wide-area networks, this dissertation presents two systems: YATES and Smore. These systems focus on traffic engineering to navigate the trade-off between efficiency and robustness in wide-area networks. Using traditional approaches to traffic engineering, operators have been able to achieve very low levels of efficiency while favoring robustness. Smore is a new traffic engineering system based on oblivious routing that achieves high efficiency and robustness simultaneously while meeting practical constraints. Again, Smore shows how we can achieve predictability in a system with inherently unreliable components and operating conditions. YATES enables quick prototyping and evaluation of traffic-engineering systems under diverse operational scenarios.
Tang, A. Kevin; Kleinberg, Robert David
Ph. D., Computer Science
Doctor of Philosophy
dissertation or thesis