
PacketShader – GPU-Accelerated Software Router (2011) - todsac
https://shader.kaist.edu/packetshader/
======
alfalfasprout
Nowadays GPUs are a poor choice for this. GPUs have fairly high latency and
are designed to be optimal for embarrassingly parallel computations. Sure you
can do 10gigabits/sec but because you're batching that'll result in your
latency being high-ish on average.

In terms of non-CPU hardware for routing FPGA's are still king if you need a
bit of flexibility. In theory a rule table can be defined in configs and then
flashed onto the FGPA for line-speed packet processing. Even then, given how
slow FPGA's are to flash CPUs are still king when general packet processing is
needed.

------
hbogert
meh, just use plain cpus; see dpdk

[https://fast.dpdk.org/doc/perf/DPDK_19_11_Intel_NIC_performa...](https://fast.dpdk.org/doc/perf/DPDK_19_11_Intel_NIC_performance_report.pdf)

------
lsb
This is 10 years old! The GPU the benchmarks run on has 480 cores, and modern
GPUs have >5000, and the available memory has gone from 1.5GB to 32GB.

I'd love to see these numbers run with a modern GPU.

------
ryanmjacobs
Interesting... looks like it's effective for routing minimum-sized packets. As
an aside, this is the epitome of good web design. Fast, clear, proper line-
widths... I'm in love :)

