AnyCall: Fast and Flexible System-Call Aggregation

Gerhorst L, Herzog B, Reif S, Schröder-Preikschat W, Hönig T (2021)


Publication Type: Conference contribution

Publication year: 2021

Publisher: Association for Computing Machinery, Inc

Pages Range: 1-8

Conference Proceedings Title: Proceedings of the 11th Workshop on Programming Languages and Operating Systems, PLOS

Event location: Virtual, Online

ISBN: 9781450387071

URI: https://arxiv.org/pdf/2201.13160.pdf

DOI: 10.1145/3477113.3487267

Open Access Link: https://arxiv.org/pdf/2201.13160.pdf

Abstract

Operating systems rely on system calls to allow the controlled communication of isolated processes with the kernel and other processes. Every system call includes a processor mode switch from the unprivileged user mode to the privileged kernel mode. Although processor mode switches are the essential isolation mechanism to guarantee the system's integrity, they induce direct and indirect performance costs as they invalidate parts of the processor state. In recent years, high-performance networks and storage hardware has made the user/kernel transition overhead the bottleneck for IO-heavy applications. To make matters worse, security vulnerabilities in modern processors (e.g., Meltdown) have prompted kernel mitigations that further increase the transition overhead. To decouple system calls from user/kernel transitions we propose AnyCall, which uses an in-kernel compiler to execute safety-checked user bytecode in kernel mode. This allows for very fast system calls interleaved with error checking and processing logic using only a single user/kernel transition. We have implemented AnyCall based on the Linux kernel's extended Berkeley Packet Filter (eBPF) subsystem. Our evaluation demonstrates that system call bursts are up to 55 times faster using AnyCall and that real-world applications can be sped up by 24 % even if only a minimal part of their code is run by AnyCall.

Authors with CRIS profile

Involved external institutions

How to cite

APA:

Gerhorst, L., Herzog, B., Reif, S., Schröder-Preikschat, W., & Hönig, T. (2021). AnyCall: Fast and Flexible System-Call Aggregation. In Proceedings of the 11th Workshop on Programming Languages and Operating Systems, PLOS (pp. 1-8). Virtual, Online: Association for Computing Machinery, Inc.

MLA:

Gerhorst, Luis, et al. "AnyCall: Fast and Flexible System-Call Aggregation." Proceedings of the 11th Workshop on Programming Languages and Operating Systems, PLOS, Virtual, Online Association for Computing Machinery, Inc, 2021. 1-8.

BibTeX: Download