English

Unikernel Linux (UKL)

Operating Systems 2023-06-26 v2

Abstract

This paper presents Unikernel Linux (UKL), a path toward integrating unikernel optimization techniques in Linux, a general purpose operating system. UKL adds a configuration option to Linux allowing for a single, optimized process to link with the kernel directly, and run at supervisor privilege. This UKL process does not require application source code modification, only a re-link with our, slightly modified, Linux kernel and glibc. Unmodified applications show modest performance gains out of the box, and developers can further optimize applications for more significant gains (e.g. 26% throughput improvement for Redis). UKL retains support for co-running multiple user level processes capable of communicating with the UKL process using standard IPC. UKL preserves Linux's battle-tested codebase, community, and ecosystem of tools, applications, and hardware support. UKL runs both on bare-metal and virtual servers and supports multi-core execution. The changes to the Linux kernel are modest (1250 LOC).

Cite

@article{arxiv.2206.00789,
  title  = {Unikernel Linux (UKL)},
  author = {Ali Raza and Thomas Unger and Matthew Boyd and Eric Munson and Parul Sohal and Ulrich Drepper and Richard Jones and Daniel Bristot de Oliveira and Larry Woodman and Renato Mancuso and Jonathan Appavoo and Orran Krieger},
  journal= {arXiv preprint arXiv:2206.00789},
  year   = {2023}
}

Comments

Added more results in the evaluation section. Improved overall writing and added diagrams to explain the architecture

R2 v1 2026-06-24T11:36:36.423Z