Reading
Start the reading early; the Arrakis paper is somewhat long. Arrakis introduces many of the ideas in kernel bypass OSes, but focuses on application performance and direct hardware access for applications. The Demikernel argues for new OS abstractions.
-
“Arrakis: The operating system is the control plane”, Simon Peter, Jialin Li, Irene Zhang, Dan R. K. Ports, Doug Woos, Arvind Krishnamurthy, Thomas Anderson, Timothy Roscoe (2015)
-
“The Demikernel datapath OS architecture for microsecond-scale datacenter systems” Irene Zhang, Amanda Raybuck, Pratyush Patel, Kirk Olynyk, Jacob Nelson, Omar S. Navarro Leija, Ashlie Martinez, Jing Liu, Anna Kornfeld Simpson, Sujay Jayakar, Pedro Henrique Penna, Max Demoulin, Piali Choudhury, Anirudh Badam (2021)
Reading questions
Arrakis requires that its devices “provide support for virtualization by presenting themselves as multiple [devices], and … also multiplex/demultiplex [I/O] based on complex filter expressions.” Why does Arrakis require this support? Does Demikernel avoid this requirement?
Further reading
-
This paper is a performance evaluation of SPDK, a commonly-used and well-supported kernel bypass library for fast storage media. It compares SPDK performance with some modern, high-efficiency Linux storage APIs that don’t entirely bypass the kernel: “Understanding modern storage APIs: a systematic study of libaio, SPDK, and io_uring”, Didona D, Pfefferle J, Ioannou N, Metzler B, Trivedi A (2022)
-
In Snap, Google does kernel bypass: 23 authors, a new TCP-incompatible transport protocol, kernel scheduling components, RDMA, new devices, et cetera; strong engineering but hard for others to learn from. “Snap: a microkernel approach to host networking”, Marty M, de Kruijf M, Adriaens J, Alfeld C, Bauer S, Contavalli C, Dalton M, Dukkipati N, Evans WC, Gribble S, Kidd N, Kononov R, Kumar G, Mauer C, Musick E, Olson L, Rubow E, Ryan M, Springborn K, Turner P, Valancius V, Wang X, Vahdat A (2019)
-
The Shenango OS uses kernel bypass, but its main focus is high-frequency scheduling. Shenango is part of a line of work that started with IX, a kernel bypass OS by Adam Belay et al. that was concurrent work with Arrakis. “Shenango: Achieving high CPU efficiency for latency-sensitive datacenter workloads”, Amy Ousterhout, Fried J, Behrens J, Belay A, Balakrishnan H (2019)
-
Some of the authors of the Demikernel paper give a short preview and justification: “I’m Not Dead Yet!: The role of the operating system in a kernel-bypass era”, Irene Zhang, Jing Liu, Amanda Austin, Michael Lowell Roberts, Anirudh Badam (2019)