/ Performance & Benchmarking

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)
01 · Eingabe

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.

Lösen für
S = (1 p) + p · n

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

Formel Gustafsons Gesetz
S = (1 − p) + p · n

Umstellungen:
    n = (S − (1 − p)) / p
    p = (S − 1) / (n − 1)

Die Variablen

SymbolBedeutungEinheitErklärung
pParalleler AnteilParallelisierbarer Anteil (0–1).
nProzessorenAnzahl Prozessoren.
SSkalierter SpeedupErreichbarer skalierter Speedup.

Minimal-Beispiel

p = 0,8, n = 4.

Rechnung Speedup
S = 0,2 + 0,8 · 4
  = 0,2 + 3,2
  = 3,4

Praxis-Beispiele

Beispiel 1 — Großer Cluster

p = 0,95, n = 64.

Rechnung Speedup
S = 0,05 + 0,95 · 64
  = 0,05 + 60,8
  = 60,85

Beispiel 2 — Parallelen Anteil bestimmen

Gemessen: S = 7,2 bei n = 8.

Rechnung p
p = (7,2 − 1) / (8 − 1)
  = 6,2 / 7
  ≈ 0,886

Beispiel 3 — Benötigte Prozessoren

Ziel S = 50, p = 0,9.

Rechnung Prozessoren
n = (50 − 0,1) / 0,9
  ≈ 55,4 ⇒ 56 Prozessoren