Start

Was bedeutet Prozessorlast?

Definition von Last

Wenn man sich fragt, wie stark ein bestimmtes Objekt ausgelastet ist, sei es ein Mitarbeiter in einem Betrieb oder ein Prozessor in einem Computer, so betrachtet man immer einen bestimmten Zeitraum und prüft nach, wie lange das Objekt in diesem Zeitraum arbeitet und wie lange es Pausen macht. Dabei wird (anders als bei echten Arbeitern) angenommen, dass das betrachtete Objekt die Arbeitsvorgänge immer in exakt der gleichen Geschwindigkeit ausführt.

Die betrachteten Zeiträume, in denen auf einem Computer Aufgaben (das Ausführen des Codes der laufenden Programme) auf die einzelnen Prozessoren verteilt werden, sind sehr kurz. Bei den meisten Systemen liegt dieses Zeitintervall bei 10 ms (0,01 Sekunden), auch bei macOS. Ein Prozessorkern mit 2,5 GHz kann in diesem Zeitraum 25 Millionen Teilarbeitsschritte ausführen.

Angenommen, ein Prozessor erledigt die ihm für den aktuellen Verplanungszeitraum gegebene Arbeit innerhalb von 2 ms. Er hatte für die Aufgabe 10 ms Zeit, nach 2 ms war er fertig, d.h. bis er die nächste Aufgabe bekommt, ist er 8 ms untätig. In diesem Fall läge seine Auslastung bei 20 %.

Ist ein Kern voll ausgelastet, also zu 100 %, so heißt das, dass er keine Pause gemacht hat. In den gegebenen 10 ms hat er ständig gearbeitet und konnte die gestellte Aufgabe nicht beenden, so dass er auch im nächsten Zeitintervall noch weiterarbeiten muss.

Dass ein Kern nicht voll ausgelastet ist, liegt in der Praxis nicht daran, dass die im Zeitabschnitt verplanten Aufgaben „zu einfach“ sind. Normalerweise kann ein Prozessor deshalb nicht weiterarbeiten, weil er auf das Eintreffen von Daten warten muss, die Andere ihm zur Verfügung stellen, z.B. ein anderer Prozessor oder ein Gerät, wie Hauptspeicher, Plattenspeicher, Netzwerkanschluss, usw. Bei einem interaktiven Programm, also einem Prozess, der direkt mit dem Benutzer kommuniziert, wartet der Prozessor die meiste Zeit auf den Benutzer vor dem Bildschirm, der quasi mehrere Millionen mal langsamer arbeitet, als er selbst.

Zu Zeiten der Untätigkeit, also wenn im anfänglichen Beispiel der Prozessor 0,002 Sekunden arbeitet und dann 0,008 Sekunden auf den nächsten Auftrag warten muss, gehen moderne Prozessorkerne üblicherweise in einen Standby-Modus. Die meisten Teile des Kerns werden für die 0,008 Sekunden abgeschaltet und von der Stromversorgung getrennt. Dadurch sinkt der Energieverbrauch in ähnlichem Maße wie es der Auslastung entspricht. Auch die Betriebstemperatur wird hierdurch stark reduziert.

Gesamtlast

Bisher haben wir die Auslastung eines einzelnen Prozessors betrachtet. Aktuelle Computer besitzen jedoch mehrere Prozessoren. Wie berechnet man nun die Gesamtlast, die auf dem ganzen Computer liegt, nicht nur auf den einzelnen Prozessoren? Wir betrachten der Einfachheit halber einen Computer mit 2 Prozessoren und stellen uns vor, eine gestellte Aufgabe könnte beliebig auf die beiden Prozessoren verteilt werden.

Wenn nur ein Prozessor die Arbeit macht und damit voll ausgelastet ist, während der andere überhaupt nichts tut, ist es leicht einzusehen, dass die Gesamtlast des Computers hier bei 50 % läge. Er arbeitet nur mit 1 Prozessor von 2, also nur zur Hälfte. Er könnte die doppelte Aufgabe in der gleichen Zeit erledigen, wenn der zweite Prozessor ebenso voll ausgelastet wird. Hat also der eine Prozessor 100 % Last und der andere 0 %, so liegt die gesamte Last bei 50 %.

Die Lastverteilung ist in diesem Fall ungleichmäßig und nicht „gerecht“. Beide Prozessoren könnten sich die Gesamtlast gleichmäßig teilen, dann würden beide mit 50 % Last laufen. Sicher können Sie sich leicht vorstellen, dass einer auch 75 % der Arbeit erledigen könnte, dann bleiben für den anderen nur 25 % übrig. Wir verzichten hier auf eine exakte mathematische Begründung, aber es lässt sich leicht einsehen, dass das „richtige“ Maß für die Gesamtlast eines Computers der Durchschnitt (arithmetischer Mittelwert) der Last auf allen Prozessoren ist.