next up previous contents
Next: Erweiterungen zu Guaranteed Percentage Up: Scheduling-Verfahren Previous: Bewertung   Inhalt


Praktische Fälle

In der Praxis sind insbesondere Fälle interessant, die über die in Abschnitt 2.5.1 genannten Voraussetzungen hinausgehen, bei denen also die Deadline nicht gleich der Periode ist oder Blockierungen auftreten können.

Das erste Problem sind Threads, bei denen die Deadline nicht gleich der Periode ist. In der Theorie werden solche Threads durch den schlechtesten Fall abgeschätzt. Sie werden so betrachtet, als sei ihre Periode auf ihre Deadline vorgezogen. Weil der Thread dann einen viel höheren Bedarf an Rechenzeit hat, als in einem realen System, wird die Auslastung des Prozessors sehr gering.

In Abschnitt 2.5.5.1 wurde schon gesagt, daß der EDF-Algorithmus mit diesen Threads in vielen Fällen zurecht kommt, wenn man auch nicht garantieren kann, daß dann noch alle Deadlines eingehalten werden. Bei Rate-Monotonic müsste ein solcher Thread die höchste Priorität bekommen. Dann könnte er problemlos mit eingeplant werden, solange die Gesamtauslastung nicht zu hoch wird. Mehrere solche Threads könnten auf diese Weise aber nicht sicher behandelt werden.

Größere Probleme treten bei Guaranteed Percentage auf. Will man den Thread mit den Standardmitteln dieses Verfahrens einplanen, so müsste er einen sehr hohen Prozentsatz zugewiesen bekommen. Will man ihn dennoch einplanen, ohne allzuviel Performance zu verlieren, muß man ihn als Sonderfall betrachten, der für kurze Zeit sehr viel Rechenzeit bekommt. An dieser Stelle macht sich aber die lokale Sichtweise des Guaranteed Percentage bemerkbar, die es schwierig macht, solche Verzerrungen in der Zuteilung später wieder auszugleichen. Darauf wird in Abschnitt 2.6 genauer eingegangen.

Das zweite Problem stellen Blockierungen dar. Wenn ein Thread durch einen anderen blockiert ist, kann er während dieser Zeit keine Rechenzeit bekommen.

Bei Rate-Monotonic treten nur Probleme auf, wenn ein Thread mit niedriger Priorität einen mit höherer Priorität blockiert. In einem solchen Fall wird die Priorität des höheren an den niedrigeren vererbt, so daß der schneller fortschreiten und den höher priorisierten wieder freigeben kann.

EDF behandelt auch Blockierungen ohne zusätzlichen Aufwand, aber auch hier kann man nicht für die Einhaltung der Deadlines garantieren.

Guaranteed Percentage macht aufgrund seiner lokalen Sichtweise auch hier die meisten Probleme. Es wäre aber auch hier möglich, den Prozentsatz des blockierten Thread an den blockierenden Thread zu vererben, diesem also zusätzlich Rechenkapazität zur Verfügung zu stellen.


next up previous contents
Next: Erweiterungen zu Guaranteed Percentage Up: Scheduling-Verfahren Previous: Bewertung   Inhalt
Alexander Schulz
2000-06-18