2.4 Paralleles Rehnen
2.4.5 Im Rahmen der Arbeit verwendetes Rehnermodell
bei-spielsweise eine Kommunikationsoperation, bei der jeder Prozessor gleihzeitig Daten an
einen einzigen Prozessor vershikt, unter Umständen dazu, dass die Netzwerkanbindung
desProzessorsüberlastetwirdundalsFolgedieDatenmitdermaximalzurVerfügung
ste-henden Rate
1/g
empfangen werden.DieübrigenProzessorenmüssen solangewarten,bis ihre Nahrihtempfangen wurde. Somit istdie vomLogP ModellprognostizierteLaufzeitfür eine solhe Operation gröÿer als die Laufzeit für einen balanierten Datenaustaush,
bei dem jeder Prozessor etwa gleih groÿe Datenmengen sendet und empfängt, und die
Netzwerkanbindung der einzelnen Prozessoren gleihmäÿigbelastetwird.
Für eine einzigePunkt-zu-Punkt Kommunikationsoperationprognostiziertdas LogP
Mo-dell eine Abhängigkeitder Kommunikationsdauer
T ˜
LogP von der vershiktenDatenmen-ge
m
inder FormT ˜
LogP= t s + t ′ w · m,
(2.71)wobei
t sundt ′ wFunktionenderParametero
,g
bzw.L
sind.Gleihung(2.71)legtnahe,dass
o
,g
bzw.L
sind.Gleihung(2.71)legtnahe,dassesvonVorteilist,denAustaushvonDaten,wennmöglih,mitHilfeeinereinzigengroÿen,
anstattmiteinerVielzahlkleinerNahrihtendurhzuführen . DerkonstanteAnteil
t stritt
dannlediglihein einzigesMalinErsheinung.In diesemFallkannder Term
t s gegenüber
dem sehr viel gröÿeren Anteil
t ′ w · m
vernahlässigt werden und man erhältT ˜
LogP≈ t ′ w · m.
(2.72)Diese Zeit beinhaltet sowohl einen Anteil für den eigentlihen Datentransfer über das
Netzwerk, als auh einen Anteil für Operationen, die für die Vorbereitung des Transfers
erforderlihsind.Abbildung2.11(a)zeigt,dassdasModelleineguteÜbereinstimmungmit
Messungen der (mittleren) Kommunikationszeit aufweist, welhe für zwei Rehnerluster
durhgeführtwurden.
•
Überlappen von Datenaustaush und Berehnungen. Auf einigen Parallel-rehnern ist es möglih, dass das Versenden und Empfangen von Nahrihten nihtder direkten Beteiligung der CPU bedarfund daher im Hintergrund erfolgen kann.
Durh spezialisierte Hardware, bei der ein Coprozessor das Senden und Empfangen
derNahrihten übernimmt,müssenSende-undEmpfangsoperationenvonderCPU
lediglih initialisiert und abgeshlossen werden. Während die Daten über das
Netz-werk transportiert werden, kann die CPU weitere Rehnungen durhführen, welhe
dervershiktenDaten nihtbedürfen.DiesistalsVersteken derLatenzzeit (engl.
lateny hiding) bekannt. Dies ist auh bei der Verwendung eines Multiomputers
bestehend aus mehreren Prozessoren pro Knoten möglih. Während ein Prozessor
Berehnungendurhführt,behandelteinandererProzessordenAustaushderDaten
(sieheAbbildung2.10).Diesmussjedohexplizitimplementiertwerden.Obwohl
die-seTehnik bei den imRahmender Arbeitdurhgeführten Implementierungen niht
zum Einsatzkam, wirdbeider Vorstellung der parallelenAlgorithmen imfolgenden
Kapiteldennoh angeeigneter Stelledarauf hingewiesen,wie eine solhe
Implemen-tierungaussehen könnte.
SlaveThreads
MasterThread MasterThread
lokale
Berehnungen
send(.)
rev(.)
lokale
Berehnungen send(.)
rev(.) Datenaustaush
Abbildung 2.10: Durh die Verwendung mehrerer Threads lässt sih die Zeit, welhe für
den Datenaustaushbenötigt wird, mitlokalen Berehnu ngen füllen.
•
Netzwerküberlastung. Der Einuss der Netzwerklast auf die Nahrihtenüber-tragungszeiten bleibt unberüksihtigt. Eine Modellierung dieses Eekts ist extremshwierig, dasih in einemZustand der Netzwerküberlastung starkeShwankungen
shen Methoden sinnvoll modellieren lassen (siehez.B. [61, 56℄für eine ausführlihe
Behandlung dieses Eekts). Abbildung2.11(b) illustriert den Eekt. Abgebildetist
dieaufihrenMaximalwertnormierteHäugkeitsverteilungvongemessenen
Übertra-gungszeiten von Punkt-zu-Punkt Nahrihten. Während die gemessenen Zeiten bei
einemeinzigenkommunizierenden Prozessorpaarsehr starkbeieinemWert
konzen-triert sind, lässt sih bei 64 gleihzeitig kommunizierenden Prozessorpaaren bereits
einestarke Verbreiterungder Verteilungbeobahten unddie mittlere
Kommunikati-onszeit wähst deutlihan. Je mehr Prozessoren gleihzeitigmiteinander
kommuni-zieren,desto breiter wird die gezeigte Verteilungsfunktion.
•
Reihenfolge von Nahrihten. Es wird niht die genaue Reihenfolgebetrahtet, odergar eineReihenfolgeerzwungen, inder dieNahrihten vershiktoderempfan-genwerden.WerdenmehrereNahrihtenanuntershiedliheProzessorenvershikt,
sowird die dazubenötigteZeit alsSummeder einzelnen Kommunikationszeiten
an-genommen.
•
Einuss fremder Prozesse. Das Modell berüksihtigt niht das eventuelle Vor-handenseinfremderProzesse undderenEinussaufdieverfügbareProzessorleistungsowie die Netzwerk last. Eine Untersuhun g dieser Einüsse ndet sih z.B. in[62℄.
•
Annahme eines ahen Speihers. Es wird ein aher Speiher angenommen, d.h. die Einüsse der Speiherhierarhie (Cahe) werden niht explizit modelliert.Anentsprehenden Stellenwird jedoh aufEekte, die durh die Speiherhierarhie
bedingtsind, hingewiesen,sofernein starkerEinussaufdie Laufzeitzu beobahten
ist.
m
Bytes
T ˜
ms
0 200 400 600 800 1000 0,4
0,6 0,8 1,0
0 0,02
b b b b b b b b b b b b b b b b b b b b b
b b b b b b b b b b b b b b b b b b b b b b b
GigabitEthernetb b
MyrinetT ˜
ms
h
norm0 0,25 0,50 0,75 1,00
0 20 40 60 80
2Prozessoren
128Prozessoren
(a) (b)
Abbildung2.11:(a)zeigtdiemittlerebenötigte ZeitfürdenAustaush einerNahriht
va-riablerGröÿe zwishen zweiProzessorenfüruntershiedlihe Netzwerktehnologien. (b) zeigt
die normierte Häugkeitsverteilung, welhe sih beim Austaush einer Nahriht der
Grö-ÿe 10KByte zwishen einer untershiedlihen Anzahl Prozessoren, welhe über ein Gigabit
Im folgendenKapitelsollen Strategien zur Parallelisierungdes PIC Algorithmusfür
Mul-tiomputer vorgestellt werden. Zunähst wird in Abshnitt 3.1 hergeleitet, wie eine
lauf-zeitoptimaleZuordnungvonBerehnungenimFalleeinesParallelrehnersmitProzessoren
beliebigerLeistungsfähigkeiterfolgenkann.InAbshnitt 3.2wirdderBegrider
Paralleli-sierungsstrategieimRahmeneineszunähst abstraktenOptimierungsproblemsformuliert.
InAbshnitt3.3 wirddiesesfürdenFallderParallelisierungdesFeldlösersohne
Anwesen-heit von Teilhen konkretisiert. Im anshlieÿenden Abshnitt 3.4 wird das Problem unter
Anwesenheit vonTeilhenformuliert, undvershiedene Parallelisierungsstrategienwerden
vorgestellt,umdasOptimierungsproblemzulösen.InnerhalbdiesesAbshnitteswerdenim
RahmendieserArbeitentwikelteParallelisierungsstrategien,sowiedieVerallgemeinerung
einer aus der Literatur bekannten Strategie vorgestellt.
3.1 Lastverteilung für Parallelrehner mit Prozessoren
untershiedliher Leistungsf ähigkeit
IndiesemAbshnittsolluntersuhtwerden,wiedieRehenlast,welhebeiderLösungeines
Problems anfällt, auf die Prozessoren eines Parallelrehnersverteilt werden muss, um die
Laufzeit zu minimieren. Betrahtet werde ein Problem, zu dessen Lösung
C
voneinander unabhängige,gleihartigeRehenshritte ausgeführtwerdenmüssen.DasProblemsollmitHilfe eines Parallelrehners mit
N π Prozessoren gelöst werden, wobei Prozessor i π einen
der Rehenshritte in
λ i π Zeiteinheiten bearbeiten kann. Die Laufzeit T (N π , C )
, welhe
zur Lösung des Problems benötigt wird, wird von der Laufzeit des Prozessors bestimmt,
welher für die ihm zugeordneten Berehnungen die meiste Zeit benötigt
T (N π , C) = max
i π ∈{ 1...N π } {T (i π , N π , C)} . (3.1)
Gesuht ist die Anzahl an Rehenoperationen
C i π, die Prozessor i π zugeordnet werden
müssen, so dass
T (N π , C)
minimalwird. Dazumuss oenbarT (i π , N π , C) = T (j π , N π , C ) ∀i π , j π ∈ {1 . . . N π }
(3.2)gelten. Anderenfallsgibt es einen Prozessor
i π ∈ {1 . . . N π }
, für denT (i π , N π , C) ≥ T (j π , N π , C) ∀j π ∈ {1 . . . N π }
(3.3)gilt. Durh Abgabe von Berehnungen an die übrigen Prozessoren lässt sih
T (i π , N π , C)
und somitdie Gesamtlaufzeitsenken . Dies istsolangemöglih,bisGleihung (3.2)erfüllt
ist.Mit Hilfe der
C i π und λ i π lässt sih Gleihung (3.2) shreiben als
λ i π C i π = λ j π C j π ∀i π , j π ∈ {1 . . . N π } .
(3.4)Wegen
N π
X
i π =1
C i π = C
(3.5)lässt sih sofortder Zusammenhang
C i π
C =
1 λ iπ N π
P
j π =1 1 λ jπ
(3.6)
angeben, mitdem sih die laufzeitoptimalen Werte der
C i π berehnen lassen.
Es besteht eine Analogie zu dem Problem aus der Netzwerktheorie bei bekanntem
Ge-samtstrom die Ströme durh die Zweige einer Parallelshaltung ohmsher Widerstände
zu berehnen. In der Analogie übernehmen die
C i π die Rolle der Ströme und die λ i π die
Rolleder ohmshen Widerstände. Die Gleihungen(3.4)und (3.5) sind nihts anderes als
die Kirhhoff shen Gesetze und Gleihung (3.6) kann als Stromteilerregel identiziert
werden [63℄. Abbildung3.1 illustriert die beshriebene Analogie.