Fast and Flexible: Parallel Packet Processing with GPUs and Click

Weibin Sun, Robert Ricci
University of Utah, School of Computing
The 9th ACM/IEEE Symposium on Architectures for Networking and Communications Systems (ANCS), 2013


   title={Fast and Flexible: Parallel Packet Processing with GPUs and Click},

   author={Sun, Weibin and Ricci, Robert},



Download Download (PDF)   View View   Source Source   Source codes Source codes




We introduce Snap, a framework for packet processing that outperforms traditional software routers by exploiting the parallelism available on modern GPUs. While obtaining high performance, it remains extremely flexible, with packet-processing tasks implemented as simple modular elements that are composed to build fully functional routers and switches. Snap is based on the Click modular router, and extends it by adding new architectural features that support batched packet processing, memory structures optimized for offloading to coprocessors, and asynchronous scheduling with in-order completion. We use Snap to build a set of useful packet processing pipelines, including a deep-packet-inspection firewall and an SDN forwarder. We show that Snap can run complex pipelines at high speeds on commodity PC hardware: in a configuration composed of an IP router, an IDS-like string matcher, and an SDN-like packet classifier, Snap is able to forward 128 byte packets at 40 Gbps, limited only by the line rate of the NICs.
Rating: 2.3/5. From 2 votes.
Please wait...

* * *

* * *

HGPU group © 2010-2021 hgpu.org

All rights belong to the respective authors

Contact us: