Abteilung Informatik HTA-BE ---- Paralleles Rechnen HS 2010/2011 Probe Klausur (Klausurtermin: 13. Dezember 2010) Dozenten: Jürgen Eckerle, Peter Schwab Erlaubte Unterlagen: Folienkopien, kein Laptop Dauer der Prüfung: 90 Minuten Aufgabe 1: Das PRAM-Modell Beschreiben Sie das PRAM-Modell in wenigen Sätzen. Welche Varianten des PRAM-Modells kennen Sie? Aufgabe 2: Berechnungsbaum Im Folgenden ist sein binärer, balancierter Berechnungsbaum (Datenflussgraph) gegeben, wobei die unterste Ebene den Eingabewerten entspricht. a) Nennen Sie zwei mögliche Beispiele von parallelen Berechnungen, denen dieser Datenflussgraph zugrunde liegt. Welche Operationen werden dann jeweils an den inneren Knoten durchgeführt. b) Geben Sie an, welche der Operationen parallel ausgeführt werden können? Zu welcher parallelen Auswertungszeit führt der obige Graph unter Eingabe von n Eingabewerten, wenn ausreichend viele Prozessoren zur Verfügung stehen? c) Welches Entwurfsprinzip für parallele Algorithmen könnte zu diesem Berechnungsbaum geführt haben? Aufgabe 3: Maximumsbestimmung Gesucht ist ein Algorithmus mit paralleler Auswertungszeit von O(log(n)), der unter Eingabe von n ganzen Zahlen in einem globalen Array A das Maximum m aller Werte bestimmt und anschliessend den Wert aller A[i] auf m setzt, d. h. EIN: A[0], A[1], … A[n-1] (ganze Zahlen) OUT: A[0] = m, …, A[n-1] = m, wobei m = max{A[0](EIN), … A[n-1](EIN)} a) (5 Punkte) Geben Sie zunächst einen Berechnungsbaum (Datenflussgraphen) für die parallele Auswertung an? Welche Operationen werden jeweils an den inneren Knoten ausgeführt? b) (6 Punkte) Geben Sie einen PRAM-Algorithmus, der diese Berechnung durchführt. Geben Sie den PRAM-Algorithmus in Pseudosprache unter Verwendung des con-doend-Statements an. c) (3 Punkte) Wieviele Prozessoren benötigen Sie mindestens für die Laufzeit O(log(n))? Geben Sie für die gewählte Anzahl von Prozessoren die geleistete Arbeit, den Speedup und die Effizienz an. Aufgabe 4: Berechnung der Präfix-Summenfolge Ein Präfixgraph der Ordnung 8 ist ein spezieller Datenflussgraph für 8 Eingabewerte. Ein Präfixgraph der Ordnung 8 besitzt die Ebenen 0, 1, 2, 3. Die Knoten der Ebene 0 entsprechen den Eingabewerten. Im allgemeinen Fall, also für n=2k gilt: Der Präfixgraph besitzt k+1 Ebenen. Die Kanten des Graphen sind stets von Knoten der Ebene i, 0≤1≤k-1, zu Knoten der Ebene i+1 gerichtet, und zwar gilt, dass der Knoten j der Ebene i gerichtete Kanten zu den Knoten j, j+2i der Ebene i+1 besitzt (für alle j,0≤j≤2k-2i-1). Aufgabe: 1. Skizzieren sie einen wie oben beschriebenen Präfixgraphen. 2. Geben Sie einen PRAM-Algorithmus zur Berechnung der Präfix-Summenfolge an, dem der angegebene Präfixgraph zugrunde liegt. Der Algorithmus soll in Pseudocode unter Verwendung der con-do-end-Anweisung beschrieben werden. Aufgabe 5: Das PRAM-Modell a) Nennen Sie Vor- und Nachteile des Parallelen Rechnens. Kurze Antwort! b) Welche Vereinfachungen nimmt das PRAM-Modell bei der Beschreibung von realen Programmen vor. Aufgabe 6: Ein PRAM-Algorithmus Im folgenden ist ein PRAM-Algorithmus für Prozessor Pi(0≤i≤n-1) gegeben. Die Eingabewerte stehen in dem globalen Array A. Algorithmus fuer Prozessor i IN: A[0], ..., A[n-1] (n ganze Zahlen) OUT: ? begin for j = 0 to log(n)-1 do if (i >= 2^j) then x = A[i-2^j]; A[i] = x + A[i]; end; end; end; a) Schreiben Sie den o. g. Algorithmus in einen PRAM-Algorithmus unter Verwendung des con-do-conend-Statements um. b) Was berechnet der o. g. Algorithmus? c) Geben Sie für n Prozessoren die geleisteteArbeit, den Speedup und die Effizienz an. d) Was besagt das Amdahl’sche Gesetz? Die Anwendung des Amdahl’schen Gesetzes setzt voraus, dass der sequentielle und parallele Anteil an dem Berechnungsaufwand bekannt sind. Schätzen Sie die Grössenordnung des sequentiellen Berechnungsanteils. Könnte die obige Berechnung noch schneller erfolgen (hinsichtlich der Grössenordnung)? Begründen Sie Ihre Antwort! Aufgabe 7: Rundfunkspruch, LogP-Modell (18 Punkte) a) Erläutern Sie das Problem des Rundfunkspruchs? b) Geben Sie einen Algorithmus im LogP-Modell zur Lösung des Rundfunkspruchs an. c) Bestimmen Sie die Laufzeit ihres Verfahrens unter der Voraussetzung, dass die Parameter wir folgt gegeben sind: L = 1, o = 1, g = 5 und P = 8. Tragen Sie dazu die durchgeführten Operationen in einem Diagramm ein: auf der y-Achse wird die verstrichene Zeit eingetragen und auf der x-Achse die 8 Prozessoren.