Gustafsons Gesetz (skalierter Speedup)
Skalierter Speedup bei wachsender Problemgröße: S = (1 − p) + p · n. Optimistischer als Amdahl, da mit n auch die Arbeit pro Prozessor mitwächst.
Gustafsons Gesetz (skalierter Speedup) berechnen
Skalierter Speedup bei wachsender Problemgröße: S = (1 − p) + p · n. Optimistischer als Amdahl, da mit n auch die Arbeit pro Prozessor mitwächst.
- S — Skalierter Speedup
- n — Prozessoren
- p — Paralleler Anteil
Worum geht es?
Gustafsons Gesetz ist die optimistische Gegenposition zu Amdahl. Statt von einer festen Problemgröße auszugehen, nimmt Gustafson an, dass mit der Anzahl der Prozessoren auch die parallel zu verarbeitende Arbeit wächst. Typisch bei wissenschaftlichen Simulationen: Mehr Cores → feineres Gitter, mehr Zeitschritte.
Der entscheidende Unterschied: Amdahl misst „Wie viel schneller mit n Cores für dasselbe Problem?", Gustafson misst „Wie viel größeres Problem in derselben Zeit?". Beide Sichtweisen sind richtig, aber sie beschreiben verschiedene Szenarien.
Die Formel
S = (1 − p) + p · n
Umstellungen:
n = (S − (1 − p)) / p
p = (S − 1) / (n − 1)Die Variablen
| Symbol | Bedeutung | Einheit | Erklärung |
|---|---|---|---|
| p | Paralleler Anteil | Parallelisierbarer Anteil (0–1). | |
| n | Prozessoren | Anzahl Prozessoren. | |
| S | Skalierter Speedup | Erreichbarer skalierter Speedup. |
Minimal-Beispiel
p = 0,8, n = 4.
S = 0,2 + 0,8 · 4
= 0,2 + 3,2
= 3,4Praxis-Beispiele
Beispiel 1 — Großer Cluster
p = 0,95, n = 64.
S = 0,05 + 0,95 · 64
= 0,05 + 60,8
= 60,85Beispiel 2 — Parallelen Anteil bestimmen
Gemessen: S = 7,2 bei n = 8.
p = (7,2 − 1) / (8 − 1)
= 6,2 / 7
≈ 0,886Beispiel 3 — Benötigte Prozessoren
Ziel S = 50, p = 0,9.
n = (50 − 0,1) / 0,9
≈ 55,4 ⇒ 56 Prozessoren