Amdahlsches vs. Gustafsonsches Gesetz: Annahmen und Skalierung
Beide Gesetze schätzen ab, wie viel schneller ein Programm mit mehr Prozessoren wird, beruhen aber auf unterschiedlichen Annahmen. Das Amdahlsche Gesetz hält die Problemgröße fest und betrachtet, wie dieselbe Arbeit schneller erledigt wird; daher bestimmt der nicht parallelisierbare Anteil die Obergrenze der Beschleunigung. Das Gustafsonsche Gesetz hält die Laufzeit fest und betrachtet, dass mit mehr Prozessoren entsprechend größere Probleme gelöst werden; daher wächst die Beschleunigung nahezu proportional zur Prozessorzahl. Die beiden widersprechen sich nicht, sondern beantworten unterschiedliche Fragen.
| Merkmal | Amdahlsches Gesetz | Gustafsonsches Gesetz |
|---|---|---|
| Was festgehalten wird | Problemgröße (gesamte Arbeitsmenge) | Laufzeit (Arbeitsmenge pro Prozessor) |
| Fragestellung | Wie viel schneller lässt sich dasselbe Problem lösen? | Wie viel größere Probleme lassen sich in derselben Zeit lösen? |
| Formel (N = Prozessorzahl) | S = 1 / ((1 − p) + p / N) | S = s + (1 − s) × N = N − s × (N − 1) |
| Messung der Anteile | p ist der Zeitanteil des parallelisierbaren Teils bei Ausführung auf 1 Prozessor | s ist der Zeitanteil des sequenziellen Teils bei paralleler Ausführung auf N Prozessoren |
| Bei wachsendem N | Sättigt bei 1 / (1 − p) | Wächst nahezu proportional zu N weiter |
| Rechenbeispiel | Bei p = 0,95 etwa 17-fach für N = 100; selbst für N gegen unendlich höchstens 20-fach | Bei s = 0,05 etwa 95-fach für N = 100 |
| Zugehörige Skalierung | Starke Skalierung | Schwache Skalierung |
| Sichtweise | Pessimistisch. Schon ein kleiner sequenzieller Anteil bestimmt die Obergrenze | Optimistisch. Mit größeren Problemen zahlt sich Parallelisierung aus |
| Passende Beispiele | Wenn eine Eingabe fester Größe sofort verarbeitet werden soll. Etwa die Bearbeitung eines einzelnen Bildes oder interaktive Antworten | Simulationen mit feinerem Gitter oder wenn größere Daten oder Modelle in derselben Zeit verarbeitet werden sollen |
| In beiden nicht berücksichtigt | Kommunikations- und Synchronisationsaufwand, ungleiche Lastverteilung, unzureichende Speicherbandbreite | Kommunikations- und Synchronisationsaufwand, ungleiche Lastverteilung, unzureichende Speicherbandbreite |
Die Zahlenwerte sind typische Größenordnungen und variieren je nach Prozessgeneration und Produkt.