Das Gesetz von Amdahl

Das Gesetz von Amdahl, auch bekannt als das Argument von Amdahl, werden nach dem Computerarchitekten Gene Amdahl genannt und werden verwendet, um die maximale erwartete Verbesserung zu einem gesamten System zu finden, wenn nur ein Teil des Systems verbessert wird. Es wird häufig in der Parallele verwendet, die rechnet, um die theoretische maximale Beschleunigung mit vielfachen Verarbeitern vorauszusagen.

Die Beschleunigung eines Programms mit vielfachen Verarbeitern in der parallelen Computerwissenschaft, wird als erforderlich, für den folgenden Bruchteil des Programms beschränkt. Zum Beispiel, wenn ein Programm 20 Stunden mit einem einzelnen Verarbeiter-Kern braucht, und ein besonderer Teil von 1 Stunde parallelized nicht sein kann, während der restliche viel versprechende Teil von 19 Stunden (95 %) parallelized, dann unabhängig davon sein kann, wie viele Verarbeiter wir einer parallelized Ausführung dieses Programms widmen, kann die minimale Ausführungszeit nicht weniger sein als diese kritische 1 Stunde. Folglich wird die Beschleunigung bis zu 20× beschränkt, weil das Diagramm illustriert.

Beschreibung

Das Gesetz von Amdahl ist ein Modell für die Beziehung zwischen der erwarteten Beschleunigung von parallelized Durchführungen eines Algorithmus hinsichtlich des Serienalgorithmus unter der Annahme, dass die Problem-Größe dasselbe wenn parallelized bleibt. Zum Beispiel, wenn für eine gegebene Problem-Größe eine parallelized Durchführung eines Algorithmus 12 % der Operationen des Algorithmus willkürlich schnell führen kann (während die restlichen 88 % der Operationen nicht parallelizable sind), stellt das Gesetz von Amdahl fest, dass die maximale Beschleunigung der parallelized Version Zeiten so schnell wie die non-parallelized Durchführung ist.

Mehr technisch ist das Gesetz mit der Beschleunigung beschäftigt, die von einer Verbesserung bis eine Berechnung erreichbar ist, die ein Verhältnis P von dieser Berechnung betrifft, wo die Verbesserung eine Beschleunigung von S. hat (Zum Beispiel, wenn eine Verbesserung 30 % der Berechnung beschleunigen kann, wird P 0.3 sein; wenn die Verbesserung den Teil betroffen zweimal so schnell macht, wird S 2 sein.) stellt das Gesetz von Amdahl fest, dass die gesamte Beschleunigung, die Verbesserung anzuwenden, sein wird:

:

Um zu sehen, wie diese Formel abgeleitet wurde, nehmen Sie an, dass die Laufzeit der alten Berechnung 1 für eine Einheit der Zeit war. Die Laufzeit der neuen Berechnung wird die Zeitdauer sein, die der unverbesserte Bruchteil nimmt (der 1 &minus ist; P) plus die Zeitdauer nimmt der verbesserte Bruchteil. Die Zeitdauer für den verbesserten Teil der Berechnung ist die Länge der ehemaligen durch die Beschleunigung geteilten Laufzeit des verbesserten Teils, die Zeitdauer des verbesserten Teils P/S machend. Die Endbeschleunigung wird durch das Teilen der alten Laufzeit durch die neue Laufzeit geschätzt, die ist, was die obengenannte Formel tut.

Hier ist ein anderes Beispiel. Uns wird eine folgende Aufgabe gegeben, die in vier Konsekutivteile gespalten wird: P1, P2, P3 und P4 mit den Prozentsätzen der Durchlaufzeit, die 11 %, 18 %, 23 % und 48 % beziehungsweise ist. Dann wird uns gesagt, dass P1 nicht beschleunigt wird, so wird S1 = 1, während P2 5×, P3 beschleunigt wird, 20× beschleunigt, und P4 1.6× beschleunigt wird. Durch das Verwenden der Formel

P1/S1 + P2/S2 + P3/S3 + P4/S4, wir finden, dass die neue folgende Laufzeit ist:

:

oder etwas weniger als die ursprüngliche Laufzeit. Mit der Formel ist die gesamte Geschwindigkeitszunahme 1 / 0.4575 = 2.186, oder etwas mehr als doppelt die ursprüngliche Geschwindigkeit. Bemerken Sie, wie 20× und 5× Beschleunigung viel Wirkung auf die gesamte Geschwindigkeit nicht hat, wenn P1 (11 %) nicht beschleunigt wird, und P4 (48 %) nur 1.6mal beschleunigt wird.

Parallelization

Im Fall von parallelization stellt das Gesetz von Amdahl fest, dass, wenn P das Verhältnis eines Programms ist, das parallel (d. h., Vorteil parallelization) gemacht werden kann, und (1  P) das Verhältnis ist, das parallelized nicht sein kann (bleibt Serien-), dann ist die maximale Beschleunigung, die durch das Verwenden N von Verarbeitern erreicht werden kann

:

In der Grenze weil neigt N zur Unendlichkeit, die maximale Beschleunigung neigt zu 1 / (1  P). In der Praxis wird Leistung, um Verhältnis-Fälle schnell als N zu bewerten, vergrößert, sobald es sogar einen kleinen Bestandteil (1  P) gibt.

Als ein Beispiel, wenn P 90 % ist, dann (1  P) ist 10 %, und das Problem, kann durch ein Maximum eines Faktors 10, egal wie groß der Wert von verwendetem N beschleunigt werden. Deshalb ist parallele Computerwissenschaft nur entweder für kleine Zahlen von Verarbeitern oder für Probleme mit sehr hohen Werten von P nützlich: So genannt passen peinlich Problemen an. Ein großer Teil des Handwerks der parallelen Programmierung besteht aus dem Versuchen, den Bestandteil (1 - P) zum kleinstmöglichen Wert zu reduzieren.

P kann durch das Verwenden der gemessenen Beschleunigung (SU) auf einer spezifischen Zahl von Verarbeitern (NP) geschätzt werden, der verwendet

:

P geschätzt kann dann auf diese Weise im Gesetz von Amdahl verwendet werden, um Beschleunigung für eine verschiedene Zahl von Verarbeitern vorauszusagen.

Beziehung zum Gesetz des abnehmenden Ertrags

Das Gesetz von Amdahl wird häufig mit dem Gesetz des abnehmenden Ertrags verschmelzt, wohingegen nur ein spezielle Fall, das Gesetz von Amdahl anzuwenden, 'Gesetz des abnehmenden Ertrags' demonstriert. Wenn man optimal aufpickt (in Bezug auf die erreichte Beschleunigung), was man sich verbessert, dann wird man monotonically sehen Verbesserungen vermindern, als man sich verbessert. Wenn, jedoch, man nichtoptimal, nach der Besserung eines suboptimalen Bestandteils und dem Weitergehen aufpickt, um einen optimaleren Bestandteil zu verbessern, kann man eine Zunahme dafür sehen. Bemerken Sie, dass es häufig vernünftig ist, um ein System in einer Ordnung zu verbessern, die in diesem Sinn "nichtoptimal" ist, vorausgesetzt, dass einige Verbesserungen schwieriger oder sich von der Entwicklungsdauer verzehrend sind als andere.

Das Gesetz von Amdahl vertritt wirklich das Gesetz des abnehmenden Ertrags, wenn Sie in Betracht ziehen, welche Rückkehr Sie das Hinzufügen von mehr Verarbeitern zu einer Maschine vorbeigehen, wenn Sie eine Berechnung der festen Größe führen, die alle verfügbaren Verarbeiter an ihrer Kapazität verwenden wird. Jeder neue Verarbeiter, den Sie zum System hinzufügen, wird weniger verwendbare Macht hinzufügen als die vorherige. Jedes Mal, wenn Sie die Zahl von Verarbeitern verdoppeln, wird sich das Beschleunigungsverhältnis vermindern, weil der Gesamtdurchfluss zur Grenze dessen geht.

Diese Analyse vernachlässigt andere potenzielle Engpässe wie Speicherbandbreite und Eingabe/Ausgabe-Bandbreite, wenn sie mit der Zahl von Verarbeitern nicht klettern; jedoch solche Engpässe in Betracht zu ziehen, würde dazu neigen, weiter den abnehmenden Ertrag zu demonstrieren, nur Verarbeiter hinzuzufügen.

Beschleunigung in einem folgenden Programm

Die maximale Beschleunigung in einem verbesserten folgenden Programm, wohin ein Teil Zeiten beschleunigt wurde, wird durch die Ungleichheit beschränkt

:

wo (

  • Wenn Teil B fünfmal schneller , und, dann gemacht wird
:
  • Wenn Teil A gemacht wird, zweimal so schnell , und, dann zu laufen
:

Deshalb ist das Bilden zweimal so schnell besser als das Bilden B fünfmal schneller. Die Prozentsatz-Verbesserung in der Geschwindigkeit kann als berechnet werden

:
  • Die Besserung des Teils A durch einen Faktor zwei wird gesamte Programm-Geschwindigkeit durch einen Faktor 1.6 vergrößern, der es um 37.5 % schneller macht als die ursprüngliche Berechnung.
  • Jedoch wird die Besserung des Teils B durch einen Faktor fünf, der vermutlich mehr Anstrengung verlangt, nur einen gesamten Beschleunigungsfaktor 1.25 erreichen, der es um 20 % schneller macht.

Beziehung zum Gesetz von Gustafson

John L. Gustafson hat 1988 hingewiesen, was jetzt als das Gesetz von Gustafson bekannt ist: Leute interessieren sich normalerweise für das Beheben eines festen Problems in der kürzestmöglichen Zeitspanne nicht, wie das Gesetz von Amdahl beschreibt, aber eher im Beheben des größtmöglichen Problems (z.B, der genauestmöglichen Annäherung) in einer festen "angemessenen" Zeitdauer. Wenn der non-parallelizable Teil des Problems befestigt wird, oder sehr langsam mit der Problem-Größe wächst (z.B, O (loggen Sie n)), dann können zusätzliche Verarbeiter die mögliche Problem-Größe ohne Grenze vergrößern.

Siehe auch

über

Referenzen

Links


Audiosignalverarbeitung / Am 27. April
Impressum & Datenschutz