Abteilung Informatik HTA-BE ---- Paralleles Rechnen HS 2010/2011

Werbung
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.
Herunterladen