In this thesis, we begin by analyzing the increasing trend of running large-scale services on Warehouse Scale Computers to provide user functionality. We see that user demands for interactivity place stringent requirements on these services, compelling them to consistently meet tight deadlines. To provide users a rich experience while meeting these deadlines, services typically parallelize requests, dividing tasks among many servers to speed-up computation. Consequently, services depend on the network to provide consistent, low-latency communication so that servers can coordinate and deliver their results in a timely manner.
We explain why current networks are poorly suited for delivering consistent, low-latency performance. These networks typically run the TCP/IP stack, which explicitly trades consistent performance for generality and interoperability. This decision was appropriate for the Internet, which was designed to interconnect heterogeneous networks. However, given the new stringent requirements that these networks must support, we hypothesize that they can no longer accept this design decision. Instead, they must employ a series of tightly-integrated layers to deliver the consistent latencies services depend on.
To understand the benefits of foregoing generality, we design and implement two approaches DeTail and FastLane. DeTail is a network stack that employs a series of tightly integrated layers. Each layer in the DeTail stack depends on, and overcomes the limitations of, others, reducing the latency spikes that often plague networks. FastLane employs an alternate approach, where network components directly communicate with transports, helping them respond more agilely to events that drive up latencies.
To evaluate these approaches, we employ both simulation and implementation platforms. Based on these platforms, we see that both DeTail and FastLane are able to dramatically reduce latencies by foregoing generality and having the layers of the network stack directly depend on the functionality of others. We argue that this approach is a fruitful one and will become increasingly important as network requirements become increasingly stringent.