mirror of
https://git.rwth-aachen.de/acs/public/villas/node/
synced 2025-03-16 00:00:02 +01:00
1.5 KiB
1.5 KiB
Tuning
Operating System and Kernel
For minimum latency several kernel and driver settings can be optimized. A PREEMPT_RT patched Linux kernel is recommended. Precompiled kernels for Fedora can be found here: http://ccrma.stanford.edu/planetccrma/software/
-
Install
tuned
package and activate therealtime
profile. This profile will:- Reserve some CPU cores solely for S2SS (Kernel cmdline:
isolcpus=[cpu_numbers]
) - Activate sub-profiles:
network-latency
latency-performance
- See
/etc/tuned/realtime-variables.conf
- See
/usr/lib/tuned/realtime/
- Reserve some CPU cores solely for S2SS (Kernel cmdline:
-
S2SS configuration:
affinity
: Maps network card IRQs and threads to isolated corespriority
: Increases priority of network packets and threads
-
Configure NIC interrupt coalescence with
ethtool
:$ ethtool -C|--coalesce devname [adaptive-rx on|off] [adaptive-tx on|off] ...
-
Configure NIC kernel driver in
/etc/modprobe.d/e1000e.conf
:More conservative interrupt throttling for better latency
https://www.kernel.org/doc/Documentation/networking/e1000e.txt
option e1000e InterruptThrottleRate=
Hardware
This are some proposals for the selection of appropriate server hardware:
-
Server-grade CPU: Intel Xeon
- A multi-core systems allows parallization of send/receive paths.
-
Server-grade network cards: Intel PRO/1000
- These allow offloading of UDP checksumming to the hardware