Der Scheduler wählt einen Thread nur dann zur Bearbeitung aus, wenn sich eine bestimmte minimale Anzahl von Bytes im Befehlsfenster dieses Thread befindet. Diese Anzahl ist mindestens eins, da aus einem leeren Fenster nichts ausgeführt werden kann. Man kann sie aber auch auf höhere Werte festlegen.
Die Festlegung der Untergrenze auf drei bringt leichte Verbesserungen des Ergebnisses, insbesondere bei kleinem Befehlsfenster, wie in Abbildung 3.6, oder bei hohem Anteil an Speicherbefehlen. Die Anzahl der Leerzyklen wird verringert, da eher ein nicht so hoch priorisierter Thread ausgeführt wird, der aber sicher ausgeführt werden kann, als der höchstpriorisierte, wenn dieser zu einem Unterlaufen seines Befehlsfensters führen könnte.
Das führt natürlich dazu, daß ein exklusiv laufender Thread benachteiligt wird, da es vorkommen kann, daß sich nur ein Byte im Befehlsfenster befindet, so daß der Scheduler den Thread nicht ausführt, auch wenn es sich um einen Befehl handelt, der nur ein Byte lang ist. Dies kommt aber selten vor, weil in diesem Fall auch nur Befehle für diesen einen Thread aus dem Speicher geladen werden, das Fenster also meistens sehr voll ist.
Es gibt also drei Möglichkeiten, mit der Untergrenze umzugehen:
Für die späteren Versuche über Latenzen und Echtzeitverhalten wird diese Grenze daher auf drei festgelegt.