Professor: Paul Eggert
Computer Science 111: Operating Systems
5 June 2014
Research Paper: Arrakis Operating System
Recent device hardware trends enable a new approach to the design of network servers. In a traditional operating system, the kernel mediates access to device hardware by server applications, to enforce process isolation as well as network and disk security. Arrakis splits the traditional role of the kernel in two. Applications have direct access to virtualized I/O devices, allowing most I/O operations to skip the kernel entirely.
Taking a cue from very high speed Internet routers, the Arrakis operating system is split into a separate control and data plane. On the data plane, with the right device hardware support, it is not required for the kernel to be involved. Network packets, disk blocks, and processor interrupts can be safely routed directly to (and from) user-level without going through the kernel and without violating system security. The kernel is needed on the control plane: to configure which data paths are allowed and what resource limits are to be enforced in hardware.
Considering the example of a UDP echo server implemented as a Linux process, the following analysis depicts the performance gains of Arrakis over a traditional operating system. Operating system overhead for packet processing falls into four main categories: network stack processing by the hardware, scheduler overhead, kernel crossings from kernel space to user space and back, and copying of packet data from kernel to user buffers and vice-versa. By leveraging hardware support to remove kernel mediation from the data plane, Arrakis eliminates scheduling and kernel crossing overhead entirely, because packets are delivered directly to user space.
Table : Performance gains of Arrakis over Linux in terms of network package processing. All times are averages over 1000 samples, and are given in µs
The primary goals of Arrakis were to
References: Anderson, Thomas. “Arrakis: A Case for the End of the Empire” usenix.org, 13 May 2013. Web. 6 May 2014. https://www.usenix.org/conference/hotos13/session/peter Peter, Simon. “Arrakis: The Operating System is The Control Plane.” washington.edu, 14 October 2013. Web. 6 May 2014. http://faculty.washington.edu/simpeter/arrakis-tr.pdf