PacketShader: A GPU-Accelerated Software Router

September 6th, 2010


We present PacketShader, a high-performance software router framework for general packet processing with Graphics Processing Unit (GPU) acceleration. PacketShader exploits the massively-parallel processing power of GPU to address the CPU bottleneck in current software routers. Combined with our high-performance packet I/O engine, PacketShader outperforms existing software routers by more than a factor of four, forwarding 64B IPv4 packets at 39 Gbps on a single commodity PC. We have implemented IPv4 and IPv6 forwarding, OpenFlow switching, and IPsec tunneling to demonstrate the flexibility and performance advantage of PacketShader. The evaluation results show that GPU brings significantly higher throughput over the CPU-only implementation, confirming the effectiveness of GPU for computation and memory-intensive operations in packet processing.

(Sangjin Han, Keon Jang, KyoungSoo Park and Sue Moon: “PacketShader: A GPU-accelerated Software Router”, Proceedings of ACM SIGCOMM 2010, Delhi, India, September 2010. Project webpage. DOI)