EbbRT: a framework for building per-application library operating systems
Files
Published version
Date
2016-12
DOI
Authors
Krieger, O.
Version
Published version
OA Version
Citation
O. Krieger. 2016. "EbbRT: A Framework for Building Per-Application Library Operating Systems" PROCEEDINGS OF OSDI'16: 12TH USENIX SYMPOSIUM ON OPERATING SYSTEMS DESIGN AND IMPLEMENTATION, pp.671-688.
Abstract
General purpose operating systems sacrifice per-application performance in order to preserve generality.
On the other hand, substantial effort is required to customize or construct an operating system to meet the needs of an application. This paper describes the design and implementation of the Elastic Building Block Runtime (EbbRT), a framework for building per-application library operating systems. EbbRT reduces the effort required to construct and maintain library operating systems without hindering the degree of specialization required for high performance. We combine several techniques in order to achieve this, including a distributed OS architecture, a low-overhead component model, a lightweight event-driven runtime, and many language level primitives. EbbRT is able to simultaneously enable performance specialization, support for a broad range of
applications, and ease the burden of systems development.
An EbbRT prototype demonstrates the degree of customization made possible by our framework approach.
In an evaluation of memcached, EbbRT and is able to attain 2:08 higher throughput than Linux. The node.js runtime, ported to EbbRT, demonstrates the broad applicability and ease of development enabled by our approach