Parallele Algorithmen

In diesem Kapitel geht es um den Einsatz nicht nur eines, sondern vieler Prozessoren zur Lösung eines Problems. Es wird dabei von dem Modell einer PRAM (Parallel Random Access Machine) ausgegangen, bei der jeder Prozessor einen lokalen Speicherplatz besitzt, und außerdem noch ein gemeinsamer Speicher existiert. Ein Rechenschritt einer PRAM geht dann wie folgt vor sich:

  1. Einlesen eines Datums vom gemeinsamen Speicher in den lokalen Speicher (Lesephase)
  2. Durchführung der (konstant vielen) Rechenoperationen (Rechenphase)
  3. Schreiben eines Datums vom lokalen Speicher in den gemeinsamen Speicher (Schreibphase)

In Bezug auf die Lese- und Schreibzugriffe kann man eine PRAM in unterschiedliche Klassen einteilen: Eine CR-PRAM (Concurrent Read) erlaubt gleichzeitige Lesezugriffe, eine CW-PRAM (Concurrent Write) erlaubt gleichzeitige Schreibzugriffe. Im Gegensatz dazu spricht man von einer ER- (Exclusive Read) bzw. EW-PRAM (Exclusive Write), wenn keine gleichzeitigen Lese- bzw. Schreibzugriffe erlaubt sind.

Es stellt sich nun die Frage, ob die entsprechend größere Anzahl an Prozessoren in einem angemessenen Verhältnis zum Zeitgewinn steht. Dazu bezeichne im Folgenden t_{s}(n) die sequentielle und t_{p}(n) die parallel Laufzeit, sowie p(n) die Anzahl der Prozessoren bei der parallelen Berechnung. Dann definiert man

Man nennt einen parallelen Algorithmus

In der Vorlesung wurde die parallele Minimum-Berechnung und die parallele Präfixsummen-Berechnung genauer besprochen, worauf hier nicht näher eingegangen wird (bei Interesse möge das Skriptum studiert werden).


 Diese Seite erfüllt die HTML-4.01-Spezifikationen!
Übersicht
Zurück Home Weiter
Index