Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
133 tokens/sec
GPT-4o
7 tokens/sec
Gemini 2.5 Pro Pro
46 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
38 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Unikernel Linux (UKL) (2206.00789v2)

Published 1 Jun 2022 in cs.OS

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).

Definition Search Book Streamline Icon: https://streamlinehq.com
References (50)
  1. Dpdk - data plane development kit. https://www.dpdk.org/. Accessed on 2021-10-7.
  2. libevent – an event notification library. https://libevent.org/. (Accessed on 1/27/2023).
  3. memtier_benchmark: A high-throughput benchmarking tool for redis & memcached. https://redis.com/blog/memtier_benchmark-a-high-throughput-benchmarking-tool-for-redis-memcached/. (Accessed on 2/15/2023).
  4. The moc alliance. https://massopen.cloud/. (Accessed on 3/13/2023).
  5. perf: Linux profiling with performance counters. https://perf.wiki.kernel.org/index.php/Main_Page. (Accessed on 1/27/2023).
  6. [rfc ukl 00/10] unikernel linux (ukl). https://lore.kernel.org/lkml/[email protected]/. (Accessed on 12/28/2022).
  7. Storage Performance Development Kit. https://spdk.io/, 2018. (Accessed on 01/16/2019).
  8. Amazon. https://aws.amazon.com/ec2/nitro/, 2022. (Accessed 10/19/2022).
  9. Libra: a library operating system for a jvm in a virtualized execution environment. In Proceedings of the 3rd international conference on Virtual execution environments, pages 44–54, 2007.
  10. Thomas E Anderson. The case for application-specific operating systems. University of California, Berkeley, Computer Science Division, 1993.
  11. Jens Axboe. https://fio.readthedocs.io/en/latest/fio_doc.html. (Accessed on 10/13/2022).
  12. Xen and the art of virtualization. ACM SIGOPS operating systems review, 37(5):164–177, 2003.
  13. The GAP benchmark suite. CoRR, abs/1508.03619, 2015.
  14. Seuss: skip redundant paths to make serverless fast. In Proceedings of the Fifteenth European Conference on Computer Systems, pages 1–15, 2020.
  15. A caching model of operating system kernel functionality. ACM SIGOPS Operating Systems Review, 29(1):83–86, 1995.
  16. Leveraging legacy code to deploy desktop applications on the web. In OSDI, volume 8, pages 339–354, 2008.
  17. Exokernel: An operating system architecture for application-level resource management. ACM SIGOPS Operating Systems Review, 29(5):251–266, 1995.
  18. Brendan Gregg. The flame graph. Commun. ACM, 59(6):48–57, may 2016.
  19. Intel. https://www.dpdk.org/, 2010. (Accessed 01/17/2019).
  20. Antti Kantee. The design and implementation of the anykernel and rump kernels. 2nd edition, 2016.
  21. Antti Kantee et al. Flexible operating system internals: the design and implementation of the anykernel and rump kernels. 2012.
  22. Osv—optimizing the operating system for virtual machines. In 2014 {normal-{\{{USENIX}normal-}\}} Annual Technical Conference ({normal-{\{{USENIX}normal-}\}}{normal-{\{{ATC}normal-}\}} 14), pages 61–72, 2014.
  23. Will Serverless End the Dominance of Linux in the Cloud? In Proceedings of the 16th Workshop on Hot Topics in Operating Systems, pages 169–173. ACM, 2017.
  24. Unikraft: fast, specialized unikernels the easy way. In Proceedings of the Sixteenth European Conference on Computer Systems, pages 376–394, 2021.
  25. Unikernels everywhere: The case for elastic cdns. In Proceedings of the 13th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pages 15–29, 2017.
  26. A linux in unikernel clothing. In Proceedings of the Fifteenth European Conference on Computer Systems, pages 1–15, 2020.
  27. The design and implementation of an operating system to support distributed multimedia applications. IEEE journal on selected areas in communications, 14(7):1280–1297, 1996.
  28. Secrecy: Secure collaborative analytics in untrusted clouds. to apear NSDI 2023, 2023.
  29. Unikernels: Library operating systems for the cloud. ACM SIGARCH Computer Architecture News, 41(1):461–472, 2013.
  30. Kernel mode linux: Toward an operating system protected by a type theory. In Annual Asian Computing Science Conference, pages 3–17. Springer, 2003.
  31. My vm is lighter (and safer) than your container. In Proceedings of the 26th Symposium on Operating Systems Principles, pages 218–233, 2017.
  32. Clickos and the art of network function virtualization. In 11th {normal-{\{{USENIX}normal-}\}} symposium on networked systems design and implementation ({normal-{\{{NSDI}normal-}\}} 14), pages 459–473, 2014.
  33. Read-copy update: Using execution history to solve concurrency problems. In Parallel and Distributed Computing and Systems, volume 509518, 1998.
  34. Memcached. https://memcached.org/. (Accessed on 05/30/2022).
  35. Designing a highly-scalable operating system: The blue gene/l story. In Proceedings of the 2006 ACM/IEEE conference on Supercomputing, pages 118–es, 2006.
  36. Supporting security sensitive tenants in a Bare-Metal cloud. In 2019 USENIX Annual Technical Conference (USENIX ATC 19), pages 587–602, Renton, WA, July 2019. USENIX Association.
  37. Linux Weekly News. https://lwn.net/. (Accessed on 05/30/2022).
  38. Nginx. https://nginx.org/. (Accessed on 10/13/2022).
  39. Librettos: a dynamically adaptable multiserver-library os. In Proceedings of the 16th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pages 114–128, 2020.
  40. A binary-compatible unikernel. In Proceedings of the 15th ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments, pages 59–73, 2019.
  41. Rethinking the library os from the top down. In Proceedings of the sixteenth international conference on Architectural support for programming languages and operating systems, pages 291–304, 2011.
  42. Lkl: The linux kernel library. In 9th RoEduNet IEEE International Conference, pages 328–333. IEEE, 2010.
  43. Unikernels: The next stage of linux’s dominance. In Proceedings of the Workshop on Hot Topics in Operating Systems, HotOS ’19, page 7–13, New York, NY, USA, 2019. Association for Computing Machinery.
  44. Redis. https://redis.io/. (Accessed on 05/30/2022).
  45. An analysis of performance evolution of linux’s core operations. In Proceedings of the 27th ACM Symposium on Operating Systems Principles, pages 554–569, 2019.
  46. Luigi Rizzo. netmap: a novel framework for fast packet i/o. In 21st USENIX Security Symposium (USENIX Security 12), pages 101–112, 2012.
  47. Ebbrt: A framework for building per-application library operating systems. In 12th {normal-{\{{USENIX}normal-}\}} Symposium on Operating Systems Design and Implementation ({normal-{\{{OSDI}normal-}\}} 16), pages 671–688, 2016.
  48. X-containers: Breaking down barriers to improve performance and isolation of cloud-native containers. In Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 121–135, 2019.
  49. Peeking Behind the Curtains of Serverless Platforms. In Proceedings of the 2018 USENIX Conference on Usenix Annual Technical Conference, USENIX ATC ’18, pages 133–145, Berkeley, CA, USA, 2018. USENIX Association.
  50. Unikernels as processes. In Proceedings of the ACM Symposium on Cloud Computing, pages 199–211, 2018.
Citations (10)

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com