Publisher DOI: 10.1145/3302424.3303959
Title: Multiverse: Compiler-Assisted Management of Dynamic Variability in Low-Level System Software
Language: English
Authors: Rommel, Florian 
Dietrich, Christian  
Rodin, Michael 
Lohmann, Daniel 
Issue Date: Mar-2019
Publisher: ACM Press
Source: Fourteenth EuroSys Conference (EuroSys 2019)
Abstract (english): 
System software, such as the Linux kernel, typically provides a high degree of versatility by means of static and dynamic variability. While static variability can be completely resolved at compile time, dynamic variation points come at a cost arising from extra tests and branches in the control flow. Kernel developers use it (a) only sparingly and (b) try to mitigate its overhead by run-time binary code patching, for which several problem/architecture-specific mechanisms have become part of the kernel.

We think that means for highly efficient dynamic variability should be provided by the language and compiler instead and present multiverse, an extension to the C programming language and the GNU C compiler for this purpose. Multiverse is easy to apply and targets program-global configuration switches in the form of (de-)activatable features, integer-valued configurations, and rarely-changing program modes. At run time, multiverse removes the overhead of evaluating them on every invocation. Microbenchmark results from applying multiverse to performance-critical features of the Linux kernel, cPython, the musl C-library and GNU grep show that multiverse can not only replace and unify the existing mechanisms for run-time code patching, but may in some cases even improve their performance by adding new dynamic variability options.
Conference: Fourteenth EuroSys Conference (EuroSys 2019) 
URI: http://hdl.handle.net/11420/9236
Document Type: Chapter/Article (Proceedings)
Appears in Collections:Publications without fulltext

Show full item record

Page view(s)

10
Last Week
2
Last month
checked on Apr 21, 2021

Google ScholarTM

Check

Add Files to Item

Note about this record

Cite this record

Export

Items in TORE are protected by copyright, with all rights reserved, unless otherwise indicated.