Parallele Algorithmen

Werbung
4. Aufgabenblatt zur Vorlesung
SS 2012
Helmut Alt, Claudia Dieckmann
Parallele Algorithmen
Abgabe 14.5.2012, 10 Uhr
Aufgabe 1
6 Punkte
(a) Zeigen Sie, wie man das in der Herleitung von Brent’s Theorem ignorierte Problem der Prozessorallokation einer PRAM mit p Prozessoren für feste Eingabegröße n lösen kann, wenn der ursprüngliche parallele Algorithmus durch einen
Schaltkreis (DAG) der Größe W (n) und der Tiefe T (n) gegeben ist.
(b) Welche Probleme treten auf, wenn auch der ursprüngliche Algorithmus durch
eine PRAM gegeben ist?
Aufgabe 2
7 Punkte
Betrachten Sie folgendes Netzwerk CCCd für d ∈ N:
Die Knoten sind mit (α0 , ..., αd−1 , k) nummeriert, wobei αi ∈ {0, 1} für i = 0, ..., d−1
und k ∈ {0, ..., d − 1}. Jeder Knoten (α0 , ..., αd−1 , k) ist verbunden mit den drei Knoten (α0 , ..., αd−1 , (k−1) mod d), (α0 , ..., αd−1 , (k+1) mod d) und (α0 , .., αk , .., αd−1 , k).
n sei die Gesamtzahl der Knoten.
(a) Zeichnen Sie CCC3 .
(b) Was ist der Durchmesser von CCCd als Funktion von n?
(c) Angenommen, in den Knoten von CCCd befinden sich Prozessoren, in denen
anfangs je eine Zahl abgespeichert ist. In einem Schritt kann ein Prozessor, der
eine konstante Speichergröße hat (z.B. 4), eine Zahl entlang einer Verbindungskante zu einem Nachbarn schicken oder zwei Zahlen addieren. Beschreiben Sie
einen effizienten Algorithmus für dieses Modell, um die Summe der n Zahlen zu
berechnen. Was sind die parallele Laufzeit T (n) und der Gesamtaufwand W (n)
von diesem Algorithmus?
Aufgabe 3
7 Punkte
Betrachten Sie ein n × n-Gitter von Prozessoren Pi,j , 1 ≤ i, j ≤ n. Dabei ist Pi,j
mit Pi±1,j±1 verbunden, sofern diese Indizes existieren. Die Prozessoren seien in der
Lage, konstant viele Zahlen zu speichern und in einem Schritt eine Zahl entlang
einer Kante zu einem Nachbarn zu schicken oder zwei Zahlen zu addieren oder zu
multiplizieren.
(a) Anfangs enthalte jeder Prozessor Pi,j den Eintrag ai,j einer n × n-Matrix A.
Geben Sie einen bezüglich der Laufzeit auf dem n × n-Gitter asymptotisch
optimalen Algorithmus zum Transponieren dieser Matrix an.
(b) Anfangs enthalte jeder Prozessor Pi,j die Einträge ai,j , bi,j zweier n×n-Matrizen
A und B. Geben Sie einen bezüglich der Laufzeit auf dem n × n-Gitter asymptotisch optimalen Algorithmus zur Multiplikation dieser Matrizen an.
Herunterladen