For anyone considering evaluating the performance benefits of the Red Hat Enterprise Linux for Real Time kernel, it is crucial to understand both the importance of tuning and how to establish the right performance expectations.
Red Hat Enterprise Linux for Real Time is designed to be used on well-tuned systems for applications with extremely high determinism requirements. Kernel system tuning offers the vast majority of the improvement in determinism. For example, in many workloads thorough system tuning improves consistency of results by around 90%. This is why we typically recommend that customers first perform the suggested system tuning of standard Red Hat Enterprise Linux to see if it meets their objectives, before using Red Hat Enterprise Linux for Real Time.
System tuning is just as important when using the realtime kernel as it is for the standard kernel. In fact, if you simply took an untuned system running the standard kernel and substitute the realtime kernel for the stock kernel supplied as part of the Red Hat Enterprise Linux 7 release, you are unlikely to notice any benefit. Standard tuning will yield 90% of the latency gains. The realtime kernel provides the last 10% of latency reduction required by the most demanding workloads.
Establishing the right performance expectations refers to the fact that the realtime kernel is not a panacea. Its objective is consistent, low-latency determinism offering predictable response times. There is some additional kernel overhead associated with the realtime kernel. This is due primarily to handling hardware interrupts in separately scheduled threads. The increased overhead in some workloads results in some degradation in overall throughput. The exact amount is very workload dependent, ranging from 0% to 30%. However, it is the cost of determinism.
For typical workloads with kernel latency requirements in the millisecond (ms) range, then the standard Red Hat Enterprise Linux 7 kernel is sufficient. If your workload has stringent low-latency determinism requirements for core kernel features such as interrupt handling and process scheduling in the microsecond (μs) range, then the realtime kernel is for you.
Figure 1.1. Benefit of Using Realtime over Standard Kernel System Tuning.
This graph compares a million samples of machines using the Red Hat Enterprise Linux 7 and Red Hat Enterprise Linux for Real Time kernels respectively. The blue points in this graph represent the system response time (in microseconds) of machines running a tuned Red Hat Enterprise Linux 7 kernel. The green points in the graph represent the system response time of machines running a tuned realtime kernel. It is clear from this graph that the response time of the realtime kernel is very consistent, in contrast to the standard kernel, which has greater variability with points scattered across the graph.