← 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.
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.
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
io Map the NIC (and any NVMe) to its NUMA node.
mem Allocate packet/frame buffers on the device-local node.
affinity Pin the processing threads to that node with ScopedPin.
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.