← Use cases · Network

Packet processing and real-time media

Every cross-node copy is latency you can’t get back. Place packet buffers on the NIC-local node and process without hopping sockets.

The problem

A packet-processing or real-time media pipeline receives on a NIC attached to one socket but processes on threads scattered across both. Each packet crosses the interconnect at least once, adding jitter that shows up as dropped frames or missed deadlines under load — exactly when it matters most.

With numaperf

Map the NIC to its NUMA node with numaperf-io, allocate packet buffers on that node, and pin the processing threads to the same node. The receive-to-process path stays on one socket, so the cross-node copy — and its jitter — is gone.

How it flows

01
io

Map the NIC (and any NVMe) to its NUMA node.

02
mem

Allocate packet/frame buffers on the device-local node.

03
affinity

Pin the processing threads to that node with ScopedPin.

04
perf

Track cross-node traffic to prove the copy is really gone.

What you get

  • Receive-to-process path stays on one socket
  • No cross-node copy for device buffers
  • Less jitter under load — steadier deadlines

Try it on your workload

cargo add numaperf, then follow the quickstart. See the full feature set or read how it works.