Ubungen zur Vorlesung Kommunikation in Parallelen

Werbung
Rolf Wanka
Erlangen, 22. Oktober 2008
Übungen zur Vorlesung
Kommunikation in Parallelen Rechenmodellen
WS 2008/2009
Blatt 1
Während eines Kommunikationsschrittes darf jeder Prozessor höchstens eine Botschaft senden und eine Botschaft empfangen.
Unter dem Begriff des Permutationsrouting verstehen wir folgenden Vorgang: Gegeben sei ein ProzessorNetzwerk mit Prozessormenge {P0 , . . . , Pn−1 } und eine Permutation π der Zahlen 0, . . . , n − 1. Jeder Prozessor Pi hat ein Paket I(i) und den Wert π(i) gespeichert. Die Aufgabe besteht darin, für alle i ∈ {0, . . . , n − 1}
das Paket I(i) zum Prozessor Pπ(i) zu schicken.
AUFGABE 1:
Ein Ring der Größe n ist ein Prozessor-Netzwerk mit Prozessormenge {P0 , . . . , Pn−1 } und einem Kommunikationsgraphen, in dem jeder Prozessor Pi mit P(i+1) mod n verbunden ist.
Beschreiben Sie einen Algorithmus, der das Permutationsrouting auf einem Ring der Größe n mit konstanter
Puffergröße und möglichst geringer Laufzeit löst. In der Analyse sollte keine O-Notation benutzt werden.
AUFGABE 2:
Wie kann man einen Ring mit n Prozessoren auf einem n-Array M(n, 1) mit Zeitverlust 4 (d.h. aus je einem
Schritt auf dem Ring werden je vier Schritte auf dem Array) simulieren?
AUFGABE 3:
Beweisen Sie die folgenden Eigenschaften des Gitters M(n, d). Seien Sie dabei so formal wie nötig, ohne
dabei zu formal zu sein.
a) M(n, d) hat dnd − dnd−1 Kanten.
∼
b) M(n, d)
= M(n, d − 1) für d > 0, und i, ℓ fest.
{ā|ai =ℓ}
c) M(n, d)
{ib̄|i∈[n]}
∼
= M(n, 1) für b̄ ∈ [n]d−1 fest.
Für einen Graphen G = (V, E) und eine Knotenmenge U ⊆ V bezeichnet dabei G den Teilgraphen, der
U
entsteht, wenn man in G alle Knoten, die nicht in U liegen, mitsamt den zu ihnen inzidenten Kanten löscht.
AUFGABE 4:
Beschreiben Sie für die beiden untenstehenden Netzwerke jeweils einen Algorithmus, der das folgende
leistet: Der Prozessor P0 hat m verschiedene Pakete gespeichert. Alle diese Pakete sollen an alle anderen
Prozessoren geschickt werden. Diese Operation heißt Broadcasting. Bestimmen die genaue Laufzeit Ihrer
Algorithmen.
a) Lineares Array der Länge n, d. h. M(n, 1).
b) Vollständiger binärer Baum der Tiefe n. Der Prozessor P0 ist die Wurzel.
AUFGABE 5:
Beschreiben Sie einen Algorithmus für das Permutationsrouting auf dem Gitter M(n, 2). Bestimmen Sie
dessen Laufzeit und die maximale Puffergröße.
Herunterladen