A team of researchers at the Korea Advanced Institute of Science and Technology (KAIST) are using high-end graphics processors to accelerate networking in a software-based router. The prototype system, called PacketShader, is built from commodity CPUs and GPUs and has demonstrated speed of up to 40 gigabits per second (Gbps).
Unlike custom-built boxes, software routers can use cheap commodity hardware and accommodate specialized networking applications. The downside has been performance. Commercial software routers support limited bandwidth — typically in the single-digit Gbps range, although the top-of-the-line software routers from Vyatta deliver 20 Gbps of raw throughput.
What the KAIST researchers discovered is that general-purpose GPUs can greatly accelerate some of the network processing. Due to their inherently parallel architecture and high memory bandwidth, GPUs are much more suited to data-parallel work than their CPU counterparts. For certain types of packet processing, like encryption, GPUs can greatly speed up throughput.
The KAIST folks claim their software implementation is about 4.5 times as faster than RouteBricks, the fastest documented software router to date. The Korean researchers have implemented IPv4 and IPv6 forwarding, OpenFlow switching, and IPsec tunneling to demonstrate the performance speedup, which is documented here (PDF).
The PacketShader system consists of 2 quad-core Nehalem CPUs (2.66 GHz), 6 GB of DDR3 RAM, 2 NVIDIA GTX480 (Fermi-class) GPUs, 4 Intel dual-port 10GbE NICs, and a Supermicro motherboard. Total system cost was $7,000. That’s less than one-tenth the cost of a custom-built box delivering comparable performance.