CleanQ: a lightweight, uniform, formally specified interface for intra-machine data transfer

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, bu...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Haecki, Roni, Humbel, Lukas, Achermann, Reto, Cock, David, Schwyn, Daniel, Roscoe, Timothy
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title
container_volume
creator Haecki, Roni
Humbel, Lukas
Achermann, Reto
Cock, David
Schwyn, Daniel
Roscoe, Timothy
description 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.
doi_str_mv 10.48550/arxiv.1911.08773
format Article
fullrecord <record><control><sourceid>arxiv_GOX</sourceid><recordid>TN_cdi_arxiv_primary_1911_08773</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>1911_08773</sourcerecordid><originalsourceid>FETCH-LOGICAL-a673-8c9dbf7a9c7ede894f787c42f88e02345386ee12c7c2f7b974c05bb017a2ae833</originalsourceid><addsrcrecordid>eNotj8tqwzAURLXpoiT9gK6qD4hdyZJzpe6K6QsCpZBlwVzLV4lAdoPsPvL3rdJsZpgZGDiMXUtRalPX4hbTT_gqpZWyFAZAXbL3JhKOb3cceQy7_fxNWVf8cwz-Iw0rnhVjPPLpQC74QD0P40zJo6M85pSwGNDtw0i8xxn5XzFOntKSXXiME12dfcG2jw_b5rnYvD69NPebAtegCuNs33lA64B6MlZ7MOB05Y0hUSldK7MmkpUDV3noLGgn6q4TErBCMkot2M3_7QmvPaQwYDq2GbM9YapfmQtObg</addsrcrecordid><sourcetype>Open Access Repository</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype></control><display><type>article</type><title>CleanQ: a lightweight, uniform, formally specified interface for intra-machine data transfer</title><source>arXiv.org</source><creator>Haecki, Roni ; Humbel, Lukas ; Achermann, Reto ; Cock, David ; Schwyn, Daniel ; Roscoe, Timothy</creator><creatorcontrib>Haecki, Roni ; Humbel, Lukas ; Achermann, Reto ; Cock, David ; Schwyn, Daniel ; Roscoe, Timothy</creatorcontrib><description>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.</description><identifier>DOI: 10.48550/arxiv.1911.08773</identifier><language>eng</language><subject>Computer Science - Operating Systems</subject><creationdate>2019-11</creationdate><rights>http://arxiv.org/licenses/nonexclusive-distrib/1.0</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>228,230,776,881</link.rule.ids><linktorsrc>$$Uhttps://arxiv.org/abs/1911.08773$$EView_record_in_Cornell_University$$FView_record_in_$$GCornell_University$$Hfree_for_read</linktorsrc><backlink>$$Uhttps://doi.org/10.48550/arXiv.1911.08773$$DView paper in arXiv$$Hfree_for_read</backlink></links><search><creatorcontrib>Haecki, Roni</creatorcontrib><creatorcontrib>Humbel, Lukas</creatorcontrib><creatorcontrib>Achermann, Reto</creatorcontrib><creatorcontrib>Cock, David</creatorcontrib><creatorcontrib>Schwyn, Daniel</creatorcontrib><creatorcontrib>Roscoe, Timothy</creatorcontrib><title>CleanQ: a lightweight, uniform, formally specified interface for intra-machine data transfer</title><description>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.</description><subject>Computer Science - Operating Systems</subject><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2019</creationdate><recordtype>article</recordtype><sourceid>GOX</sourceid><recordid>eNotj8tqwzAURLXpoiT9gK6qD4hdyZJzpe6K6QsCpZBlwVzLV4lAdoPsPvL3rdJsZpgZGDiMXUtRalPX4hbTT_gqpZWyFAZAXbL3JhKOb3cceQy7_fxNWVf8cwz-Iw0rnhVjPPLpQC74QD0P40zJo6M85pSwGNDtw0i8xxn5XzFOntKSXXiME12dfcG2jw_b5rnYvD69NPebAtegCuNs33lA64B6MlZ7MOB05Y0hUSldK7MmkpUDV3noLGgn6q4TErBCMkot2M3_7QmvPaQwYDq2GbM9YapfmQtObg</recordid><startdate>20191120</startdate><enddate>20191120</enddate><creator>Haecki, Roni</creator><creator>Humbel, Lukas</creator><creator>Achermann, Reto</creator><creator>Cock, David</creator><creator>Schwyn, Daniel</creator><creator>Roscoe, Timothy</creator><scope>AKY</scope><scope>GOX</scope></search><sort><creationdate>20191120</creationdate><title>CleanQ: a lightweight, uniform, formally specified interface for intra-machine data transfer</title><author>Haecki, Roni ; Humbel, Lukas ; Achermann, Reto ; Cock, David ; Schwyn, Daniel ; Roscoe, Timothy</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a673-8c9dbf7a9c7ede894f787c42f88e02345386ee12c7c2f7b974c05bb017a2ae833</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2019</creationdate><topic>Computer Science - Operating Systems</topic><toplevel>online_resources</toplevel><creatorcontrib>Haecki, Roni</creatorcontrib><creatorcontrib>Humbel, Lukas</creatorcontrib><creatorcontrib>Achermann, Reto</creatorcontrib><creatorcontrib>Cock, David</creatorcontrib><creatorcontrib>Schwyn, Daniel</creatorcontrib><creatorcontrib>Roscoe, Timothy</creatorcontrib><collection>arXiv Computer Science</collection><collection>arXiv.org</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Haecki, Roni</au><au>Humbel, Lukas</au><au>Achermann, Reto</au><au>Cock, David</au><au>Schwyn, Daniel</au><au>Roscoe, Timothy</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>CleanQ: a lightweight, uniform, formally specified interface for intra-machine data transfer</atitle><date>2019-11-20</date><risdate>2019</risdate><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.</abstract><doi>10.48550/arxiv.1911.08773</doi><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier DOI: 10.48550/arxiv.1911.08773
ispartof
issn
language eng
recordid cdi_arxiv_primary_1911_08773
source arXiv.org
subjects Computer Science - Operating Systems
title CleanQ: a lightweight, uniform, formally specified interface for intra-machine data transfer
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-26T22%3A45%3A06IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-arxiv_GOX&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=CleanQ:%20a%20lightweight,%20uniform,%20formally%20specified%20interface%20for%20intra-machine%20data%20transfer&rft.au=Haecki,%20Roni&rft.date=2019-11-20&rft_id=info:doi/10.48550/arxiv.1911.08773&rft_dat=%3Carxiv_GOX%3E1911_08773%3C/arxiv_GOX%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rfr_iscdi=true