Publications Real-Time Virtualization
Unikernel Linux (UKL)
18th European Conference on Computer Systems (EuroSys 2023), May 2023, Rome, Italy
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 this paper
@inproceedings{UKL_EuroSys23,
title = {{Unikernel Linux (UKL)}},
author = {Raza, Ali and Unger, Thomas and Boyd, Matthew and Munson, Eric B and Sohal, Parul and Drepper, Ulrich and Jones, Richard and De Oliveira, Daniel Bristot and Woodman, Larry and Mancuso, Renato and Appavoo, Jonathan and Krieger, Orran},
booktitle = {18th European Conference on Computer Systems (EuroSys 2023)},
year = 2023,
month = may,
pages = {590--605},
publisher = {Association for Computing Machinery},
address = {Rome, Italy},
doi = {10.1145/3552326.3587458},
url = {https://doi.org/10.1145/3552326.3587458}
}
TY - CONF AU - Raza, Ali AU - Unger, Thomas AU - Boyd, Matthew AU - Munson, Eric B AU - Sohal, Parul AU - Drepper, Ulrich AU - Jones, Richard AU - De Oliveira, Daniel Bristot AU - Woodman, Larry AU - Mancuso, Renato AU - Appavoo, Jonathan AU - Krieger, Orran TI - Unikernel Linux (UKL) T2 - 18th European Conference on Computer Systems (EuroSys 2023) PY - 2023 DA - 2023/05// PB - Association for Computing Machinery CY - Rome, Italy SP - 590 EP - 605 DO - 10.1145/3552326.3587458 UR - https://doi.org/10.1145/3552326.3587458 AB - 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). ER -
%0 Conference Paper %A Raza, Ali %A Unger, Thomas %A Boyd, Matthew %A Munson, Eric B %A Sohal, Parul %A Drepper, Ulrich %A Jones, Richard %A De Oliveira, Daniel Bristot %A Woodman, Larry %A Mancuso, Renato %A Appavoo, Jonathan %A Krieger, Orran %T Unikernel Linux (UKL) %B 18th European Conference on Computer Systems (EuroSys 2023) %D 2023 %P 590-605 %I Association for Computing Machinery %C Rome, Italy %R 10.1145/3552326.3587458 %U https://doi.org/10.1145/3552326.3587458 %X 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).
[
{
"id": "UKL_EuroSys23",
"type": "paper-conference",
"title": "Unikernel Linux (UKL)",
"author": [
{
"family": "Raza",
"given": "Ali"
},
{
"family": "Unger",
"given": "Thomas"
},
{
"family": "Boyd",
"given": "Matthew"
},
{
"family": "Munson",
"given": "Eric B"
},
{
"family": "Sohal",
"given": "Parul"
},
{
"family": "Drepper",
"given": "Ulrich"
},
{
"family": "Jones",
"given": "Richard"
},
{
"family": "De Oliveira",
"given": "Daniel Bristot"
},
{
"family": "Woodman",
"given": "Larry"
},
{
"family": "Mancuso",
"given": "Renato"
},
{
"family": "Appavoo",
"given": "Jonathan"
},
{
"family": "Krieger",
"given": "Orran"
}
],
"container-title": "18th European Conference on Computer Systems (EuroSys 2023)",
"issued": {
"date-parts": [
[
2023,
5
]
]
},
"page": "590-605",
"publisher": "Association for Computing Machinery",
"publisher-place": "Rome, Italy",
"DOI": "10.1145/3552326.3587458",
"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)."
}
]
A. Raza, T. Unger, M. Boyd, E. B. Munson, P. Sohal, U. Drepper, R. Jones, D. B. De Oliveira, L. Woodman, R. Mancuso, J. Appavoo, and O. Krieger, “Unikernel Linux (UKL),” in 18th European Conference on Computer Systems (EuroSys 2023), pp. 590–605, May. 2023, doi: 10.1145/3552326.3587458.
Raza, A., Unger, T., Boyd, M., Munson, E. B., Sohal, P., Drepper, U., Jones, R., De Oliveira, D. B., Woodman, L., Mancuso, R., Appavoo, J., & Krieger, O. (2023). Unikernel Linux (UKL). In 18th European Conference on Computer Systems (EuroSys 2023) (pp. 590–605). Association for Computing Machinery. https://doi.org/10.1145/3552326.3587458