Unleashing hardware potential through better operating system abstractions
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...