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.