Unleashing hardware potential through better operating system abstractions

Placeholder Show Content

Abstract/Contents

Abstract
Datacenter workloads have demanding performance requirements, including the simultaneous need for high throughput, low tail latency, and high server utilization. While modern hardware is compatible with these goals, contemporary operating systems are not. The conventional wisdom is that aggressive networking requirements, such as high packet rates for small messages and microsecond-scale tail latency, are best addressed outside the kernel in a user-level networking stack. In this dissertation, I will first discuss IX, a dataplane operating system that provides high I/O performance while maintaining the key advantage of strong protection offered by existing kernels. IX separates the management and scheduling functions of the kernel (the control plane) from the network processing (the dataplane). The dataplane architecture builds upon a native, zero-copy API and optimizes for both bandwidth and latency by dedicating hardware threads and networking queues to dataplane instances. Each dataplane instance is designed to process bounded batches of packets to completion without depending on coherence traffic or multi-core synchronization. IX outperforms Linux significantly in both throughput and end-to-end latency. For example, IX can improve Memcached's TCP throughput by up to 3.6x. While IX demonstrates that better operating system abstractions can significantly improve performance, deploying these abstractions has become intractable given the size and complexity of today's systems. To address this second challenge, I will present Dune, a kernel extension that allows operating system developers to sidestep software and hardware complexity by running an operating system within an ordinary Linux process. With Dune, developers can build custom library operating systems that safely access the full capabilities of raw hardware while also falling back on the convenience and functionality of a Linux environment. Dune uses CPU virtualization extensions to expose access to privileged instructions without sacrificing existing process security and isolation properties.

Description

Type of resource text
Form electronic; electronic resource; remote
Extent 1 online resource.
Publication date 2016
Issuance monographic
Language English

Creators/Contributors

Associated with Belay, Adam
Associated with Stanford University, Department of Computer Science.
Primary advisor Kozyrakis, Christoforos, 1974-
Primary advisor Mazières, David (David Folkman), 1972-
Thesis advisor Kozyrakis, Christoforos, 1974-
Thesis advisor Mazières, David (David Folkman), 1972-
Thesis advisor Levis, Philip
Advisor Levis, Philip

Subjects

Genre Theses

Bibliographic information

Statement of responsibility Adam Belay.
Note Submitted to the Department of Computer Science.
Thesis Thesis (Ph.D.)--Stanford University, 2016.
Location electronic resource

Access conditions

Copyright
© 2016 by Adam Matthew Belay
License
This work is licensed under a Creative Commons Attribution Non Commercial 3.0 Unported license (CC BY-NC).

Also listed in

Loading usage metrics...