next up previous contents
Next: Die Granularität Up: Ergebnisse der dritten Versuchsreihe Previous: Harte Echtzeit   Inhalt

Mischung

Um die Untersuchung über den Einfluß der Mischung der Threads auf die Prozessorauslastung noch weiter zu vertiefen, wird Guaranteed Percentage noch einmal in einer etwas abgewandelten Form getestet. Es wird eine zusätzliche Klasse eingeführt, die speziell für Threads mit kurzer Deadline gedacht ist. Dadurch kann man die Threads der Klasse genau mit denen der Klasse minimal gleichzeitig laufen lassen und sie so besser auf das Intervall verteilen.

Bei dem Fahrzeug aus Abschnitt 3.5.3 ändert das nichts, da der Kamera-Thread zu kurz ist, als daß er eine deutlich bessere Verteilung erreichen könnte.

Bei dem Echtzeitmix aus Abschnitt 3.5.2 ergibt sich eine leichte Verbesserung, wie in Abbildung 3.19 zu sehen ist. Der Modifizierte Guaranteed Percentage Scheduler ist mit GP2 bezeichnet.

Abbildung 3.19: Guaranteed Percentage, Klassen genau und minimal gleichzeitig

Die Verbesserung resultiert daraus, daß hier über einen Zeitraum von 90 Takten vier Threads parallel laufen können, während dies im vorherigen Versuch nur für die ersten 60 Takte gilt, danach sind die Threads aus der Klasse genau fertig. Abbildung 3.20 veranschaulicht diesen Zusammenhang. In der Zeit, in der ein Thread nur Latenzzeiten nutzen kann, ist er gepunktet dargestellt.

Abbildung 3.20: Laufzeiten der Threads bei verschiedenen Varianten von GP

Eine weitere Variante besteht darin, die Threads der Klasse genau im Intervall so weit wie möglich nach hinten zu verschieben. Dazu gibt der Scheduler diesen Threads zunächst eine niedrige Priorität, bis die Summe der Takte, die sie noch bekommen müssen, gleich den verbleibenden Takten des Intervalls ist. Von diesem Zeitpunkt an bekommen sie die höchste Priorität. Bei sehr kurzen Threads wie dem Meßwertaufnehmer führt das allerdings dazu, daß diese ihre Deadlines nicht mehr einhalten können, da sie erst am Ende des Intervalls genug Rechenzeit bekommen.

Daher wird hier noch ein weiterer Benchmark betrachtet. Dabei wird der Meßwertaufnehmer entfernt und durch einen zweiten PID-Regler ersetzt. Abbildung 3.21 zeigt das Ergebnis. Der mit GP3 bezeichnete Wert entspricht dem nochmals geänderten Guaranteed Percentage, der nun die Threads der Klasse genau ganz an das Ende des Intervalls verschiebt. Es zeigt sich nochmals eine leichte Verbesserung.

Tabelle 3.9 faßt noch einmal alle Klassen zusammen.


Tabelle: Die Klassen für Guaranteed Percentage
Klasse Bedeutung
Nicht echtzeitfähig Bekommt Rechenzeit nur, wenn kein echtzeitfähiger Thread ausführbar ist.
Maximal Darf nicht mehr Zyklen bekommen, als seinem Anteil entspricht.
Minimal Darf nicht weniger Zyklen bekommen, als seinem Anteil entspricht.
Genau Muß genau seinen Anteil bekommen.
Kurz Muß genau seinen Anteil bekommen, wird aber bevorzugt bedient, wenn er aktiv ist, so daß er seine kurze Deadline einhalten kann.

Es deutet also alles darauf hin, daß die Durchmischung der verschiedenen Threads beim Scheduling auf einem mehrfädigen Prozessor ein wichtiges Kriterium ist. Um gute Ergebnisse zu erzielen, muß man dafür sorgen, daß zu jedem Zeitpunkt möglichst viele Threads parallel laufen können.

Abbildung 3.21: Guaranteed Percentage mit der Klasse genau zuletzt (Für zwei PID-Regler)


next up previous contents
Next: Die Granularität Up: Ergebnisse der dritten Versuchsreihe Previous: Harte Echtzeit   Inhalt
Alexander Schulz
2000-06-18