Dies ist eine alte Version des Dokuments!


Benchmark

Introduction

There are many different tools available to measure the realtime performance of a system.

The cyclictest is the simplest and most usefull benchmark.

Tools

Cyclictest

Standard tool to measure the maximum jitter of a system.

Cyclictest

Influences on real-time behaviour

The following things can influence the real-time behaviour:

  • CPU
    • Mobile x86 CPU (with suffix like U, Y and M i.e i7-4600U) seems to perform much worse than non-mobile processors. Mobile processer add about 100us-200us jitter.
    • ARM processer seem to have about 60us max jitter and a high medium jitter
  • Kernel version
    • 4.4.169-rt177 seems to be better than 4.19.15-rt12
  • BIOS settings
  • Some drivers, like WiFi driver, may negatively influence latency

Methodical procedure

Overview

At first, test the most basic system possible. With this test, you can get a baseline of the best possible real-time performance of the hardware. Every feature added will make the system more complex and add more stuff, which can increase jitter.

With this approach you can get a feeling which performance is possible and which part of the system is responsible for a high jitter.

  1. Test hardware, BIOS settings and kernel version
  2. Test full distro in text mode
  3. Test full distro in graphical mode
  4. Test full distro under load

1.) Test hardware, BIOS settings and kernel version

  1. Build a RT-kernel and install it. The „make_oldconfig“ method should work fine.
  2. Install the cyclictest
  3. Reboot with the new kernel in RunLevel 1
  4. Check the real-time performance with cyclictest

Tipp: You may want to use screen. This application provides multiple virtual terminal sessions when you want to run multiple programs in parallel..

Tuning

If you the measured latencies are to high, you can tweak your system. The options which are simple but effective are listed first.

  • Tune some BIOS settings
  • Tune some kernel settings TODO
  • Use a different kernel version. (4.4.169-rt177 seems to be better than 4.19.15-rt12)
  • If the jitter is still too high, you may have to choose a different CPU

2.) Test full distro in text mode

Boot your system in text mode.

If the real-time performance is not significantly reduced, then the 3rd step can be continued. Run a 24h test so that exceptional events can also be detected.

If the real-time performance is significantly worse, then a WLAN driver or something similar can be the cause. To further isolate the problem, the WLAN driver, or another suspected driver, can be deactivated (rmmod iwlwifi). A new test should result in an improvement of the maximum jitter.

Other possible causes

  • WLAN driver
  • Ethernet Triber
  • Bluetooth driver
  • Various peripheral devices

3.) Test full distro in graphical mode

It is recommended that a real-time system be used only in text mode. With a graphical user interface, the system is generally more unstable.

If, however, the system is to be used with a graphical user interface, a 24h test including a graphical user interface is recommended.