Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • apa.csl
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
The eXpress Data Path: Fast Programmable Packet Processing in the Operating System Kernel
Karlstad University, Faculty of Health, Science and Technology (starting 2013), Department of Mathematics and Computer Science (from 2013). (DISCO)ORCID iD: 0000-0001-5241-6815
Red Hat.
Cilium.io.
Cilium.io.
Show others and affiliations
2018 (English)In: CoNEXT '18 Proceedings of the 14th International Conference on emerging Networking EXperiments and Technologies, Association for Computing Machinery (ACM), 2018, p. 54-66Conference paper, Published paper (Refereed)
Abstract [en]

Programmable packet processing is increasingly implemented using kernel bypass  techniques, where a userspace application takes complete control of the  networking hardware to avoid expensive context switches between kernel and  userspace. However, as the operating system is bypassed, so are its  application isolation and security mechanisms; and well-tested configuration,  deployment and management tools cease to function.  To overcome this limitation, we present the design of a novel approach to  programmable packet processing, called the eXpress Data Path (XDP). In XDP,  the operating system kernel itself provides a safe execution environment for  custom packet processing applications, executed in device driver context. XDP  is part of the mainline Linux kernel and provides a fully integrated solution  working in concert with the kernel's networking stack. Applications are  written in higher level languages such as C and compiled into custom byte code  which the kernel statically analyses for safety, and translates into native  instructions.  We show that XDP achieves single-core packet processing performance as high as  24 million packets per second, and illustrate the flexibility of the  programming model through three example use cases: layer-3 routing, inline  DDoS protection and layer-4 load balancing.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2018. p. 54-66
Keywords [en]
XDP, BPF, Programmable Networking, DPDK
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:kau:diva-69639DOI: 10.1145/3281411.3281443ISI: 000455383800006ISBN: 978-1-4503-6080-7 (electronic)OAI: oai:DiVA.org:kau-69639DiVA, id: diva2:1256181
Conference
CoNEXT '18: International Conference on emerging Networking EXperiments and Technologies
Available from: 2018-10-16 Created: 2018-10-16 Last updated: 2019-11-09Bibliographically approved
In thesis
1. Bufferbloat and Beyond: Removing Performance Barriers in Real-World Networks
Open this publication in new window or tab >>Bufferbloat and Beyond: Removing Performance Barriers in Real-World Networks
2018 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

The topic of this thesis is the performance of computer networks. While network performance has generally improved with time, over the last several years we have seen examples of performance barriers limiting network performance. In this work we explore such performance barriers and look for solutions.

The problem of excess persistent queueing latency, known as bufferbloat, serves as our starting point; we examine its prevalence in the public internet, and evaluate solutions for better queue management, and explore how to improve on existing solutions to make them easier to deploy.

Since an increasing number of clients access the internet through WiFi networks, examining WiFi performance is a natural next step. Here we also look at bufferbloat, as well as the so-called performance anomaly, where stations with poor signal strengths can severely impact the performance of the whole network. We present solutions for both of these issues, and additionally design a mechanism for assigning policies for distributing airtime between devices on a WiFi network. We also analyse the “TCP Small Queues” latency minimisation technique implemented in the Linux TCP stack and optimise its performance over WiFi networks.

Finally, we explore how high-speed network processing can be enabled in software, by looking at the eXpress Data Path framework that has been gradually implemented in the Linux kernel as a way to enable high-performance programmable packet processing directly in the operating system’s networking stack.

A special focus of this work has been to ensure that the results are carried forward to the implementation stage, which is achieved by releasing implementations as open source software. This includes parts that have been accepted into the Linux kernel, as well as a separate open source measurement tool, called Flent, which is used to perform most of the experiments presented in this thesis, and also used widely in the bufferbloat community.

Abstract [en]

The topic of this thesis is the performance of computer networks in general, and the internet in particular. While network performance has generally improved with time, over the last several years we have seen examples of performance barriers limiting network performance. In this work we explore such performance barriers and look for solutions.

Our exploration takes us through three areas where performance barriers are found: The bufferbloat phenomenon of excessive queueing latency, the performance anomaly in WiFi networks and related airtime resource sharing problems, and the problem of implementing high-speed programmable packet processing in an operating system. In each of these areas we present solutions that significantly advance the state of the art.

The work in this thesis spans all three aspects of the field of computing, namely mathematics, engineering and science. We perform mathematical analysis of algorithms, engineer solutions to the problems we explore, and perform scientific studies of the network itself. All our solutions are implemented as open source software, including both contributions to the upstream Linux kernel, as well as the Flent test tool, developed to support the measurements performed in the rest of the thesis.

Place, publisher, year, edition, pages
Karlstad: Karlstads universitet, 2018
Series
Karlstad University Studies, ISSN 1403-8099 ; 2018:42
Keywords
Bufferbloat, AQM, WiFi, XDP, TSQ, Flent, network measurement, performance evaluation, fairness, queueing, programmable packet processing
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:kau:diva-69416 (URN)978-91-7063-878-7 (ISBN)978-91-7063-973-9 (ISBN)
Public defence
2018-11-23, 21A342, Eva Erikssonsalen, Karlstad, 09:15 (English)
Opponent
Supervisors
Projects
HITS, 4707
Funder
Knowledge Foundation
Note

Paper 6 was published as manuscript in the thesis.

The revised fulltext is identical to the original version with the exception that printing errors have been removed.

Available from: 2018-10-26 Created: 2018-09-27 Last updated: 2020-06-09Bibliographically approved

Open Access in DiVA

fulltext(2320 kB)2650 downloads
File information
File name FULLTEXT01.pdfFile size 2320 kBChecksum SHA-512
a501f54189aff2a0484c5de0377231ce652088667efb867dcc534794691b8246cf8920419323ff8ef8045cff2c4bb4511f452246709faefb9bc2bd29d48ec009
Type fulltextMimetype application/pdf

Other links

Publisher's full text

Authority records

Høiland-Jørgensen, Toke

Search in DiVA

By author/editor
Høiland-Jørgensen, Toke
By organisation
Department of Mathematics and Computer Science (from 2013)
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 2652 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 3065 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • apa.csl
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf