Betriebssysteme · Institut für Systemarchitektur · Fakultät Informatik · TU Dresden



25. 09. 2020

Reducing System Call Performance Overhead on Paravirtualized L4Linux


Ilias Stamatis

TU Dresden

Verteidigung der Diplomarbeit

The L4Re microkernel has long been able to function as a hypervisor and host a slightly modified Linux kernel version called L4Linux. Recently, L4 Linux intro- duced a new mode of operation which allows application threads of Linux programs to decouple themselves from the Linux scheduler. These threads can then run uninterrupted on dedicated CPU cores managed by the L4Re microkernel while L4 Linux keeps running on a separate core. When decoupled threads need to re- quest Linux services using system calls, these requests have to be forwarded from the CPU cores hosting the decoupled threads to the one hosting L4 Linux. This forwarding requires expensive cross-processor communication which involves the microkernel and uses inter-processor interrupts that cause high latency.

This thesis introduces Memsc, a new system call forwarding mechanism imple- mented in the L4 Linux kernel. Memsc works by having L4 Linux perform memory polling on a set of special shared memory pages that registered processes use for posting system call entries, instead of passing system call arguments via CPU registers. Involvement of the L4Re microkernel is not required at any step in this process. With the help of a modified C library, applications can use Memsc transparently without requiring modification or recompilation. New applications willing to use the user-space API directly can further benefit from additional ca- pabilities such as an asynchronous system call execution model. The experimental evaluation of Memsc, conducted using both custom microbenchmarks and general- purpose file system benchmarks, shows that it performs significantly better than the existing L4Linux system call forwarding mechanism.

28. Oct 2020
· Copyright © 2001-2022 Operating Systems Group, TU Dresden | Impressum ·