Operating Systems Abstractions For Software Packet Processing In Datacenters

Other Titles
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 ions-the Featherweight Pipes (fwP) and NetSlices. Developers can use the new ions 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.
Journal / Series
Volume & Issue
Date Issued
Operating Systems; Datacenters; Networking; Packet Processing; User-space; Lambda Networks
Effective Date
Expiration Date
Union Local
Number of Workers
Committee Chair
Weatherspoon, Hakim
Committee Co-Chair
Committee Member
Birman, Kenneth Paul
Halpern, Joseph Yehuda
Van Renesse, Robbert
Pass, Rafael N.
Degree Discipline
Computer Science
Degree Name
Ph. D., Computer Science
Degree Level
Doctor of Philosophy
Related Version
Related DOI
Related To
Related Part
Based on Related Item
Has Other Format(s)
Part of Related Item
Related To
Related Publication(s)
Link(s) to Related Publication(s)
Link(s) to Reference(s)
Previously Published As
Government Document
Other Identifiers
Rights URI
dissertation or thesis
Accessibility Feature
Accessibility Hazard
Accessibility Summary
Link(s) to Catalog Record