Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
Wie kann man das Problem lösen?
PRAM nutzlos?
Laufzeitanalyse
im Detail
α: Zeit für die arithmetischen Operationen
β: Zeit zur Kommunikation zwischen Prozessoren
Ableitung nach p
Für ineffektiv
:
Einfachheitshalber ist n vielfaches von p
Mittlerer Prozessor empfängt Ergebnisse
: Lokale Berechnungen
: Akkumulation der Ergebnisse
Laufzeitberechnung nach optimaler Größe p
Größe Eingabe n
Anzahl Prozessoren p
Kommunikationsparameter
Nicht analytisch lösbar
Zeilenorientiert:
Spaltenorientiert:
Einzel-Akkumulationsoperation in log p
Beispiel
Matrix wird mit Vektor multipliziert
Weiterentwicklungen
Phasen-PRAM versucht die Synchronität durch Phaseneinteilung zu beseitigen. Prozessoren arbeiten innerhalb einer Phase asynchron.
Verzögerungs-PRAM versucht Verzögerungszeiten zu modellieren.
zum Glück nicht!
die Speicherzelle s erhält den folgenden Wert :
(jede Multipräfixoperation braucht für die Ausführung zwei Zyklen)
Betrachten eine MPADD-Operation (eines SB-RAM). Ausführung erfolgt auf einer Speicherzelle (s), welche mit dem Wert vorbesetzt ist. Jeder Prozessor (1 < i < n) stellt dabei einen eigenen Wert bereit. Sodass jeder Prozessor aufgrund der synchronen Ausführen den folgenden Wert erhält.
Ist die Vorhersage realistisch?
Kosten
NEIN
jetzt zum Wesentlichen
Variante 1 :
Variante 2:
Variante 3:
Prozessoren wird in die Speicherzelle
geschrieben
Variante 4:
Schreiben derselben Speicherzelle?
was passiert aber beim simultanen
-> einfacher für Softwareentwickler
Aus welchen Einzelteilen besteht ein BSP-Modell?
Synchronisationsmechanismus kann maximal alle L Zeiteinheiten synchronisieren Superschritt dauert mindestens L
Zeiteinheiten
http://dooki.com/supercomputers/sgi/challenge/sgi.power_challenge.gif
Hello World dynamic
Die Berechnung besteht aus einer Folge von Superschritten
lokale Berechnungen durch-
geführt
erst im nächsten Super-
schritt benutzt werden
Hello World static
Superschritte
BSPlib
Die Ausführungszeit eines BSP-Programms setzt sich aus der Summer der Ausführungszeiten der Superschritte zusammen
Prozessor maximal h Nachrichten empfangen/versenden kann
innerhalb einer h-Relation gebraucht werden
Das Ausführen einer h-Relation mit m Worten pro Nachricht
benötigt Schritte.
Ausführungszeit eines Superschrittes setzt sich wie folgt zusammen :
1) Maximum der Dauer der lokalen Berechnungen von jedem Prozess
2) Kosten der globalen Kommunikation für die h-Relation
3) Kosten für die Barrier-Synchronisation
sodass man auf folgende Formel kommt :
Der Router
Kosten
Kritik am BSP-Modell:
sein, um beliebige h-Relationen auszuführen
Superschritt verfügbar
Inhalt :
Zwischen zwei Prozessoren dürfen maximal
Nachrichten unterwegs sein
Beim LogGP-Modell wird ein zusätzlicher Parameter G eingeführt (Gap per Byte). Dieser gibt an, wie viele Zeiteinheiten aufgewendet werden müssen, um die Nachricht erfolgreich zu verschicken. Dabei ist die Bandbreite pro Prozessor. Die Zeit für das Verschicken einer Nachricht mit n Byte beträgt :
Nachteil: nur kleine Nachrichten konnten verschickt werden
LogGP-Modell
dem Empfangen und versenden einer Nachricht vergehen muss
Kommunikationsverhalten
überschritten wird ?
Was passiert wenn diese Größe
Zeiteinheiten
Das LogP-Modell erwartet kurze Nachrichten, somit muss eine zu große Nachricht zerlegt werden.
Die Zustellung einer Folge von n Nachrichten dauert
Was ist wenn die Nachricht an sich groß ist?
Zeiteinheiten
Ein Zugriff auf einen ein Element im Speicher eines anderen Prozessors dauert
Wenn diese zuvor genannte Anzahl überschritten wird,
wird derjenige Prozessor blockiert, bis er die Nachricht
ohne Überschreitung schicken kann
hat dies ?
Die Laufzeit wird durch das Maximum der Laufzeiten der einzelnen Prozessoren bestimmt
Was für eine Laufzeit
Kosten
Parallele Berechnungsmodelle
SPEC
Pentium 4, 3,2 GHz: 6,4 GFLOPS
Core i7, 3,2 GHz, 4 Kerne: 51,2 GFLOPS
Core i7 Sandy-Bridge, 3,4 GHz, 4 Kerne: 102,5 GFLOPS
Desktop Benchmarks
FLOPS = CPU-Takt × Prozessorkerne × Instruktionen je Takt × CPUs im Rechenknoten
Best-Case-Abschätzung
Ausführung von FMADD-Befehlen in einer Schleife auf DP-FP
FLOPS
SPEC CPU 2006 :
Gewichtete Werte nicht möglich, da verschiedene Betriebe verschieden rechnen könnten
Angenommen der SPECRatio vom Computer A wäre 1.25 Mal höher als der vom Computer B
Da SPECRatio keine Einheit besitzt, muss ein geometrisches Mittel gebildet werden
von Artemij Voskobojnikov
und Oliver Junk