3 ms·
It says in the paper you should pin on thread per core, actually I've found no performance gain to do that. You can also overcommit a little bit (ie more thread
by shin_lao 11y ago
It says in the paper you should pin on thread per core, actually I've found no performance gain to do that. You can also overcommit a little bit (ie more threads than cores).
Also you should make sure the IRQ of the network card is pinned to one core (that's a system configuration).
But you know, if you really want performance you should go DPDK etc.
- geocar 11y agoWhere I have observed overcommitting helping, it is often where the task takes longer than the request rate. Simplifying the task helps more. Benchmark and simplify is a very good strategy. Your IRQ observation is good. Advising people to set /proc/irq/IRQ_NUMBER/smp_affinity on Linux is a good idea. I don't know how to do this on OSX though, and I have not found a good programmatic way to discover a good setting. I suspect it might be network-card and network-driver specific, but would welcome suggestions. Your DPDK observation is also good, however if I want that level of performance, I might get less complexity by threading TCP directly into the network interrupt.