Reto Achermann
Assistant Professor
Systems Research Group
TUM School of Computation, Information and Technology
CleanQ: a lightweight, uniform, formally specified interface for intra-machine data transfer
Authors
Roni Haecki, Lukas Humbel, Reto Achermann, David Cock, Daniel Schwyn and Timothy Roscoe
Venue
arXiv Preprint
Links
Abstract
We present CleanQ, a high-performance operating-system interface for descriptor-based data transfer with rigorous formal semantics, based on a simple, formally-verified notion of ownership transfer, with a fast reference implementation. CleanQ aims to replace the current proliferation of similar, but subtly diverse, and loosely specified, descriptor-based interfaces in OS kernels and device drivers. CleanQ has strict semantics that not only clarify both the implementation of the interface for different hardware devices and software usecases, but also enable composition of modules as in more heavyweight frameworks like Unix streams. We motivate CleanQ by showing that loose specifications derived from implementation lead to security and correctness bugs in production systems that a clean, formal, and easilyunderstandable abstraction helps eliminate. We further demonstrate by experiment that there is negligible performance cost for a clean design: we show overheads in the tens of cycles for operations, and comparable end-to-end performance to the highly-tuned Virtio and DPDK implementations on Linux.
Bibtex
@article{Haecki:2019:CLU,
author = {Roni Haecki and Lukas Humbel and Reto Achermann and David Cock and Daniel Schwyn and Timothy Roscoe},
doi = {10.48550/arXiv.1911.08773},
eprint = {1911.08773},
eprintclass = {cs.OS},
eprinttype = {preprint},
id = {Haecki:2019:CLU},
journal = {arXiv Preprint},
publisher = {1911.08773},
title = {CleanQ: a lightweight, uniform, formally specified interface for intra-machine data transfer},
url = {https://doi.org/10.48550/arXiv.1911.08773},
year = {2019}
}
Prof. Reto Achermann
I01: Chair of Distributed Systems and Operating Systems (aka Systems Research Group)
1st Floor, 7th Finger
School of Computation, Information, and Technology (CIT)
Technical University of Munich (TUM)
Boltzmannstr. 3
85748 Garching bei München
Germany
firstname.lastname [at] cit.tum.de


