• Keine Ergebnisse gefunden

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 Prozessoren

N π

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 ProblemmitHilfe

desbestmö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ötigte

Laufzeit,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 π

gleihartigenProzessorendasProblemumdenFaktor

s

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,dass

denitionsgemäÿ

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 die

fü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 spriht

in 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 π )

oder

T (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, wobeidie

innerhalb 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 it

T (i) (1, N) = T

p

(i) (1, N ) + T

s

(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 Rehenoperationen

könnenaufvershiedene Prozessoren verteilt werden.Der Anteil

T

s

(i)

hingegen wirddurh

Rehenoperationen 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

it

X

i=1

T (i) (1, N ) =

N

it

X

i=1

T

p

(i) (1, N ) + T

s

(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 als

T (i) (i π , N π , N) = T

p

(i) (i π , N π , N ) + T

s

(i) (1, N ).

(2.53)

DadieBerehnungen,welhe

T

s

(i)

verursahen,nihtparallelisierbarsind,trittdieserTerm inGleihung(2.53) unverändert inErsheinung. Dieparallelisierbaren Berehnungen

wer-den auf die verfügbaren Prozessoren verteilt, sodass

N π

X

i π =1

T

p

(i) (i π , N π , N ) = T

p

(i) (1, N )

(2.54)

geltenmuss.DieBerehnungender

i

-tenStufebenötigendieErgebnissederStufe

i−1

.Dies

impliziert, 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ürdie

i

-teStufe vorliegen.DerProzessor,welher fürdieBerehnungen,sowiedendarauf folgendenDatenaustaushammeistenZeitbenötigt,bestimmtalsodieGesamtzeit,welhe

auf dem Parallelrehner für die Bearbeitung der

i

-ten Stufe des Algorithmus erforderlih ist. Mit

T ˜ (i) (i π , N π , N)

als Zeit, die Prozessor

i π

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überalle

N

it

Stu-fen ergibtsihzu

T (N π , N ) =

N

it

X

i=1

T (i) (N π , N).

(2.56)

Für den parallelen Speedup der Gesamtberehnung folgt somit

S(N π ) =

N

it

P

i=1

h T

p

(i) (1, N) + T

s

(i) (1, N ) i

N

it

P

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,dass

sievernahlässigtwerden kann (

T ˜ (i) ≈ 0

),so folgtaufgrund vonGleihung (2.54), dass

T (i) (N π , N) = max

i π ∈ Π

T

p

(i) (i π , N π , N ) + T

s

(i) (1, N )

≥ 1 N π

T

p

(i) (1, N) + T

s

(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 T

s

(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

it

X

i=1

T

p

(i) (N π , N )

(2.60)

und

T

s

(1, N ) :=

N

it

X

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 + T

p

(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

. Wird

N π

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

p

N π S

S

idealerSpeedup

S

opt

N π 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

s

gegenüberdemTerm

T ˜

groÿwerden,waszueinemhöherenSpeedupbzw.zueiner

gröÿ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öÿe

N

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

durh

Erhö-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 der

Prozesso-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 Prozessorenzahl

N π

,

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 der

N π N

-Ebene. Der

explizite Zusammenhangzwishen

N

und

N π

, welher sih durh AuösenvonGleihung

(2.68) nah

N

ergibt, werde bezeihnet mit

E E

. Damitergibt sih

N = E E (N π ).

(2.69)

Man beahte, dass niht jede beliebige Kombinationvon Problemgröÿe

N

und

Prozesso-renzahl

N π

mitHilfe eines parallelen Systems realisiert werden kann.

MitderProblemgröÿe

N

nimmtimAllgemeinenauhderSpeiherbedarfzu.Da der Spei-herjedoheineknappeRessoureist,existiertfürjedeProzessorenzahl

N π

einemaximale

Problemgröÿe

N

max

(N π )

,dienihtübershrittenwerdenkann.BeiMultiomputern bedeu-tetdieHinzunahmeweitererProzessorenbzw.Rehenknoten,dassderverfügbareSpeiher

sih 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 der

N π N

-Ebene. Die rote Kurveergibt sih für eine

hö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ür

den 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 Isoezienzlinien

zeigen 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 die

Ezienz desparallelenSystemsabeinerbestimmtenProzessorenzahlnihtmehrkonstant

gehalten werden können.