DOI: 10.25549/usctheses-c40-327663
title: Timely, accurate and scalable network management for data centers

description: Managing data center networks is critical to keeping cloud services always available, fast and efficient. Today, network operators have limited tools that provide a delayed and inaccurate view and control for the network. This causes huge service delay and hours of service disruption before resolving a failure, which can cost millions of dollars. The key problem is that these tools are designed in a bottom-up fashion and are driven by device limitations instead of high-level goals. This keeps human operators always involved in device-level details such as the allocated resources for each management task at each device, which prevents detecting all events of interest and a fast reaction to network events. In this dissertation, we follow a top-down approach, where operators program a centralized controller based on high-level abstractions. Knowing what the operator wants, the controller uses algorithms to program switches and servers. These algorithms can quickly fine tune the switches and servers to keep high accuracy, react to events quickly, and leverage device optimizations and network knowledge to scale. In this dissertation, we developed four systems following the top-down approach that configure network monitoring and control resources at switches and servers. ❧ First, we focused on providing scalable and accurate network measurement. There can be a variety of concurrent, dynamically instantiated, measurement tasks in a data center. These tasks configure flow counters in commodity switches to monitor traffic. However, flow counters use TCAM memory which is fundamentally limited, and the accuracy of the measurement tasks is a function of the resources devoted to them on each switch and traffic properties that change over time. We developed DREAM as an adaptive measurement framework that allows the operators to define measurement tasks with a required level of accuracy. DREAM dynamically adjusts the resources devoted to each measurement task while ensuring the user-specified accuracy. DREAM can support 30% more concurrent tasks with up to 80% more accurate measurements than static allocation. ❧ Next, we focused on the measurement algorithms that use sketches. Sketches support more measurement tasks than flow counters and use hash-tables that run on a cheaper memory at switches (SRAM). However, their counters may have random errors depending on the hash collisions in the hash-tables. We developed SCREAM as a measurement framework to adaptively allocate SRAM memory to measurement tasks considering the probability of such errors while ensuring the user-specified level of accuracy. SCREAM can support 2x more tasks with higher accuracy than the state-of-the-art static allocation. ❧ Third, we explored timely, accurate and scalable monitoring using the CPU resources and programmability of end-hosts (servers). We proposed Trumpet, an event monitoring system that translates a network-wide event to per end-host triggers, monitors every packet and aggregates triggers into an event in millisecond timescales. Using careful design, Trumpet can evaluate triggers by inspecting every packet at full line rate even on future generations of NICs, scale to thousands of triggers per end-host while bounding packet processing delay to a few microseconds, and report events to a controller within 10 milliseconds, even in the presence of attacks. ❧ Finally, we developed vCRIB to achieve scalable and accurate network control for data centers. Cloud operators increasingly need more and more fine-grained rules to better control individual network flows for various traffic management policies. vCRIB provides the abstraction of a centralized rule repository using which operators will not be worried about where to place rules and the resources at the target switch/server. vCRIB automatically places rules on switches and servers with enough resources on/off the shortest path of flows while respecting the semantics of rules. Moreover, vCRIB minimizes the traffic overhead induced by rule placement in the face of traffic changes and VM migration.