Kafe

Can OS Kernels Forward Packets Fast Enough for Software Routers?

Cheol Ho Hong, Kyungwoon Lee, Jaehyun Hwang, Hyunchan Park, Hyuck Yoo

Research output: Contribution to journalArticle

Abstract

It is widely believed that software routers based on commodity operating systems cannot deliver high-speed packet processing, and a number of alternative approaches (including user-space network stacks) have been proposed. This paper revisits the inefficiency of kernel-level packet processing inside modern OS-based software routers and explores whether a redesign of kernel network stacks can improve the incompetence. We present a case contrary to the belief through a redesign: Kafe--a kernel-based advanced forwarding engine that can process packets as fast as user-space network stacks. The Kafe neither adds any new API nor depends on proprietary hardware features, but the Kafe outperforms Linux by seven times and RouteBricks by three times. The current implementation of the Kafe can forward 64-byte IPv4 packets at 28.2 Gbps using eight cores running at 2.6 GHz. Our evaluation results show that the Kafe achieves similar packet forwarding performance to Intel DPDK while consuming much less CPU and memory resources.

Original languageEnglish
JournalIEEE/ACM Transactions on Networking
DOIs
Publication statusAccepted/In press - 2018 Jan 1

Fingerprint

Routers
Processing
Application programming interfaces (API)
Program processors
Engines
Hardware
Data storage equipment
Linux

Keywords

  • optimization.
  • OS network stack
  • Software router

ASJC Scopus subject areas

  • Software
  • Computer Science Applications
  • Computer Networks and Communications
  • Electrical and Electronic Engineering

Cite this

Kafe : Can OS Kernels Forward Packets Fast Enough for Software Routers? / Hong, Cheol Ho; Lee, Kyungwoon; Hwang, Jaehyun; Park, Hyunchan; Yoo, Hyuck.

In: IEEE/ACM Transactions on Networking, 01.01.2018.

Research output: Contribution to journalArticle

Hong, Cheol Ho ; Lee, Kyungwoon ; Hwang, Jaehyun ; Park, Hyunchan ; Yoo, Hyuck. / Kafe : Can OS Kernels Forward Packets Fast Enough for Software Routers?. In: IEEE/ACM Transactions on Networking. 2018.
@article{9b6cc6be2cc0447ca3f9b499e9ff5a54,
title = "Kafe: Can OS Kernels Forward Packets Fast Enough for Software Routers?",
abstract = "It is widely believed that software routers based on commodity operating systems cannot deliver high-speed packet processing, and a number of alternative approaches (including user-space network stacks) have been proposed. This paper revisits the inefficiency of kernel-level packet processing inside modern OS-based software routers and explores whether a redesign of kernel network stacks can improve the incompetence. We present a case contrary to the belief through a redesign: Kafe--a kernel-based advanced forwarding engine that can process packets as fast as user-space network stacks. The Kafe neither adds any new API nor depends on proprietary hardware features, but the Kafe outperforms Linux by seven times and RouteBricks by three times. The current implementation of the Kafe can forward 64-byte IPv4 packets at 28.2 Gbps using eight cores running at 2.6 GHz. Our evaluation results show that the Kafe achieves similar packet forwarding performance to Intel DPDK while consuming much less CPU and memory resources.",
keywords = "optimization., OS network stack, Software router",
author = "Hong, {Cheol Ho} and Kyungwoon Lee and Jaehyun Hwang and Hyunchan Park and Hyuck Yoo",
year = "2018",
month = "1",
day = "1",
doi = "10.1109/TNET.2018.2879752",
language = "English",
journal = "IEEE/ACM Transactions on Networking",
issn = "1063-6692",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

TY - JOUR

T1 - Kafe

T2 - Can OS Kernels Forward Packets Fast Enough for Software Routers?

AU - Hong, Cheol Ho

AU - Lee, Kyungwoon

AU - Hwang, Jaehyun

AU - Park, Hyunchan

AU - Yoo, Hyuck

PY - 2018/1/1

Y1 - 2018/1/1

N2 - It is widely believed that software routers based on commodity operating systems cannot deliver high-speed packet processing, and a number of alternative approaches (including user-space network stacks) have been proposed. This paper revisits the inefficiency of kernel-level packet processing inside modern OS-based software routers and explores whether a redesign of kernel network stacks can improve the incompetence. We present a case contrary to the belief through a redesign: Kafe--a kernel-based advanced forwarding engine that can process packets as fast as user-space network stacks. The Kafe neither adds any new API nor depends on proprietary hardware features, but the Kafe outperforms Linux by seven times and RouteBricks by three times. The current implementation of the Kafe can forward 64-byte IPv4 packets at 28.2 Gbps using eight cores running at 2.6 GHz. Our evaluation results show that the Kafe achieves similar packet forwarding performance to Intel DPDK while consuming much less CPU and memory resources.

AB - It is widely believed that software routers based on commodity operating systems cannot deliver high-speed packet processing, and a number of alternative approaches (including user-space network stacks) have been proposed. This paper revisits the inefficiency of kernel-level packet processing inside modern OS-based software routers and explores whether a redesign of kernel network stacks can improve the incompetence. We present a case contrary to the belief through a redesign: Kafe--a kernel-based advanced forwarding engine that can process packets as fast as user-space network stacks. The Kafe neither adds any new API nor depends on proprietary hardware features, but the Kafe outperforms Linux by seven times and RouteBricks by three times. The current implementation of the Kafe can forward 64-byte IPv4 packets at 28.2 Gbps using eight cores running at 2.6 GHz. Our evaluation results show that the Kafe achieves similar packet forwarding performance to Intel DPDK while consuming much less CPU and memory resources.

KW - optimization.

KW - OS network stack

KW - Software router

UR - http://www.scopus.com/inward/record.url?scp=85057170709&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=85057170709&partnerID=8YFLogxK

U2 - 10.1109/TNET.2018.2879752

DO - 10.1109/TNET.2018.2879752

M3 - Article

JO - IEEE/ACM Transactions on Networking

JF - IEEE/ACM Transactions on Networking

SN - 1063-6692

ER -