Fast Privileged Function Calls
Authors/Creators
- 1. Barkhausen Institut
- 2. TECHNISCHE UNIVERSITÄT DRESDEN
Description
We are approaching a world, where the CPU merely orchestrates a plethora of specialized devices such as accelerators, RDMA NICs, or non-volatile memory (NVM). Such devices operate by mapping their internal memory directly into an application’s address space for fast, low-latency access. With the latency of modern I/O devices low enough to make traditional system calls a performance bottleneck, kernel interaction has no place on the data path of microsecond-scale systems. However, kernel bypass prevents the OS from controlling and supervising access to the hardware. This paper tries to make a step back by bringing the OS to the critical path again, but with a reduced performance penalty. We pick up on previous ideas for reducing the cost of kernel interaction and propose the fastcall space, a new layer in the traditional OS architecture that hosts specialized and quickly accessible OS functions called fastcalls. Fastcalls can stay on the critical path of a microsecond-scale application because the invocation of fastcallspace functionality is up to 15 times faster than calling kernel functions from user space. We present and evaluate a prototype implementation of the fastcall framework and thereby show how much the overhead of calling into privileged mode can be reduced while using standard CPU features.