next up previous contents
Next: Ein Fahrzeug Up: Ergebnisse der dritten Versuchsreihe Previous: Gleiche Threads   Inhalt


Unterschiedliche Threads

Im zweiten Schritt läuft je ein Thread mit einem der drei Programme, sowie ein nicht echtzeitfähiger Thread, der aus den Caffeine-Marks generiert wurde und hier stellvertretend für einen Betriebssystem-Thread mit Speicherbereinigung und Ähnlichem steht.

Dabei werden die FFT und der Meßwertaufnehmer auf genau 30% der verfügbaren Rechenleistung festgelegt, der PID-Regler bekommt mindestens 30% und der nicht echtzeitfähige Thread bekommt die restlichen 40%.

Die Periode des PID-Reglers wird solange schrittweise verringert, wie keine Deadline verpaßt wird. Die dann benötigte Laufzeit des Reglers wird nach Formel 3.1 in die erreichbare Abtastrate umgerechnet und mit dem hypothetischen, nicht mehrfädigen Prozessor verglichen.

Abbildung 3.13: Beschleunigung der Abtastraten bei verschiedenen Schedulern

Abbildung 3.13 zeigt die mögliche Beschleunigung des PID-Reglers bei Verwendung der verschiedenen Scheduler. Tabelle 3.7 zeigt die absoluten Werte der Abtastraten des PID-Reglers, wenn gleichzeitig die FFT und der Meßwertaufnehmer laufen. Die Leistung, die Guaranteed Percentage dem PID-Regler in diesem Versuch weniger zur Verfügung stellt, geht an den Betriebssystemthread, wie in Abbildung 3.14 zu sehen ist.


Tabelle 3.7: Abtastraten des PID-Reglers
Scheduler Abtastrate des Reglers
Earliest Deadline First 2251 Hz
Least Laxity First 2251 Hz
Guaranteed Percentage 1752 Hz
Sequentiell 1324 Hz

Abbildung 3.14: Lastverteilung bei vier verschiedenen Threads

Guaranteed Percentage verliert hier aus dem gleichen Grund, aus dem es bei sehr ähnlichen Threads, wie sie in Abschnitt 3.5.1 beschrieben sind, gewinnt. Nachdem die drei Echtzeitthreads ihre 30% eines Intervalls bekommen haben, rechnet nur noch der PID-Regler, dessen Latenzzeiten nur noch durch den nicht echtzeitfähigen Thread gefüllt werden können. Bei den anderen Schedulern wird die Last gleichmäßiger über die gesamte Zeit verteilt, da die FFT auch fast immer laufen darf.

Abbildung 3.15: Kontextwechsel bei verschiedenen Schedulern

Abbildung 3.15 zeigt wieder die angefallen Threadwechsel je simuliertem Takt. Aufgrund der großen Unterschiede zwischen den Deadlines und Perioden der drei Echtzeitthreads verhält sich Earliest Deadline First hier praktisch genauso wie Least Laxity First und muß daher auch sehr oft umschalten.


next up previous contents
Next: Ein Fahrzeug Up: Ergebnisse der dritten Versuchsreihe Previous: Gleiche Threads   Inhalt
Alexander Schulz
2000-06-18