Design and Implementation of a Stateful Network Packet Processing Framework for GPUs

Giorgos Vasiliadis, Lazaros Koromilas, Michalis Polychronakis, Sotiris Ioannidis

Research output: Contribution to journalArticle

3 Citations (Scopus)

Abstract

Graphics processing units (GPUs) are a powerful platform for building the high-speed network traffic processing applications using low-cost hardware. The existing systems tap the massively parallel architecture of GPUs to speed up certain computationally intensive tasks, such as cryptographic operations and pattern matching. However, they still suffer from significant overheads due to critical-path operations that are still being carried out on the CPU, and redundant inter-device data transfers. In this paper, we present GASPP, a programmable network traffic processing framework tailored to modern graphics processors. GASPP integrates optimized GPU-based implementations of a broad range of operations commonly used in the network traffic processing applications, including the first purely GPU-based implementation of network flow tracking and TCP stream reassembly. GASPP also employs novel mechanisms for tackling the control flow irregularities across SIMT threads, and for sharing the memory context between the network interfaces and the GPU. Our evaluation shows that GASPP can achieve multigigabit traffic forwarding rates even for complex and computationally intensive network operations, such as stateful traffic classification, intrusion detection, and packet encryption. Especially when consolidating multiple network applications on the same system, GASPP achieves up to 16.2 × speedup compared with different monolithic GPU-based implementations of the same applications.

Original languageEnglish
Article number7551177
Pages (from-to)610-623
Number of pages14
JournalIEEE/ACM Transactions on Networking
Volume25
Issue number1
DOIs
Publication statusPublished - 1 Feb 2017

Fingerprint

Packet networks
Processing
HIgh speed networks
Parallel architectures
Pattern matching
Intrusion detection
Data transfer
Flow control
Computer hardware
Interfaces (computer)
Cryptography
Program processors
Graphics processing unit
Computer systems
Data storage equipment
Costs

Keywords

  • CUDA
  • GPU
  • Network packet processing

ASJC Scopus subject areas

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

Cite this

Design and Implementation of a Stateful Network Packet Processing Framework for GPUs. / Vasiliadis, Giorgos; Koromilas, Lazaros; Polychronakis, Michalis; Ioannidis, Sotiris.

In: IEEE/ACM Transactions on Networking, Vol. 25, No. 1, 7551177, 01.02.2017, p. 610-623.

Research output: Contribution to journalArticle

Vasiliadis, Giorgos ; Koromilas, Lazaros ; Polychronakis, Michalis ; Ioannidis, Sotiris. / Design and Implementation of a Stateful Network Packet Processing Framework for GPUs. In: IEEE/ACM Transactions on Networking. 2017 ; Vol. 25, No. 1. pp. 610-623.
@article{04cbd71ae6b949b5a55b8861d632f4ae,
title = "Design and Implementation of a Stateful Network Packet Processing Framework for GPUs",
abstract = "Graphics processing units (GPUs) are a powerful platform for building the high-speed network traffic processing applications using low-cost hardware. The existing systems tap the massively parallel architecture of GPUs to speed up certain computationally intensive tasks, such as cryptographic operations and pattern matching. However, they still suffer from significant overheads due to critical-path operations that are still being carried out on the CPU, and redundant inter-device data transfers. In this paper, we present GASPP, a programmable network traffic processing framework tailored to modern graphics processors. GASPP integrates optimized GPU-based implementations of a broad range of operations commonly used in the network traffic processing applications, including the first purely GPU-based implementation of network flow tracking and TCP stream reassembly. GASPP also employs novel mechanisms for tackling the control flow irregularities across SIMT threads, and for sharing the memory context between the network interfaces and the GPU. Our evaluation shows that GASPP can achieve multigigabit traffic forwarding rates even for complex and computationally intensive network operations, such as stateful traffic classification, intrusion detection, and packet encryption. Especially when consolidating multiple network applications on the same system, GASPP achieves up to 16.2 × speedup compared with different monolithic GPU-based implementations of the same applications.",
keywords = "CUDA, GPU, Network packet processing",
author = "Giorgos Vasiliadis and Lazaros Koromilas and Michalis Polychronakis and Sotiris Ioannidis",
year = "2017",
month = "2",
day = "1",
doi = "10.1109/TNET.2016.2597163",
language = "English",
volume = "25",
pages = "610--623",
journal = "IEEE/ACM Transactions on Networking",
issn = "1063-6692",
publisher = "Institute of Electrical and Electronics Engineers Inc.",
number = "1",

}

TY - JOUR

T1 - Design and Implementation of a Stateful Network Packet Processing Framework for GPUs

AU - Vasiliadis, Giorgos

AU - Koromilas, Lazaros

AU - Polychronakis, Michalis

AU - Ioannidis, Sotiris

PY - 2017/2/1

Y1 - 2017/2/1

N2 - Graphics processing units (GPUs) are a powerful platform for building the high-speed network traffic processing applications using low-cost hardware. The existing systems tap the massively parallel architecture of GPUs to speed up certain computationally intensive tasks, such as cryptographic operations and pattern matching. However, they still suffer from significant overheads due to critical-path operations that are still being carried out on the CPU, and redundant inter-device data transfers. In this paper, we present GASPP, a programmable network traffic processing framework tailored to modern graphics processors. GASPP integrates optimized GPU-based implementations of a broad range of operations commonly used in the network traffic processing applications, including the first purely GPU-based implementation of network flow tracking and TCP stream reassembly. GASPP also employs novel mechanisms for tackling the control flow irregularities across SIMT threads, and for sharing the memory context between the network interfaces and the GPU. Our evaluation shows that GASPP can achieve multigigabit traffic forwarding rates even for complex and computationally intensive network operations, such as stateful traffic classification, intrusion detection, and packet encryption. Especially when consolidating multiple network applications on the same system, GASPP achieves up to 16.2 × speedup compared with different monolithic GPU-based implementations of the same applications.

AB - Graphics processing units (GPUs) are a powerful platform for building the high-speed network traffic processing applications using low-cost hardware. The existing systems tap the massively parallel architecture of GPUs to speed up certain computationally intensive tasks, such as cryptographic operations and pattern matching. However, they still suffer from significant overheads due to critical-path operations that are still being carried out on the CPU, and redundant inter-device data transfers. In this paper, we present GASPP, a programmable network traffic processing framework tailored to modern graphics processors. GASPP integrates optimized GPU-based implementations of a broad range of operations commonly used in the network traffic processing applications, including the first purely GPU-based implementation of network flow tracking and TCP stream reassembly. GASPP also employs novel mechanisms for tackling the control flow irregularities across SIMT threads, and for sharing the memory context between the network interfaces and the GPU. Our evaluation shows that GASPP can achieve multigigabit traffic forwarding rates even for complex and computationally intensive network operations, such as stateful traffic classification, intrusion detection, and packet encryption. Especially when consolidating multiple network applications on the same system, GASPP achieves up to 16.2 × speedup compared with different monolithic GPU-based implementations of the same applications.

KW - CUDA

KW - GPU

KW - Network packet processing

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

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

U2 - 10.1109/TNET.2016.2597163

DO - 10.1109/TNET.2016.2597163

M3 - Article

AN - SCOPUS:84983608399

VL - 25

SP - 610

EP - 623

JO - IEEE/ACM Transactions on Networking

JF - IEEE/ACM Transactions on Networking

SN - 1063-6692

IS - 1

M1 - 7551177

ER -