Over the past decade, the modern datacenter has reshaped the computing landscape by providing a large scale consolidated platform that efficiently powers online services, financial, military, scientific, and other application domains. The fundamental principle at the core of the datacenter design is to provide a highly available, high performance computing and storage infrastructure while relying solely on low cost, commodity components. Further, in the past few years, entire datacenters have become a commodity themselves, and are increasingly being networked with each other through high speed optical networks for load balancing and fault tolerance. Therefore, the network substrate has become a key component that virtually all operations within and between datacenters rely on. Although the datacenter network substrate is fast and provisioned with large amounts of capacity to spare, networked applications find it increasingly difficult to derive the expected levels of performance. In essence, datacenters consist of inexpensive, fault-prone components running on commodity operating systems and network protocols that are ill-suited for reliable, high-performance applications. This thesis addresses several key challenges pertaining to the communication substrate of the modern commodity datacenter.
First, this thesis provides a study of the properties of commodity end-host servers connected over high bandwidth, uncongested, and long distance lambda networks. We identify scenarios associated with loss, latency variations, and degraded throughput at the attached commodity end-host servers. Interestingly, we show that while the network core is indeed uncongested and loss in the core is very rare, significant loss is observed at the end-hosts themselves—a scenario that is both common and easily provoked. One common technology used to overcome such poor network performance are packet processors that carry out some sort of performance enhancement protocol.
Second, this thesis shows how packet processors may be used to improve the performance of the datacenter’s communication layer. Further, we show that these performance enhancement packet processors can be built in software to run on the commodity servers resident in the datacenter and can sustain high data rates.
And third, this thesis extends the operating system with two novel packet processing abstractions—the Featherweight Pipes ( fwP ) and NetSlices . Developers can use the new abstractions to build high-performance packet processing protocols in user-space, without incurring the performance penalty that conventional abstractions engender. Most importantly, unlike the conventional abstractions, fwP and NetSlices allow applications to achieve high data rates by leveraging the parallelism intrinsic of modern hardware, like multi-core processors and multi-queue network interfaces. The key feature of the new abstractions is a design that enables independent work to proceed in parallel while aggressively minimizing the overheads during the contention phases. We demonstrate the performance of packet processors built with these new abstractions to scale linearly with the number of available processor cores.
Cited By
- Hanford N, Ahuja V, Farrens M, Ghosal D, Balman M, Pouyoul E and Tierney B Analysis of the effect of core affinity on high-throughput flows Proceedings of the Fourth International Workshop on Network-Aware Data Management, (9-15)
- Hanford N, Ahuja V, Balman M, Farrens M, Ghosal D, Pouyoul E and Tierney B Characterizing the impact of end-system affinities on the end-to-end performance of high-speed flows Proceedings of the Third International Workshop on Network-Aware Data Management, (1-10)
- Ahuja V, Ghosal D and Farrens M Minimizing the Data Transfer Time Using Multicore End-System Aware Flow Bifurcation Proceedings of the 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012), (595-602)
- Vasudevan V, Kaminsky M and Andersen D Using vector interfaces to deliver millions of IOPS from a networked key-value storage server Proceedings of the Third ACM Symposium on Cloud Computing, (1-13)
- Ahuja V, Farrens M and Ghosal D Cache-aware affinitization on commodity multicores for high-speed network flows Proceedings of the eighth ACM/IEEE symposium on Architectures for networking and communications systems, (39-48)
Recommendations
Software-defined consistency group abstractions for virtual machines
DCC '16: Proceedings of the 4th Workshop on Distributed Cloud ComputingIn this paper we propose a practical scalable software-level mechanism for taking crash-consistent snapshots of a group of virtual machines. The group is dynamically defined at the software virtualization layer allowing us to move the consistency group ...
End-to-end performance isolation through virtual datacenters
OSDI'14: Proceedings of the 11th USENIX conference on Operating Systems Design and ImplementationThe lack of performance isolation in multi-tenant datacenters at appliances like middleboxes and storage servers results in volatile application performance. To insulate tenants, we propose giving them the abstraction of a dedicated virtual datacenter (...