Linux Application Programming for Network Throughput
October 7, 2024
This page under construction!
There are a number of programming techniques that help improve network throughput and reduce CPU requirements. Besides the commonly used use of pthreads and parallel streams used by tests tools like iperf2/iperf3 and many data transfer tools, this page summarizes some other options to be aware of.
MSG_ZEROCOPY
See: https://www.kernel.org/doc/html/v4.18/networking/msg_zerocopy.html
iperf3 does not yet support MSG_ZEROCOPY, but there is a patch for MSG_ZEROCOPY support that can be found here.
io_uring
See: https://unixism.net/2020/04/io-uring-by-example-article-series/