10321

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
@article{sun2013fast,

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

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

   year={2013}

}

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

Package:

799

views

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.
VN:F [1.9.22_1171]
Rating: 4.5/5 (2 votes cast)
Fast and Flexible: Parallel Packet Processing with GPUs and Click, 4.5 out of 5 based on 2 ratings

You must be logged in to post a comment.

* * *

* * *

Like us on Facebook

HGPU group

167 people like HGPU on Facebook

Follow us on Twitter

HGPU group

1275 peoples are following HGPU @twitter

* * *

Free GPU computing nodes at hgpu.org

Registered users can now run their OpenCL application at hgpu.org. We provide 1 minute of computer time per each run on two nodes with two AMD and one nVidia graphics processing units, correspondingly. There are no restrictions on the number of starts.

The platforms are

Node 1
  • GPU device 0: AMD/ATI Radeon HD 5870 2GB, 850MHz
  • GPU device 1: AMD/ATI Radeon HD 6970 2GB, 880MHz
  • CPU: AMD Phenom II X6 @ 2.8GHz 1055T
  • RAM: 12GB
  • OS: OpenSUSE 13.1
  • SDK: AMD APP SDK 2.9
Node 2
  • GPU device 0: AMD/ATI Radeon HD 7970 3GB, 1000MHz
  • GPU device 1: nVidia GeForce GTX 560 Ti 2GB, 822MHz
  • CPU: Intel Core i7-2600 @ 3.4GHz
  • RAM: 16GB
  • OS: OpenSUSE 12.2
  • SDK: nVidia CUDA Toolkit 6.0.1, AMD APP SDK 2.9

Completed OpenCL project should be uploaded via User dashboard (see instructions and example there), compilation and execution terminal output logs will be provided to the user.

The information send to hgpu.org will be treated according to our Privacy Policy

HGPU group © 2010-2014 hgpu.org

All rights belong to the respective authors

Contact us: