Alltag

Speedup nach dem Amdahlschen Gesetz berechnen

Geben Sie den parallelisierbaren Anteil des Programms und die Zahl der Kerne ein. Optional berechnet der Rechner aus einem gemessenen Speedup den tatsächlichen seriellen Anteil.

Programm und Hardware
0 eingeben, wenn keine Messung vorliegt.
Ergebnis

Was das Amdahlsche Gesetz aussagt

Mehr Prozessorkerne machen ein Programm nur so weit schneller, wie seine Arbeit parallel erledigt werden kann. Der Computerarchitekt Gene Amdahl hat 1967 gezeigt, dass der serielle Rest die Beschleunigung grundsätzlich begrenzt. Läuft ein Programm zu 95 Prozent parallel, bleibt der restliche Anteil von 5 Prozent immer gleich lang, egal wie viele Kerne zur Verfügung stehen. Mehr als das Zwanzigfache ist dann nicht möglich.

Der Rechner bestimmt den Speedup, also das Verhältnis der Laufzeit auf einem Kern zur Laufzeit auf n Kernen, und die Effizienz pro Kern. Er zeigt außerdem den theoretischen Höchstwert bei unendlich vielen Kernen und die Kernzahl, mit der die Hälfte davon erreicht wird. Ab diesem Punkt bringt jeder weitere Kern nur noch wenig.

Ergänzend berechnet er den skalierten Speedup nach John Gustafson. Dessen Gesetz von 1988 geht davon aus, dass mit mehr Kernen auch größere Probleme gerechnet werden und der serielle Anteil dabei gleich lang bleibt.

Amdahl: S=1(1−p)+pn; Gustafson: S=(1−p)+p×n; Karp-Flatt: e=1S−1n1−1n\text{Amdahl}:\ S = \frac{1}{\left(1 - p\right) + \frac{p}{n}};\ \text{Gustafson}:\ S = \left(1 - p\right) + p \times n;\ \text{Karp-Flatt}:\ e = \frac{\frac{1}{S} - \frac{1}{n}}{1 - \frac{1}{n}}

Beispiel: 95 Prozent paralleler Anteil auf 8 Kernen: S = 1 ÷ (0,05 + 0,95 ÷ 8) = 1 ÷ 0,16875 = 5,93. Die Effizienz pro Kern liegt bei 74,1 Prozent, das Maximum bei unendlich vielen Kernen beim 20-Fachen, die Hälfte davon erreichen 19 Kerne. Nach Gustafson ergibt sich 7,65. Wird tatsächlich nur ein Speedup von 5 gemessen, beträgt der serielle Anteil nach Karp-Flatt 8,57 Prozent.

Amdahl oder Gustafson, Theorie und Messung

Beide Gesetze widersprechen sich nicht, sie beantworten verschiedene Fragen. Amdahl gilt, wenn eine feste Aufgabe schneller erledigt werden soll, etwa das Rendern eines Bildes oder das Kompilieren eines Projekts. Gustafson gilt, wenn mit mehr Rechenleistung in gleicher Zeit mehr geschafft werden soll, etwa feinere Gitter in einer Simulation. Für Desktop-Anwendungen ist meist Amdahl die realistischere Sicht, für Hochleistungsrechnen oft Gustafson.

In der Praxis liegt der gemessene Speedup häufig unter dem Wert nach Amdahl. Gründe sind Kommunikation zwischen Threads, Sperren auf gemeinsamen Daten, ungleich verteilte Arbeit und begrenzte Speicherbandbreite. Die Karp-Flatt-Metrik rechnet einen gemessenen Speedup in einen effektiven seriellen Anteil um. Steigt dieser Wert mit zunehmender Kernzahl, wächst der Verwaltungsaufwand, und weitere Kerne lohnen sich kaum.

Den parallelen Anteil schätzen Sie am besten mit einem Profiler: Messen Sie, wie viel Zeit in Abschnitten verbracht wird, die sich verteilen lassen, und wie viel in seriellen Teilen wie Einlesen, Initialisierung oder Zusammenführen der Ergebnisse. Schon kleine serielle Reste wirken stark: Bei 99 statt 95 Prozent steigt die Grenze vom 20- auf das 100-Fache.

Hyperthreading-Kerne zählen nicht als volle Kerne, da sie sich Recheneinheiten teilen. Für Durchsatzfragen bei Netzwerken eignen sich der Rechner für das Bandbreite-Verzögerungs-Produkt und der MTU-Overhead-Rechner, für Bitoperationen der Bitoperationen-Rechner.

Tipps und typische Fehler

Parallel optimieren.

  • Serie: Zuerst kürzen.
  • Messen: Profiler.
  • Skalieren: Gustafson.
  • Kerne: Nicht blind erhöhen.

Mehr zum Thema Computer, Daten und Webdesign

Häufige Fragen

Was ist das Amdahlsche Gesetz?

Eine Formel, die den maximalen Speedup eines Programms aus seinem parallelen Anteil und der Kernzahl bestimmt.

Warum bringen mehr Kerne irgendwann nichts mehr?

Weil der serielle Anteil gleich lang bleibt und die Gesamtlaufzeit nach unten begrenzt.

Was ist der Unterschied zu Gustafson?

Gustafson nimmt an, dass die Problemgröße mit der Kernzahl wächst, Amdahl eine feste Aufgabe.

Was ist Effizienz beim Parallelisieren?

Der Speedup geteilt durch die Kernzahl.

Wie finde ich den parallelen Anteil?

Mit einem Profiler die Laufzeit der Programmteile messen.

Auch gesucht als:
  • Amdahl Gesetz berechnen
  • Speedup berechnen
  • Gustafson Gesetz
  • parallele Effizienz
  • Karp Flatt Metrik
  • Speedup Kerne
Diesen Rechner auf Ihrer Website einbinden

Kostenlos für Blogs, Vereine, Schulen und Unternehmen. Fügen Sie den Code in Ihre Seite ein, zum Beispiel als HTML-Block in WordPress.

Der Rechner läuft in einem Rahmen, setzt keine Cookies und speichert keine Eingaben. Bitte lassen Sie den Quellenlink unter dem Rahmen stehen. Höhe bei Bedarf anpassen.

Alle Berechnungen erfolgen direkt in Ihrem Browser, Ihre Eingaben werden nicht übertragen oder gespeichert. Die Ergebnisse sind Orientierungswerte ohne Gewähr und ersetzen keine steuerliche, rechtliche oder finanzielle Beratung. Die Erklärtexte auf dieser Seite wurden mit KI erstellt. Letzte inhaltliche Änderung dieser Seite: . Mehr dazu: So entstehen und prüfen wir die Rechner.