demikernel
demikernel copied to clipboard
[inetstack] System Calls on the Fast Path
Description
I am observing some calls (that seem to be system calls) running tcp-ping-pong example using Catnip in the dev branch (commit 5730393b274d067a5a4a1324e4d3ecd6f396d3e6). I recorded events using perf and plotted the Flame Graph (attached). As we can see, at some points, there is something that looks like some system calls, like in demikernel::scheduler::scheduler::Scheduler::insert calling __GI___libc_malloc, in demikernel::catnip::runtime::DPDKRuntime::transmit calling __memcpy_avx_unaligned, in demikernel::inetstack::Inetstack::poll_bg_work calling __clock_gettime_2, and others.
Are they system calls? Can't they affect Demikernel's performance?
How to Reproduce
Steps to reproduce the behavior:
- Increase the number of rounds from 1024 to 512*1024;
- Remove the sanity check;
- Remove the println for pings (and pongs);
- Run
tcp-ping-pongas server at the node0 - Run
tcp-ping-pongas client at the node1.