1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/node/ synced 2025-03-09 00:00:00 +01:00

more smaller updates to the documentation

This commit is contained in:
Steffen Vogel 2016-02-26 08:39:05 +01:00
parent 004d778e79
commit 1643002398
3 changed files with 20 additions and 13 deletions

View file

@ -3,6 +3,10 @@
Developement is currently coordinated by Steffen Vogel <stvogel@eonerc.rwth-aachen.de> using [GitHub](http://github.com/RWTH-ACS/S2SS).
Please feel free to submit pull requests or bug reports.
## Shared library: libs2ss
S2SS is split into a shared library called libs2ss and a couple of executables (`s2ss-server`, `s2ss-pipe`, `s2ss-test`, `s2ss-signal`) which are linked agains the library.
## Extensibilty
There are two main places where S2SS can easily extended:

View file

@ -2,6 +2,6 @@
As described in the [Tuning](Tuning) page, a carefull setup of the underlying system is essential to get optimal performance.
At ACS, we are using a Fedora-based Live system which is optomized for real time critical workloads.
At ACS, we are using a Fedora-based Live system which is optomized for real-time critical workloads.
Take a look at the [liveusb](contrib/liveusb) directory for the configuration and scripts we are using.
Take a look at the `contrib/liveusb/` directory for the configuration and scripts we are using.

View file

@ -6,24 +6,27 @@ For minimum latency several kernel and driver settings can be optimized.
A [PREEMPT_RT patched Linux](https://rt.wiki.kernel.org/index.php/Main_Page) kernel is recommended.
Precompiled kernels for Fedora can be found here: http://ccrma.stanford.edu/planetccrma/software/
- Map NIC IRQs => see setting `affinity`
- Install `tuned` package and activate the `realtime` 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/`
- Map Tasks => see setting `affinity`
- Kernel command line: isolcpus=[cpu_number]
- Increase priority of server task (nice(2)) => see setting `priority`
- Increase socket priority
- S2SS configuration:
- `affinity`: Maps network card IRQs and threads to isolated cores
- `priority`: 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] ...
$ 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=
# More conservative interrupt throttling for better latency
# https://www.kernel.org/doc/Documentation/networking/e1000e.txt
option e1000e InterruptThrottleRate=
## Hardware