Super Computer 13: GPUs would make terrific network monitors

Super Computer 13: GPUs would make terrific network monitors

An off-the-shelf Nvidia GPU is able to easily capture all the traffic of a
10Gbps network, Fermilab research finds

By Joab Jackson, IDG News Service November 21, 2013 02:50 PM ET

Sponsored by: IDG News Service - A network researcher at the U.S. Department
of Energy's Fermi National Accelerator Laboratory has found a potential new
use for graphics processing units -- capturing data about network traffic in
real time.

GPU-based network monitors could be uniquely qualified to keep pace with all
the traffic flowing through networks running at 10Gbps (gigabits per second)
or more, said Fermilab's Wenji Wu.

Wenji presented his work as part of a poster series of new research at the SC
2013 supercomputing conference this week in Denver.

Network analysis tools face an extreme challenge in keeping up with all of
the traffic of today's larger networks, he said. Adding to the strain,
network administrators increasingly expect to inspect operational data in
real-time, as it is happening.

For processing, today's commercial monitoring appliances typically rely on
either standard x86 processors or customer ASICs (application specific
integrated circuits).

Both architectures have their limitations, Wenji noted. CPUs don't have the
memory bandwidth or the compute power to keep pace with the largest networks
in real time. As a result, they can drop packets.

ASICs can have sufficient memory bandwidth and compute power for the task,
but their custom architecture is difficult, and expensive, to program. Nor do
they offer the ability to split processing duties into parallel tasks, which
is becoming increasingly necessary for watching high-speed networks.

GPUs can offer all of these capabilities, Wenji said. They have "a great
parallel execution model," he said, noting that they offer high memory
bandwidth, easy programmability, and can split the packet capturing process
across multiple cores.

As their name implies, GPUs were originally designed to render graphics on
computer screens. Their architectures, consisting of many processor cores
working in tandem, also make them useful as general coprocessors good at
inherently parallelizable tasks.

In the latest Top500 ranking of the world's most powerful supercomputers, 38
machines used Nvidia GPUs to boost their output.

The task of monitoring networks requires reading all the data packets as they
cross the network, which "requires a lot of data parallelism," Wenji said.

Wenji has built a prototype at Fermilab to demonstrate the feasibility of a
GPU-based network monitor, using a Nvidia M2070 GPU and an off-the-shelf NIC
(network interface card) to capture network traffic. The system could easily
be expanded with additional GPUs, he said.

In this setup, Wenji found that packet processing could be considerably
accelerated through GPUs. Compared to a single core CPU-based network
monitor, the GPU-based system was able to speed performance by as much as 17
times. Compared to a six core CPU, the speed up from using a GPU was

Makers of commercial network appliances could use GPUs to boost their
devices' line rates, as well as cut development costs by using pre-existing
GPU programming models such as the Nvidia CUDA (Compute Unified Device
Architecture) framework, Wenji said.

Joab Jackson covers enterprise software and general technology breaking news
for The IDG News Service. Follow Joab on Twitter at @Joab_Jackson. Joab's
e-mail address is

The IDG News Service is a Network World affiliate.