Skip to content

Cyclictest

Introduction

Cyclictest is a pure tool used for benchmarking RT systems. The tool measures difference between a thread's intended wake-up time and the time at which it actually wakes up in order to provide statistics about the system's latencies.

See: https://wiki.linuxfoundation.org/realtime/documentation/howto/tools/cyclictest/start

In this context, cyclictest is used to measure the RT performance of the system that is then used to carry out ROS specific benchmarks. In some sense, the generated report provides a sanity check to verify the system is properly configured. Additionally it sets a baseline for the performance it is possible to achieve for a simple real-time application running in the system.

Setup

In Ubuntu install rt-tests:

sudo apt install rt-tests

Clone configuration files repository in the home directory:

git clone https://github.com/ros-realtime/ros_realtime_benchmarks_config

How to run

Run mklatencyplot script to run the benchmark and generate the report:

cd my_experiments
bash ~/ros_realtime_benchmarks_config/cyclictest/mklatencyplot.bash
cp ~/ros_realtime_benchmarks_config/cyclictest/cyclictest_report.md .