Beim parallelen Rechnen weiß ich, dass die Beschleunigungsgleichung lautet
Aber was ist mit superlinearer Beschleunigung gemeint? Ist es etwas Theoretisches? Könnten Sie es mit Gleichungen erklären?
Beim parallelen Rechnen weiß ich, dass die Beschleunigungsgleichung lautet
Aber was ist mit superlinearer Beschleunigung gemeint? Ist es etwas Theoretisches? Könnten Sie es mit Gleichungen erklären?
Antworten:
Mit Gleichung: nicht wirklich.
Die superlineare Beschleunigung ergibt sich aus der Überschreitung der naiv berechneten Beschleunigung, selbst nachdem der Kommunikationsprozess berücksichtigt wurde (der verblasst, aber immer noch der Engpass ist).
Zum Beispiel haben Sie einen seriellen Algorithmus, der benötigt1 t ausführen. Du hast1024 Kerne, so naive Beschleunigung ist 1024 x oder es dauert t / 1024 , aber es sollte wie in Ihrer Gleichung unter Berücksichtigung der Speicherübertragung, geringfügiger Änderungen am Algorithmus und der Parallelisierungszeit berechnet werden.
Die Geschwindigkeit sollte also niedriger als 1024x sein, aber manchmal kommt es vor, dass die Geschwindigkeit größer ist, dann nennen wir ess u p e r l i n e a r .
Woher kommt es?1024 Suchende, die mehr Platz auf einmal abdecken, sodass es wahrscheinlicher ist, die Lösung schneller zu finden. Es gibt Nebenprodukte (wenn Sie Elemente wie bei der Blasensortierung austauschen und in die GPU wechseln, werden alle Paare gleichzeitig ausgetauscht, während sie nur bis zum Punkt seriell sind).
Von mehreren Stellen aus: Cache-Nutzung (was in Register, Hauptspeicher oder Massenspeicher passt, wo sehr oft mehr Verarbeitungseinheiten insgesamt mehr Register pro Unteraufgabe ergeben), Speicher-Treffer-Muster, einfach bessere (oder etwas andere) Algorithmen, Fehler in der Serie Code.
Beispielsweise wird ein zufälliger Prozess, der den Speicherplatz nach einem Ergebnis durchsucht, jetzt in unterteilt
Auf dem verteilten System ist die Kommunikation noch kostspieliger, sodass Programme geändert werden, um die Speichernutzung lokal zu gestalten (was auch den Speicherzugriff ändert und das Problem anders aufteilt als bei sequentiellen Anwendungen).
Und das Wichtigste ist, dass das sequentielle Programm nicht idealerweise mit der parallelen Version identisch ist - unterschiedliche Technologien, Umgebungen, Algorithmen usw., sodass es schwierig ist, sie zu vergleichen.
Auszug aus "Introduction to Parallel Computing" Zweite Ausgabe von Ananth Grama, 2003
Der Name "superlinear" kommt in diesem Zusammenhang also von der Definition der Beschleunigung.
quelle
Meine Laienerklärung kann bei der Vorstellung helfen, wie es funktioniert.
Bestimmte Arten von Algorithmen führen zu einer superlinearen Beschleunigung, wenn die HPC-Verbindungsarchitektur es ermöglicht, Referenzen zwischen internen Zuständen von Kernen zu haben. Der Grund ist informationstheoretisch (und thermodynamisch) und kann einfach mit der folgenden Beschreibung erklärt werden.
Nehmen Sie zwei Systeme mit jeweils 3 Bits möglicher Zustände:
011
und101
Die maximale Anzahl möglicher Zustände dieses Systems beträgt 2 * 2 ^ 3 = 16.
Kombinieren wir nun diese beiden Ensembles zu einem zusammengesetzten Ensemble mit einfach 6 Bits möglichen Zustandsraums:
011101
Die maximale Anzahl möglicher Zustände dieses Systems beträgt 2 ^ 6 = 64. Das kombinierte System verfügt über eine verfügbare Entropieerhöhung von 64/16 = 4-fach.
Die Zusammensetzung von Ensembles mit einer größeren Vielfalt interner Zustände führt zu exponentiell größeren "Beschleunigungen", da Kerne hypothetisch mehr gegenseitige Referenzen haben können.
In der Chemie wird Energie freigesetzt, wenn Systeme kombiniert werden (denken Sie an Kernfusion). Diese Energie kommt genau aus der Möglichkeit, mehr Zustände für kombinierte Systeme anzusprechen.
Die Quellen, die ich gelesen habe, beschreiben alle parallele Algorithmen auf isolierten Kernen, bei denen es keine Möglichkeit gab, gegenseitige Referenzen zwischen Zustandsbits verschiedener Kerne zu haben. Unter dem Gesichtspunkt der Entropiezunahme kombinierter Zustände kann ich mir vorstellen, wie eine superlineare Beschleunigung möglich ist.
Informationstheoretische Details finden Sie unter "Das Mischparadoxon" im Wikipedia-Artikel https://en.wikipedia.org/wiki/Gibbs_paradox zur genauen thermodynamischen Natur dieses Verhaltens.
Dies hat einige philosophische Implikationen für die Mensch-Mensch-Kommunikation und die Bedeutung von Live-Sprachgesprächen im Vergleich zum Schreiben von Text und Lesen von Büchern.
quelle