The systems of the OSADL QA Farm undergo repeated periods of idle and load conditions as depicted in the figure at the left (click on the image or here to display it a full size) and as can be seen in the time course of continuous real-time monitoring. The two main measurement periods of the cyclictest program to determine the system's worst case latecny start at 7:10 a.m. and 7:10 p.m. and have a duration of five hours and 33 minutes. The cyclictest program itself creates a relatively high interrupt load but no other relevant load that may interfere with the system and particularly the scheduler. After the first two hours of this system state that is close to an idle system, a defined mid-range load is generated in an attempt to simulate an average machine control program. It generates about 1 Mbit/s network load, 1 MByte/s I/O and filesystem load and 1 MByte/s memory allocation load. The resulting overall system load during the remaining three hours and 33 minutes amounts to about 30 to 50%.
A second cyclictest run starts at 2:30 a.m. and 2:30 p.m., respectively, during which the gltestperf benchmark of the accelerated graphics processor (GPU) is executed. This benchmark was written by David Bucciarelli and is part of the mesa-demos package. In addition, a 2D graphics benchmark, the 2D part of the unixbench program, is run. Again, the purpose is to evaluate the influence of the graphics processor on the real-time performance of the entire system, if any, and to provide the benchmark results to assist system integrators when selecting CPU and GPU for a given project.
A third cyclictest run starts at 5:05 a.m. and 5:05: p.m., respectively, during which the UnixBench CPU benchmark test is running which takes 30 to 60 minutes to complete depending on the numbers of cores of the CPU. The purpose of this CPU benchmark is twofold: First, the relatively high peak load that is generated during this benchmark is used to challenge the real-time capabilities of the systems. Second, the results are stored and made available to the public to facilitate the selection of an appropriate CPU for a particular project. By clicking on the header of a particular table column, the systems can be ordered according to the variable of this column (e.g. ordered by Dhrystones).
At every end of a cyclictest run, a latency plot is created, uploaded to the Internet and displayed here. Click on an item of the menu bar at the top of this page and select a system's rack and slot number to inspect its most recent latency distribution (e.g. the 4x1-core 64-bit x86 system in rack #1/slot #0). The latency plots are updated twice daily; the creation date is given at the bottom of every plot. Logged-in users with additional access rights can also display all data that have been stored since the beginning of the recording in May 2011. This allows to determine the worst-case latency with a much higher certainty than based on a single test run only. Access to the latency plots during accelerated graphics load as well as to a summary graph on the effect of accelerated graphics on the worst-case latency also requires additional user rights.
Below every latency plot, the original cyclictest command, the number of individual samples and the duration of the measurement are given.