Institut für informationstechnische Systeme
Prof. Dr. Rzehak

Techniken zur Verwendung von Standardbetriebssystemen für zeitkritische Anwendungen

Aufgabenstellung und Betreuung: Prof. Dr. Helmut Rzehak

Durchführung: Arnd C. Heursch und Studenten der Informatik der Universität der Bundeswehr München

In zunehmenden Maße müssen Standardbetriebsysteme neben anderen Programmen auch zeitkritische Aufgaben bewältigen, z.B. im Home-Bereich Soft-Realtime Aufgaben wie die Wiedergabe von Audio- oder Videodaten auf PC's. Aber auch im Embedded Bereich fassen Standardbetriebssysteme wie Linux oder Java Fuß aufgrund ihrer umfassenden Funktionalität, der grossen Menge verfügbarer Software, der fehlenden Runtime-Lizenzen sowie der grossen Entwicklergemeinde, die auch Portierungen auf andere Plattformen vornimmt. Teilweise werden dadurch proprietäre Betriebssysteme verdrängt. In Embedded Systems fallen oft ebenfalls zeitkritische Aufgaben an.

Dieses Projekt untersucht am Beispiel von Linux wie der Kernel eines Standardbetriebssystems dahingehend verändert werden kann, dass er zeitkritische Aufgaben zeitgenauer, d.h. möglichst pünktlich, erfüllen kann, ohne dass Standardapplikationen umprogrammiert werden müssen oder in ihrer Performance leiden. Linux ist als Open Source Betriebssystem für die Untersuchungen besonders geeignet, da der Quellcode des Betriebssystemkerns einsehbar ist und - da er der GPL Lizenz unterliegt- auch verändert werden darf.

Als wesentliche Ursache für Latenzzeiten in der Größenordnung von bis zu Hunderten von Millisekunden auf aktueller Intel-kompatibler PC-Hardware ist der nicht preemptive Kernel Code aller Linux Kernel bis einschliesslich des aktuellen Standardkernels 2.4 zu nennen [4]. Die Linux Kernel Entwickler verfolgen 2 Richtungen, um die Preemptivität des Linux Kernels zu erhöhen: Das Einführen von zusätzlichen Preemption Points und die Nutzung kritischer Abschnitte anstatt einer globalen Unterbrechungssperre für den gesamten Kernel Code. In unserem Projekt werden beide Strategien hinsichtlich ihrer Konzeption, ihrer Grenzen und ihrer Auswirkungen auf die Performance anhand von theoretischen Überlegungen und Messungen verglichen. Dazu notwendig ist die Weiterentwicklung am Institut vorhandener Mess- und Diagnosetools. Aktuell werden im Projekt Ideen zu einer weiteren Verbesserung der Preemptivität implementiert und getestet.

In dem Maße, in dem es gelingt, den Linux Kernel preemptiver zu machen, erscheint es auch sinnvoll, die Granularität der Linux-Zeitbasis über die 10 Millisekunden des periodischen Timerinterrupts des Standard Kernels hinaus zu erhöhen. Dies wird ermöglicht durch die ab der Pentium-Architektur eingeführte, hochauflösende Uhr des Prozessors, den Time Stamp Counter (TSC). Hier liegt ein weiterer Schwerpunkt unseres Projektes; ein Projektergebnis ist der auch im Internet downloadbare Kernel Patch 'Rapid Reaction Linux' [3], der die Vorteile beider Projektschwerpunkte kombiniert und sowohl die Preemptivität als auch der Zeitgranularität des Linux Kernels erhöht.

Aktuell wird untersucht, inwieweit neuere, prozessornahe Hardware-Komponenten wie neuere Interrupt Controler (Local APIC) Messmethoden vereinfachen und die Bewältigung zeitkritischer Aufgaben des Betriebssystems unterstützen können. Auch werden aktuell Untersuchungen durchgeführt, um Auswirkungen der Cache-Architekturen moderner Prozessoren auf das Worst-Case Laufzeitverhalten von Programmen zu quantifizieren und mit der Dauer vom Betriebssystem verursachter Latenzen zu vergleichen.

Veröffentlichungen:

Bibliography

1
Arnd C. Heursch, Dirk Grambow, Alexander Horstkotte and Helmut Rzehak; 'Steps towards a fully Preemptable Linux kernel';
accepted paper for WRTP'03, 27th IFAC/IFIP/IEEE Workshop on Real-Time Programming, Lagow, Polen, May 14-17, 2003
http://www.iie.uz.zgora.pl/wrtp03/action.php

2
A. Heursch, M. Mächtel; 'Linux ganz pünktlich'; voraussichtlich: Zeitschrift Linux Enterprise 3/2003, S.

3
Arnd C. Heursch; Helmut Rzehak; 'Rapid Reaction Linux: Linux with low latency and high timing accuracy'; paper for 5th Annual Linux Showcase & Conference, Oakland, California, USA, November 8-11, 2001,
http://inf3-www.informatik.unibw-muenchen.de/research/linux/rrlinux/rapid.html

4
Arnd C. Heursch; Alexander Horstkotte; Helmut Rzehak; 'Preemption concepts, Rhealstone Benchmark and scheduler analysis of Linux 2.4'
Paper for Real-Time & Embedded Computing Conference, Milan, November 27-28, 2001
http://inf3-www.informatik.unibw-muenchen.de/research/linux/milan/measure_preempt.html

5
H. Rzehak; A. Heursch; 'Die Eignung von Linux für zeitkritische Anwendungen'; GI- Workshop über Realzeitsysteme am 23. und 24.11.2000 in Boppard; Tagungsband Reihe Informatik aktuell des Springer- Verlags 2000, S. 1-11

6
M. Mächtel; A. Heursch: 'Kommt Zeit, kommt Linux - Der Einsatz von Linux in Echtzeitsystemen'; Zeitschrift Linux Enterprise 4/2000, S. 56-61

7
A. Heursch; H. Rzehak; M. Will et al.: 'Linux für eingebettete Systeme'; GI- Workshop über Realzeitsysteme am 23. und 24.11.2000 in Boppard; Tagungsband Reihe Informatik aktuell des Springer- Verlags 2000, S. 123-132



Arnd C. Heursch 2003-01-15