2.4 Paralleles Rehnen
2.4.3 Analyse paralleler Algorithmen
EinwihtigesQualitätsmerkmalfüreinenAlgorithmusistseinBedarfanRessouren.Von
groÿemInteresseistdabeiinsbesondere diebenötigteRehenzeitsowiederSpeiherbedarf
undderenAbhängigkeitvonderGröÿedes zubearbeitendenProblems. DieProblemgröÿe
ist zunähst ein abstrakter Begri und kann nur kontextabhängig deniert werden.
Bei-spielsweisewürdefüreinenAlgorithmus,welherzumSortiereneinerListevonGanzzahlen
verwendet wird, unter der Problemgröÿe sinnvollerweise die Anzahl der Elemente in der
Liste verstanden werden, die sortiert werden soll.
Bei einer theoretishen Analyse eines Algorithmus ist insbesondere sein asymptotishes
Verhalten von Interesse, d.h. die Abhängigkeit des Ressourenbedarfs von der
Problem-gröÿe für den Grenzfall sehr groÿerProblemgröÿen. Das asymptotishe Verhalten wird in
der theoretishen Informatik mit Hilfe der Methoden der Komplexitätstheorie
beshrie-ben [44℄.DieSihtweisederKomplexitätstheorieistzurBewertungparallelerAlgorithmen
jedohnihtausreihend,daaneinenparallelenAlgorithmusweitereQualitätsforderungen
gestellt werden müssen. Insbesondere ist das Verhalten des Algorithmus in Abhängigkeit
vonder Anzahlder verwendetenProzessoren des Parallelrehners vonInteresse.Zur
Ana-lyse und Bewertung dieses Verhaltens sind vershiedene Metriken vorgeshlagen worden.
Im Folgenden wird eine Auswahl dieser Metriken vorgestellt, welhe für die Analyse der
imRahmendieserArbeitbehandeltenAlgorithmenvonInteressesind.Einevollständigere
Übersiht ndet sih in[45℄ und [46℄.
Die theoretishe Analyse eines Algorithmuserfordert grundsätzlih ein Modelldes
Reh-ners, auf welhem der Algorithmus implementiert werden soll. Die Verbindung eines
Al-gorithmus mit einem Rehnermodell wird als System bezeihnet. Im Falle von parallelen
Algorithmen spriht man von einemparallelen System [47℄.
Im Folgenden soll jedoh zunähst vollkommen von Mashinenmodellen abstrahiert
wer-den, bisin Abshnitt 2.4.4 auf diese Problematik eingegangenwird.
2.4.3.1 Laufzeit
WieauhbeiseriellenSystemenisteineAnalysederLaufzeit,welheeinparallelesSystem
zur BearbeitungeinesProblemsbenötigt,vonbesonderemInteresse, undinsbesondere für
zeitkritishe Berehnungen ist eine Abshätzung der Laufzeit unverzihtbar, um den für
dieBerehnungen zurVerfügungstehende nZeitrahmennihtzuübershreiten. Andersals
bei seriellen Systemen hängt die Laufzeit für ein paralleles System mindestens von den
zwei Parametern Problemgröÿe
N
und Anzahl der verwendeten ProzessorenN π ab.
Obwohldie imFolgenden vorgestelltenMetriken wihtige Einblikeindas Verhalteneines
parallelen Systems geben können, kann ihre alleinige Anwendung zu falshen
Shluss-folgerungen über die Qualität des untersuhten Systems führen [45℄. Eine Analyse der
shlussendliherzielten Laufzeit istdaher meist unverzihtbar.
2.4.3.2 Speedup und Ezienz
Wie bereits erwähnt, ist das Ziel der Parallelverarbeitung, die zur Lösung eines
Pro-blems benötigte Laufzeit gegenüber einer seriellen Bearbeitung zu reduzieren. Der
par-allele Speedup misst die durh die Parallelverarbeitung erzielte Reduktion der Laufzeit
bei der Lösungeines Problemsim Vergleihzur Lösung mitHilfe eines seriellen
Algorith-mus, welher auf einemReferenzprozessor ausgeführt wird.Die Denitiondes Speedup in
der Literatur ist niht einheitlih. Es existieren die beiden folgenden Denitionen. Zum
einen wird der Speedup deniert als(siehe z.B. [47℄)
S ∗ (N π , N ) := T ∗ (1, N )
T (N π , N ) .
(2.44)Dabeibezeihnet
T ∗ (1, N )
die benötigteLaufzeit fürden Fall,dass das ProblemmitHilfedesbestmöglihen seriellenAlgorithmusaufeinemReferenzprozessorgelöstwird,wobeials
bestmögliher Algorithmus in diesem Zusammenhang derjenige angesehen wird, der das
Problemin der kürzestmöglihen Zeit löst.Die Gröÿe
T (N π , N )
bezeihnet die benötigteLaufzeit,welhezur Lösung desProblemsmitHilfeeines parallelenSystems unter
Benut-zung von
N π gleihartigen Prozessoren, die überdies identish zu dem Referenzprozessor
sind, benötigt wird. Ein Speedup von S ∗ (N π , N ) = s
bedeutet also, dass das parallele
SystemmitHilfevon
N π gleihartigenProzessorendasProblemumdenFaktors
shneller
löst als der beste sequentielle Algorithmusauf dem Referenzprozessor. Der Parameter
N
beshreibt die Problemgröÿe und muss, wie erwähnt, abhängig von der Problemstellung
deniert werden.
Die zweite Denition des Speedup, welhe sih in der Literatur ndet (siehe z.B. [48℄),
lautet
S(N π , N ) := T (1, N )
T (N π , N ) .
(2.45)Dabei bedeutet
T (1, N)
die Laufzeit des parallelen Algorithmus, wenn dieser auf einem einzigenReferenzprozessor ausgeführt wird.Die beidenDenitionen führen dadurh,dassdenitionsgemäÿ
T ∗ (1, N) ≤ T (1, N )
gelten muss, zu untershiedlihen Bewertungen des gleihen parallelen Algorithmus.WährenddieDenitioninGleihung(2.45)denVorteilbesitzt,dass hiernurdaszu
unter-suhendeparalleleSystem betrahtet werdenmuss, muss bei Denition(2.44)jedes
denk-bareSystem zur Lösungdes Problemsberüksihtigtwerden,um
T ∗ (1, N )
zu bestimmen.Allerdings birgt Denition (2.45) den Nahteil, dass der durh die Parallelverarbeitung
erzielteGewinn anRehenzeit übershätzt wird.
Bei demStudiumder relevanten Literaturfälltauf, dassGleihung(2.44)wesentlih
häu-ger als Denition des Speedup angeführt wird, allerdings in konkreten
Performaneana-lysen häuger Denition (2.45) Anwendung ndet. In Anlehnung an [45℄ werde die in
Gleihung(2.44)denierteGröÿealsrealerSpeedupunddie inGleihung(2.45)denierte
Gröÿe alsrelativerSpeedup bezeihnet.
Da die in dieser Arbeit betrahteten parallelen Algorithmen für den Fall
N π = 1
in diefür serielleBerehnungen verwendeten Algorithmen übergehen, sind die beiden Gröÿen
S
und
S ∗ in diesem Falläquivalent. Der Speedup wird daher im Folgenden stets mit S
be-zeihnet.
FürdenSpeedupinDenition(2.44)und(2.45)ergibtsiheinetheoretisheobere
Shran-ke
S
opt gemäÿS
opt(N π , N) := N π ,
(2.46)daim Allgemeinen die Ungleihung
T ∗ (1, N ) ≤ T (1, N ) ≤ N π · T (N π , N )
(2.47)erfülltist.Esseijedohangemerkt,dassunterbestimmtenBedingungendie
Ungleihungs-kette (2.47)verletzt werdenund ein Speedup
S > S
opt erreihtwerdenkann. Man sprihtin diesem Fall von einem superlinearen Speedup. Ein superlinearer Speedup kann
bei-spielsweise aufgrund von Eekten auftreten, die durh die Arhitektur des verwendeten
Parallelrehners,insbesondere durh dieSpeiherhierarhie,bedingtsind.Füreine
Analy-se von vershiedenen Ursahen für das Auftreten eines superlinearen Speedup seiauf [49℄
verwiesen.
DiemitdemSpeedupengverwandteEzienzbildeteinweitereshäugangewendetesMaÿ
zur Bewertungeines parallelen Systems. Ebenso wie beimSpeedup existieren zwei
unter-shiedliheDenitionen,diesihwiederumdarinuntersheiden,ob
T (1, N π )
oderT ∗ (1, N π )
alsVergleihsgröÿeherangezogen wird. Die Denitionen lauten
E ∗ (N π , N ) := T ∗ (1, N )
N π · T (N π , N) = S ∗ (N π , N) N π
(2.48)
bzw.
E(N π , N) := T (1, N )
N π · T (N π , N ) = S(N π , N ) N π
.
(2.49)Die Ezienz beshreibt, welher Anteilder Laufzeit für sinnvolle Rehnungen verwendet
wird. Die übrige Laufzeit wird z.B. für Datenverwaltung verbrauht, welhe beider
Aus-führung auf einem einzigen Prozessor niht benötigt wird. Die optimale Ezienz ergibt
sih daherzu
E
opt(N π , N) = S
opt(N π , N ) N π
= 1.
(2.50)MitdergleihenBegründungwiebeimSpeedupwirdimFolgendenlediglihdie Denition
inGleihung (2.49)weiter verwendet.
Im Folgenden sollen die Eekte untersuht werden, welhe dazu führen, dass der ideale
Speedup bzw.die ideale Ezienz niht erreihtwird. Dazuwird ein ktiverparalleler
Al-gorithmusbetrahtet,welherjedohÄhnlihkeitenmitdeminAbshnitt2.3vorgestellten
PICAlgorithmusbesitzt.DiefolgendenAusführungenwerdendaherbeiderKonstruktion
der parallelen PIC Algorithmen inKapitel 3hilfreih sein.
Der ktiveAlgorithmusbenötigtzur Berehnung seinesErgebnisses
N
it Stufen, wobeidieinnerhalb einer Stufe durhzuführenden Rehenshritte das Ergebnis der vorherigen
Stu-fe benötigen. Die Berehnungen, welhe innerhalb der
i
-ten Stufe durhgeführt werden müssen, benötigen auf einem Referenzprozessor die Rehenze itT (i) (1, N) = T
p(i) (1, N ) + Ts(i) (1, N ), (2.51)
wobei die Berehnungen, welhe die Rehenze it
T
p(i)
benötigen, als parallelisierbar an-genommen werden können, d.h. die zur Fertigstellung erforderlihen Rehenoperationenkönnenaufvershiedene Prozessoren verteilt werden.Der Anteil
T
s(i)
hingegen wirddurhRehenoperationen verursaht, die niht parallelisierbar sind, und somit bei einer
paral-lelen Berehnung von jedem Prozessor ausgeführt werden müssen. Damitbeträgt die
Re-henzeit, welhe auf dem Referenzprozessor zur Fertigstellung der Berehnung insgesamt
benötigt wird,
T (1, N ) =
N
itX
i=1
T (i) (1, N ) =
N
itX
i=1
T
p(i) (1, N ) + Ts(i) (1, N )
.
(2.52)Wird der Algorithmus nun auf einem Parallelrehner mit
N π Prozessoren ausgeführt, so werden die Berehnungen des parallelisierbarenAnteilsdes Algorithmusaufdie
verfügba-ren Prozessoren verteilt, so dass sih die Rehenzeit, welhe Prozessor
i π für die
Bereh-nungen der
i
-ten Stufe benötigt,angegeben werden kann alsT (i) (i π , N π , N) = T
p(i) (i π , N π , N ) + Ts(i) (1, N ). (2.53)
DadieBerehnungen,welhe
T
s(i)
verursahen,nihtparallelisierbarsind,trittdieserTerm inGleihung(2.53) unverändert inErsheinung. Dieparallelisierbaren Berehnungenwer-den auf die verfügbaren Prozessoren verteilt, sodass
N π
X
i π =1
T
p(i) (i π , N π , N ) = Tp(i) (1, N ) (2.54)
geltenmuss.DieBerehnungender
i
-tenStufebenötigendieErgebnissederStufei−1
.Diesimpliziert, dass imAllgemeinen Daten zwishen den Prozessoren nahdem Abshluss der
Berehnungen einer Stufe ausgetausht werdenmüssen.Zudem könnendie Berehnungen
der Stufe
i + 1
niht begonnen werden, bevor niht die Ergebnisse von allen Prozessoren fürdiei
-teStufe vorliegen.DerProzessor,welher fürdieBerehnungen,sowiedendarauf folgendenDatenaustaushammeistenZeitbenötigt,bestimmtalsodieGesamtzeit,welheauf dem Parallelrehner für die Bearbeitung der
i
-ten Stufe des Algorithmus erforderlih ist. MitT ˜ (i) (i π , N π , N)
als Zeit, die Prozessori π für den Austaush vonErgebnisdaten in
der Stufe i
benötigt, folgt somit für die Gesamtzeit, welhe von dem Parallelrehner für
die Bearbeitung der i
-ten Stufe des Algorithmus benötigtwird
T (i) (N π , N ) = max
i π ∈ Π
n T
p(i) (i π , N π , N) + ˜ T (i) (i π , N π , N ) o
+ T
s(i) (1, N ), (2.55)
wobei
Π := {1 . . . N π }
als die Menge der Prozessoren, beshrieben durh eine eindeutige Identikationsnummer,deniertist.DieLaufzeitderGesamtberehnungüberalleN
itStu-fen ergibtsihzu
T (N π , N ) =
N
itX
i=1
T (i) (N π , N).
(2.56)Für den parallelen Speedup der Gesamtberehnung folgt somit
S(N π ) =
N
itP
i=1
h T
p(i) (1, N) + Ts(i) (1, N ) i
N
itP
i=1
max i π ∈ Π
n
T
p(i) (i π , N π , N) + ˜ T (i) (i π , N π , N ) o
+ T
s(i) (1, N )
.
(2.57)AusGleihung (2.57)lässt siherkennen ,dass drei Faktorenden Speedupeinesparallelen
Algorithmus gegenüber
S
opt reduzieren.Zum Ersten führt der benötigte Datenaustaush zwishen den Prozessoren, beshrieben
durh
T ˜ (i),zu einem Mehraufwand, der beider seriellenAusführung nihtauftritt. Dieser Term wird sowohl durh die Menge an Daten, welhe ausgetausht werden müssen, als
auh durh die Arhitektur des Parallelrehners und die Infrastruktur (Software,
Proto-kolle), die dieser zum Austaush von Daten zwishen den Prozessoren anbietet,wie auh
durhdiekonkreteImplementierungdesDatenaustaushes(Kommunikationsstruktur)
be-einusst. Da die Menge an Daten, welhe zwishen den Prozessoren ausgetausht werden
müssen, und damitauh die fürden Datenaustaush benötigteZeit, oftmals direkt damit
zusammenhängt,wiedieparallelisierbarenBerehnungendenProzessorenzugeordnet
wer-den,ist ein wesentlihes Ziel bei der Entwiklung eines parallelen Algorithmus,
basierend auf dessen Speiherzugrismuster die Berehnungen so aufzuteilen,
dass jeder Prozessor möglihst wenige Daten von anderen Prozessoren
benö-tigt.
Zum Zweiten führt die durh den Datenaustaush eingeführte Synhronisation nah
je-der Stufe des Algorithmus dazu, dass derjenige Prozessor, der für die Ausführung der
ihmzugeordneten Berehnungenund Kommunikationsoperationendie längste Zeitspanne
benötigt, die Gesamtzeit für die Stufe bestimmt. Ausgedrük t wird dies durh den
Aus-druk
max {·}
in Gleihung (2.55). Wirddie Verteilung der Daten so vorgenommen,dass die fürdenDatenaustaush benötigteZeit gegenüberdenRehenze iten sokleinwird,dasssievernahlässigtwerden kann (
T ˜ (i) ≈ 0
),so folgtaufgrund vonGleihung (2.54), dassT (i) (N π , N) = max
i π ∈ Π
T
p(i) (i π , N π , N ) + Ts(i) (1, N )
≥ 1 N π
T
p(i) (1, N) + Ts(i) (1, N ) (2.58)
gilt. Somit ergibt sih, dass im Fall unbalanierter Lastverteilung aufgrund der
Synhro-nisation eine Erhöhung der Rehenzeit auftritt, die den Speedup reduziert. Die
gleih-mäÿige Verteilung der Rehenlast auf die verfügbaren Prozessoren ist somit
in diesem Fall essentiell, um einen möglihst hohen Speedup zu erzielen. Das
Gleihheitszeihen in Gleihung (2.58) gilt genau für den Fall idealer Lastbalanierung.
Abbildung2.7 illustriertdenSahverhaltunbalanierterLastverteilungfürden Fallzweier
Prozessoren. Prozessor 1 besitzt weniger Rehenlast als Prozessor 2 und beendet seine
Rehnung zu einem deutlih früheren Zeitpunkt. Da er auf die Daten von Prozessor 2
warten muss, kann erabererst mitseinenBerehnungen fortfahren,nahdem Prozessor 2
seineBerehnung abgeshlossenhatund diebenötigten Datenzur Verfügungstellenkann.
Prozessor 2 bestimmt hier folglih die Laufzeit der Gesamtberehnung. In vielen Fällen
sind die beiden Ziele, den Kommunikationsaufwand zu minimieren, sowie eine optimale
Lastbalanierung zu erreihen, niht miteinandervereinbar, sodass ein Kompromiss
zwi-shen beidenZielen gefunden werden muss, welher die Gesamtlaufzeit minimiert.
Sei nun noh angenommen, dass Lastbalanierung zu jedem Zeitpunkt der Berehnung
gewährleistet ist,so vereinfaht sih der Ausdruk fürden Speedup (2.57) zu
S(N π , N) = 1 + T Ts(1,N)
p
(1,N) 1
N π + T T
s(1,N)
p
(1,N)
.
(2.59)t
t
Proz.1
Nahrihte ntransfer
Proz.2
lokaleBerehnungen Kommunikationsinitialisierung DatenaustaushundSynhronisat ion
Abbildung2.7:Ungleihverteilte LastführtzuuntershiedlihenLaufzeitenfürdie
beteilig-ten Prozessoren. Der amstärksten belastete Prozessor bestimmt, bedingt durh die
Synhro-nisationspunkte, welhe durh jeden Datenaustaush eingeführtwerden,die Laufzeit.
Da durhdie Lastbalanierung alle
T
p(i) (i π , N π , N )gleihwerden,konnteder max{·}
Aus-druk fortgelassen werden. Zudemwurde
T
p(N π , N ) :=
N
itX
i=1
T
p(i) (N π , N ) (2.60)
und
T
s(1, N ) :=
N
itX
i=1
T
s(i) (1, N ) (2.61)
gesetzt. Damit kann der Speedup selbst bei Verwendung von extrem vielen Prozessoren
den Wert von
S ∞ (N ) := lim
N π →∞ S(N π , N ) = 1 + Tp(1, N )
T
s(N )
(2.62)niht übershreiten. Der Ausdruk in (2.62) ist als Gesetz von Amdahl bekannt
gewor-den[50℄undzeigtdiedritteUrsahe füreinennihtidealenSpeedup: Dieseriellen
Bereh-nungen, welhe bei der Ausführung des Algorithmus von allen Prozessoren durhgeführt
werden müssen,verhindern,dass der Speedupden Wert in(2.62)übershreitet,
gleihgül-tigwie vieleProzessorenbenutztwerden. Ziel muss daher sein, möglihst alle Teile
eines Algorithmus zu parallelisieren.Zur Herleitungdieses Ergebnisseswurde ideale
LastbalanierungvorausgesetztsowiejegliherAufwand fürdenDatenaustaushzwishen
Prozessoren vernahlässigt. Der Speedup einer realen Implementierung nähert sih daher
typisherweise niht asymptotish diesem Wert an, sondern nimmt bei der Erhöhung der
ProzessorenzahlnahdemErreiheneinesMaximumswiederab, dader
Kommunikations-aufwand übliherweise mitwahsender ProzessorenzahlimVergleihzum Rehenaufwand
ansteigtund zudem,je nah Artdes betrahteten Algorithmus, die Lastbalanierung mit
wahsender Anzahl anProzessoren häug shwieriger zu gewährleisten ist.
Abbildung2.8(a) zeigt das typishe Verhalten des Speedupin Abhängigkeit von der
Pro-zessorenzahl. Während sih die obere Kurve, welhe den Kommunikationsaufwand
ver-nahlässigt, asymptotish dem in Gleihung (2.62) berehneten Wert nähert, erreiht die
untere Kurve, welhe den Kommunikationsaufwand berüksihtigt, einen Extremalwert
und fällt dann bei weiterer Erhöhung der Prozessorenzahl ab. Die Verläufe, welhe sih
für die Ezienz in den beiden Fällen ergeben, sind in Abbildung 2.8(b) dargestellt. Die
Ezienz besitzt denitionsgemäÿ ihr Maximum für
N π = 1
. WirdN π erhöht, fällt die
Ezienz übliherweise kontinuierlihab, obwohl auh hier aus den gleihen Gründen wie
für den Speedup ineinigen Fällen Werte oberhalbvon 1möglihsind [ 49℄.
EinKritikpunktanderSpeedup-sowiederEzienzmetrikist,dassdieseprinzipiell
Syste-me mitlangsamen Prozessoren bevorzugen, d.h. diese Systeme erhalten höhere
Speedup-bzw. Ezienzwerte verglihen mit Systemen, welhe shnellere Prozessoren besitzen [45℄.
Dies ist aus Gleihung (2.57) ersihtlih.Für langsame Prozessoren können die Terme
T
pN π S
S ∞
idealerSpeedup
S
optN π E
1
optimale Ezienz
E
opt(a) (b)
Abbildung2.8:(a)DertypisheVerlaufdesparallelenSpeedupfüreinefesteProblemgröÿe.
Währendsihder Speedupbei Vernahlässigungdes Kommunikationsaufwandeseinem
Maxi-malwert
S ∞ asymptotishnähert, erreiht erbei Berüksi htigung desselbeneinen Extremal-wert und fälltdanah ab.(b) Der typishe Verlauf der Ezienz fürkonstante Problemgröÿe.
DieKurven gleiher Farbe in denbeiden Bildern korrespondieren miteinander.
sowie
T
sgegenüberdemTerm
T ˜
groÿwerden,waszueinemhöherenSpeedupbzw.zueinergröÿerenEzienz führt.DiesebesserenWertewerdenjedohdurheine hohe
Gesamtlauf-zeit erkauft. Somit muss zu einer sinnvollen Bewertung eines parallelen Systems immer
auhdie Gesamtlaufzeit
T (N π , N)
herangezogen werden, um niht zu falshen Shlussfol-gerungen zu gelangen.2.4.3.3 Skalierter Speedup und skalierte Ezienz
Die pessimistishe Siht, welhe sih aus dem Amdahl shen Gesetz (2.62) ergibt, folgt
daraus,dassdieProblemgröÿekonstantgehaltenwird,währenddieAnzahlderProzessoren
immer weiter erhöht wird. Somit erhält der serielle Anteil der Laufzeit sowie auh die
Zeit, welhe für den Datenaustaush benötigt wird, einen immer höheren Anteil an der
Gesamtlaufzeit.
Häug tritt jedoh der Fall auf, dass Instanzen vershiedener Gröÿe ein und desselben
Problems gelöst werden müssen. Man denke nur an Konvergenzstudien, die bei vielen
Simulationen unerlässlih sind. Vielfah besteht hier der Wunsh, alle Problemgröÿen in
dergleihenZeit zulösen,und,um dieszu erreihen, eineandie Problemgröÿeangepasste
AnzahlanProzessorenzubenutzen.Diesmotiviertdie Einführungdes skaliertenSpeedup
für eine konstanteLaufzeit [51℄. Dieseristdeniert als
S
T(N π , T 0 ) := T (1, N (T 0 , N π )) T 0
.
(2.63)Hierbeiist
T 0 eine festgelegte Laufzeit. Füreine bestimmteAnzahl an Prozessoren ergibt
sih damitdie ProblemgröÿeN
aus der Beziehung
T (N π , N ) = ! T 0 .
(2.64)Ebenso lässt sihdie skalierteEzienz einführenals
E
T(N π , T 0 ) := S
T(N π , T 0 ) N π
.
(2.65)VonGustafson[52℄wurde der speiherskalierte Speedup eingeführt. Dieser istdeniert
als
S
M(N π , N) := T (1, N π · N )
T (N π , N π · N ) .
(2.66)Analog lässt sih die speiherskalierte Ezienz denieren als
E
M(N π , N ) := S
M(N π , N ) N π
.
(2.67)WieinGleihung(2.63)wird auhhier die Problemgröÿemitder Anzahl derProzessoren
erhöht.WährendinGleihung(2.63)jedohdieLaufzeit konstantgehaltenwird undüber
Gleihung (2.64) auf die Problemgröÿe geshlossen wurde, wird diese nun proportional
zu der Anzahl der Prozessoren erhöht. Dies kann in dem oft auftretenden Fall, dass der
Speiherbedarf des parallelen Systems linear mit der Problemgröÿe ansteigt, so
interpre-tiert werden, dass der Anteil des insgesamt verfügbaren Arbeitsspeihers, welher dem
parallelen System zur Verfügung gestellt wird, konstant gehalten wird, was dieser Metrik
ihren Namen einbrahte.
2.4.3.4 Skalierbarkeit und Isoezienzfunktion
WieinAbshnitt2.4.3.2erläutert,kannbeieinerkonstantenProblemgröÿe
N
durhErhö-hung der Prozessorenzahl
N π die Ezienz E
inder Regelnihtkonstantgehalten werden.
Jedoh ist zu beobahten, dass eine Erhöhung der Problemgröÿe bei einer festen Anzahl
an Prozessoren oftmals zu einem Ansteigen der Ezienz führt. In einem solhen Fall
ist es möglih durh eine gleihzeitige Erhöhung der Problemgröÿe
N
und derProzesso-renzahl
N π die Ezienz konstant zu halten. Parallele Systeme, welhe diese Eigenshaft
besitzen, werden alsskalierbar bezeihnet [47℄.
Die Skalierbarkeitist ein wihtiges Qualitätsmerkmaleines parallelen Systems, da es nur
für skalierbare Systeme möglih ist, bei einer gegebenen Problemgröÿe eine Anzahl von
Prozessoren auszuwählen, so dass die Ressouren mit einer hohen Ezienz genutzt
wer-den.BeinihtskalierbarenSystemenführteineErhöhungderProzessorenzahlzwangsläug
zu einer Vershlehterung der Ezienz. Da eine Erhöhung der Problemgröÿeinder Regel
auhmiteinerVergröÿerungdesSpeiherbedarfs einhergeht,unddamiteineErhöhungder
Anzahl der verwendeten Prozessoren/Rehenknote n (auf Multiomputern) unumgänglih
maht, sind niht skalierbareAlgorithmen höhstens für kleine Problemgröÿengeeignet.
Der funktionale Zusammenhang zwishen Problemgröÿe
N
und ProzessorenzahlN π,
wel-her sihfüreinekonstanteEzienz
E
ergibt,wirdalsIsoezienzfunktion bezeihnet[53℄.Die Isoezienzfunktion ist somit inimpliziterForm deniert als
E (N π , N ) = ! E .
(2.68)Abbildung 2.9 zeigt beispielhaft die Konstruktion der Isoezienzkurven als Höhenlinien
der Funktion
E(N π , N )
sowie die Isoezienzlinien aufgetragen in derN π N
-Ebene. Derexplizite Zusammenhangzwishen
N
undN π, welher sih durh AuösenvonGleihung
(2.68) nah
N
ergibt, werde bezeihnet mitE E. Damitergibt sih
N = E E (N π ).
(2.69)Man beahte, dass niht jede beliebige Kombinationvon Problemgröÿe
N
undProzesso-renzahl
N π mitHilfe eines parallelen Systems realisiert werden kann.
MitderProblemgröÿe
N
nimmtimAllgemeinenauhderSpeiherbedarfzu.Da der Spei-herjedoheineknappeRessoureist,existiertfürjedeProzessorenzahlN π einemaximale
Problemgröÿe
N
max(N π )
,dienihtübershrittenwerdenkann.BeiMultiomputern bedeu-tetdieHinzunahmeweitererProzessorenbzw.Rehenknoten,dassderverfügbareSpeihersih proportionalerhöht, sofern alle Rehenknoten einen gleihgroÿen Speiher besitzen.
VerhältsihderSpeiherbedarfdesparallelenSystemsebenfallsproportionalzur
Problem-gröÿe, soist die Funktion
N
max(N π )
eine lineare Funktion, wie Abbildung2.9(b) zeigt.(a) (b)
E 1
N
N π N π
N
Speihergrenze
Granularitätsgrenze Isoezienzkurve
Abbildung 2.9: (a) Konstruktion der Isoezienzkurven als Höhenlinien der F
unkti-on
E(N π , N )
.(b) Isoezienzkurven in derN π N
-Ebene. Die rote Kurveergibt sih für einehöhere Ezienz alsdie blaue .
Aufgrund der endlihen Granularität einesparallelen Systems, d.h. die Berehnungen zur
Lösung des Problems lassen sih niht in beliebig viele Teile zerlegen, ist es jedoh auh
niht möglih ein Problem bestimmter Gröÿe auf beliebig vielen Prozessoren zu lösen.
FürjedeProzessorenzahlexistiertdaherauheine minimaleProblemgröÿe
N
min(N π )
. Fürden häug auftretenden Fall, dass die Anzahl der Teilrehnungen, in die sih das
Ge-samtproblem maximal zerlegen lässt, proportional zu der Problemgröÿe ist, ergibt sih
für
N
min(N π )
eine lineareFunktion,wie in Abbildung2.9(b) gezeigt.Wie bereits angesprohen, führt ein höherer Wert von
E
zu einer Isoezienzfunk tion mit einer gröÿeren Steigung. Die beiden in Abbildung 2.9(b) aufgetragenen Isoezienzlinienzeigen dieses Verhalten. Hier wird auhdeutlih,dass nurfür den Fall
N
min(N π ) ≤ E E (N π ) ≤ N
max(N π )
(2.70)eine konstante Ezienz
E
mit dem parallelen System für eine beliebige Prozessorenzahl erreiht werden kann. Ist eine der Bedingungen in Gleihung (2.70) verletzt, so wird dieEzienz desparallelenSystemsabeinerbestimmtenProzessorenzahlnihtmehrkonstant
gehalten werden können.