You are here: Home / Science / RTLWS Submitted Papers / 
2017-09-26 - 11:11
Details of the Real Time Linux Foundation Working Group Project

OSADL Project: Real Time Linux Workshops

Real Time Linux Foundation Workshops since 1999

Real Time Linux Workshops

1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 - 2014 - 2015

13th Real-Time Linux Workshop from October 20 to 22 at the Faculty of Electrical Engineering, Czech Technical University in Prague

Announcement - Hotels - Directions - Agenda - Paper Abstracts - Presentations - Registration - Abstract Submission - Sponsoring - Gallery

How to cope with the negative impact of a processor's energy-saving features on real-time capabilities?

Carsten Emde, Open Source Automation Development Lab (OSADL) eG

In the early days of using computers for determinism critical tasks, processors mostly were suitable for this purpose, since instruction execution was in sync with the clock frequency. This made it possible to correctly predict the execution time of a given code segment. With the rapidly increasing need for processing power, deterministic execution was abandoned in favor of throughput. In consequence, the peak processing power of a today's state-of-the-art multi-core processor is about 1,000,000 times greater than that of a standard processor 30 years ago. The worst-case performance, however, only improved by a factor of about 10 - and even this may require specific configuration of the processor and the operating system. The main reasons for the lack of progress of the worst-case performance are the introduction of caches and energy-saving features. While the negative impact of caching on the worst-case performance could be studied in recent years and can now be handled reasonably well, the details of energy-saving are less well known. Although energy-saving most of the time boils down to switching off or at least throttling down unneeded processor components, such mechanisms can be implemented in various ways and locations and are often undocumented. It was, therefore, the aim of this project to investigate the latency behavior of modern energy-saving processors and to provide recommendations how to disable or circumvent energy-saving.

To investigate the impact of energy-saving, latency measurements no longer were performed in a short closed loop such as when using the cyclictest utility but with rarely occurring random interrupt triggers at idle state of the processor. This could lead to long latencies which were then attempted to be reduced by specific processor and Linux kernel configurations.

As a result, we now can recommend a number of individual processor settings and configuration items of the Linux kernel to optimize the worst-case system latency when modern energy-saving processors are used. In some cases, however, it was not possible to disable any deleterious effect of energy-saving on a processor's latency, although we tried very hard. Thus, we urgently appeal to semiconductor manufacturers to - whatever mechanisms they invent to reduce power consumption - provide a way to switch them off, if they adversely affect response time. In many cases, energy-saving and fast deterministic reaction to asynchronous events exclude each other.