institut fur informatik universitat augsburg · zierungsverfahrens, welches in kapitel 5 anhand von...

82
Institut f¨ ur Informatik Universit¨ at Augsburg Diplomarbeit Entwicklung und Evaluierung eines dynamischen Prozessplatzierungsverfahrens f¨ ur verteilte Systeme Heiko Luxenhofer Gutachter: Prof. Dr. Theo Ungerer Zweitgutachter: Prof. Dr. Bernhard Bauer Betreuer: Dr. Benjamin Satzger, Sebastian Schlingmann Datum: 20. Juli 2010

Upload: others

Post on 28-Oct-2019

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

Institut fur Informatik

Universitat Augsburg

������������Diplomarbeit

Entwicklung und Evaluierung eines

dynamischen

Prozessplatzierungsverfahrens fur

verteilte Systeme

Heiko Luxenhofer

Gutachter: Prof. Dr. Theo UngererZweitgutachter: Prof. Dr. Bernhard Bauer

Betreuer: Dr. Benjamin Satzger, Sebastian SchlingmannDatum: 20. Juli 2010

Page 2: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

Copyright c© Lehrstuhl fur Systemnahe Informatik und KommunikationssystemeProf. Dr. Theo UngererInstitut fur InformatikUniversitat AugsburgD–86135 Augsburg, Germanyhttp://www.informatik.uni-augsburg.de— all rights reserved —

Page 3: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

In dieser Diplomarbeit wird ein dynamisches Prozessplatzierungsverfahren fur verteilte Sy-steme vorgestellt. Tasks sollen in der Lage sein, sich durch Selbstorganisation in einem Systemzu verteilen. Dabei werden die kontraren Ziele wie die Minimierung der Kommunikationsko-sten und ausbalancierte Verteilung der Tasks im Netz eingehalten. Die Umsetzung orientiertsich an einem physikalischen Kraftemodell, mit dem eine Selbstorganisation bewerkstelligtwird. Das Verfahren wird auf die Netztopologien Cluster, Grid und Small World angewendetund anhand der Verbesserungen an Kommunikationskosten und Verteilung evaluiert.

Page 4: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

Inhaltsverzeichnis

1. Einleitung 11.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Aufgabenstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2. Grundlagen 42.1. Autonomic Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.1. Was ist Autonomic Computing? . . . . . . . . . . . . . . . . . . . . . 42.1.2. Selbst-X-Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.3. Feedback-Mechanismus . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2. Organic Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1. Was ist Organic Computing? . . . . . . . . . . . . . . . . . . . . . . . 62.2.2. Selbstorganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.3. Emergenz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2.4. Selbstorganisierende Systeme . . . . . . . . . . . . . . . . . . . . . . . 92.2.5. Mechanismen der Selbstorganisation . . . . . . . . . . . . . . . . . . . 10

2.3. Lastverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.1. Was ist Lastverteilung? . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3.2. Statische Lastverteilungsverfahren . . . . . . . . . . . . . . . . . . . . 122.3.3. Dynamische Lastverteilungsverfahren . . . . . . . . . . . . . . . . . . . 132.3.4. Vergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4. Bezug auf Prozessplatzierungsverfahren . . . . . . . . . . . . . . . . . . . . . 15

3. Verwandte Arbeiten 183.1. Arbeit von Tales Heimfarth . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2. Arbeit von S.Graupner, A.Andrzejak, V.Kotov und H.Trinks . . . . . . . . . 193.3. Arbeit von U.Brinkschulte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.4. Arbeit von Ichiro Satoh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.5. Kraftemodell nach H.Heiss und M.Schmitz . . . . . . . . . . . . . . . . . . . . 21

3.5.1. Allgemeine Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . 213.5.2. Beschreibung Systemmodell . . . . . . . . . . . . . . . . . . . . . . . . 23

4. Umsetzung dynamisches Prozessplatzierungsverfahren 274.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2. Individuelle Umsetzung des Kraftemodells . . . . . . . . . . . . . . . . . . . . 28

4.2.1. Allgemeine Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . 284.2.2. Systemmodell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.2.3. Erweiterungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.2.4. Funktionsweise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344.2.5. Gemeinsamkeiten und Unterschiede . . . . . . . . . . . . . . . . . . . 36

Page 5: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung 375.1. Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.1.1. Simulationsumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.1.2. Verwendete Bibliotheken . . . . . . . . . . . . . . . . . . . . . . . . . . 385.1.3. Verwendete Netztopologien . . . . . . . . . . . . . . . . . . . . . . . . 38

5.2. Auswertung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.2.1. Cluster-Topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.2.2. Grid-Topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505.2.3. Small-World-Topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.2.4. Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6. Abschlussbetrachtung 696.1. Zukunftige Arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696.2. Zusammenfassung und Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Literaturverzeichnis I

Abbildungsverzeichnis III

Tabellenverzeichnis V

Abkurzungsverzeichnis VI

Anhang VIIA. Inhalt der beigefugten CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VII

A.1. Diplomarbeit (pdf, latex) . . . . . . . . . . . . . . . . . . . . . . . . . VIIA.2. Simulationsumgebung (Source-Code, ausfuhrbare Datei) . . . . . . . . VIIA.3. Verwendete Arbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . VIIA.4. Simulationsergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . VIIA.5. Dokumentation (Readme, Handbuch, Javadoc der Simulationsumgebung)VII

Page 6: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

1. Einleitung

1.1. Motivation

Heutzutage, in unserer stetig technisch wachsenden Gesellschaft, gibt es immer mehr Her-ausforderungen, Softwaresysteme zu automatisieren und selbststandiger zu machen. Um die-sen Anforderungen gerecht zu werden, bedarf es ausgeklugelten Mechanismen. Denn bei derwachsenden Große solcher Systeme ist es herkommlichen Systemadministratoren kaum nochmoglich, diese zu verwalten. Oftmals bedarf es Anderungen des Systems zur Laufzeit und ge-rade diese Aufgabe lasst Menschen an ihre Grenzen stoßen. So ist es nicht verwunderlich, dassman versucht, diese Schritte zu automatisieren und das System selbststandig auf außere Ein-flusse reagieren zu lassen. Im Laufe der Zeit haben sich Softwaresysteme mehr hin zu dienstori-entierten Systemen entwickelt. Ob Online-Banking, -Shopping oder einfache Kommunikation,diese Dienste laufen heute schon automatisiert und selbststandig ab. Dies fuhrt jedoch zuhoheren Anspruchen an die darunterliegende Infrastruktur. Der Wandel von softwarelastigen,monolithischen Systemen zu Systemen, die uber Dienste auf gewisse Funktionalitaten zugrei-fen, schreitet immer weiter voran. Dadurch entsteht eine komplexe, dezentrale und verteilteStruktur, die die Moglichkeiten menschlicher Administration so gut wie unmoglich macht.Nun bedarf es innovative Ansatze, solche Softwaresysteme zu entwickeln, zu betreiben und zuverwalten. Diese Ansatze sind gerade deswegen so wichtig, da sie unabdingbar fur das Uber-leben und den Erfolg vieler Firmen sind. Denn auch die Endverbraucher fordern von Firmenflexible, verlassliche, robuste und dienstorientierte Eigenschaften von Softwaresystemen. Viel-versprechende Systeme, die zum Einen diese Eigenschaften erfullen und zum Anderen ihreVerwaltung vereinfachen, sind jene, welche wahrend ihrer Laufzeit Ruckmeldung uber ihrenaktuellen Systemzustand liefern und darauf entsprechend reagieren. Dieses Selbstmanagementund Selbstanpassung in einer sich standig veranderlichen Umwelt ist der beste Ansatz, umdie Komplexitat dieser Systeme beherrschen zu konnen.[MKS09]

Auch die Industrie erkannte das Problem stetig wachsender Computersysteme und dahergab es einige Kampagnen, die sich mit diesem Problem befasst haben. Eine der bekannte-sten Forschungsinitiativen ist die Autonomic Computing Initiative von IBM. Dabei solltenAnsatze aus der Natur ubernommen werden, um ein selbstanpassendes Verhalten zu reali-sieren. Paul Horn, der Initiator des Autonomic Computing, nahm sich das vegetative Ner-vensystem als Vorbild fur zukunftige Computersysteme. Es arbeitet autonom und reagiertmithilfe der Vitalfunktionen auf sich andernde Umgebungsbedingungen. Weitere Ansatze indieser Richtung sind Sun‘s N1 Management Software, die Administratoren die Verwaltungeiner großen Anzahl von Services in komplexen, heterogenen IT Infrastrukturen erleichternsoll. [Cora, Tru08, MKS09]

Diese Diplomarbeit beschaftigt sich ebenfalls mit dem Thema Autonomic Computing. Hier-bei wird ein Algorithmus vorgestellt, der eine dynamische Verteilung von Services in einemheterogenen, verteilten Umfeld ermoglicht. Zusatzlich wird eine Simulationsumgebung ge-schaffen, in der der entwickelte Algorithmus durch gezielte Parameter effizient getestet undevaluiert werden kann.

1

Page 7: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

1. Einleitung

Zunachst wird im folgenden Abschnitt 1.2 die Aufgabenstellung zu dieser Diplomarbeitbeschrieben.

Anschließend wird in Kapitel 2 auf die Grundlagen anpassungsfahiger Systeme naher ein-gegangen. Dabei werden Eigenschaften aufgezeigt, die eine Zuordnung eines Systems zumAutonomic oder Organic Computing ermoglicht. Außerdem werden Begrifflichkeiten erklart,die fur die weitere Arbeit relevant sind.

Eine Zusammenfassung verwandter Arbeiten, die sich ebenfalls mit der Selbstorganisationin verteilten Systemen befasst haben, erfolgt in Kapitel 3. Den Schluss dieses Kapitels bildeteine Arbeit, auf welcher das zu entwickelnde Verfahren aufbaut.

Danach geht es in Kapitel 4 um die konkrete Umsetzung eines dynamischen Prozessplat-zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu-lationen evaluiert wird.

Zum Schluss werden in Kapitel 6 zum Einen Moglichkeiten vorgestellt, die das entwickelteVerfahren erganzen konnen, und zum Anderen erfolgt eine kleine Zusammenfassung dieserDiplomarbeit.

1.2. Aufgabenstellung

Das Thema dieser Diplomarbeit ist die

Entwicklung und Evaluierung eines dynamischen Prozessplatzierungsverfahrensfur verteilte Systeme

unter Berucksichtigung verschiedener Ziele, die im weiteren Verlauf dieses Abschnitts erlautertwerden.

Das Internet ist eines der besten Vertreter eines verteilten Systems. Uberall auf der Weltgibt es Computer, die durch eine passende Kommunikationsschicht miteinander verbundensind. Jeder Einzelne besitzt eine gewisse Menge an Ressourcen auf seinem Rechner1, dieausschließlich er selbst nutzt.

In der Mitte der 90er Jahre hat sich der Begriff des Grid Computing immer mehr durch-gesetzt. Dabei geht es darum, ‘(...) die Ressourcen einer Gemeinschaft, einer so genanntenvirtuellen Organisation,(...)’[BNS04] zu integrieren. Ziel ist es, rechenintensive Aufgaben inkleinere Teilaufgaben zu zerlegen und mithilfe der Ressourcen der verteilten Rechner zu be-arbeiten und letztendlich die gesamte Aufgabe zu losen. Einer der bekanntesten Vertreter istdas Computing-Projekt SETI@Home.[BNS04] Bei solchen Projekten gibt es aber eine uber-geordnete Instanz, die fur die Verteilung der Teilaufgaben und die Zusammenfuhrung derTeilergebnisse zustandig ist.

Das Prinzip eines dynamischen Prozessplatzierungsverfahrens bleibt dasselbe. Die Ressour-cen der im verteilten System befindlichen Rechner werden fur die Ausfuhrung der vorhandenenProzesse genutzt. Da sich die Entwicklung von Computersystemen immer mehr in Richtungdienstbasierte Nutzung entwickelt, verrichten einzelne Dienste bestimmte Aufgaben, kommu-nizieren miteinander und teilen ihre Ergebnisse.[BIT07] Dadurch verlagert sich die Bearbei-tung von Aufgaben auf mehrere, miteinander verbundene Rechner in einem verteilten System.Fur die Verteilung der Tasks2 im Netz gibt es keine ubergeordnete Instanz. Dynamik ist hier

1Im Kontext dieser Diplomarbeit werden Begriffe wie Rechner, Computer, Server oder Host gleichgestellt2Im Kontext dieser Diplomarbeit werden Begriffe wie Task, Service, Prozess oder Dienst gleichgestellt

2

Page 8: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

1. Einleitung

das Schlusselwort. Prozesse, die eine bestimmte Aufgabe bzw. Berechnung erfullen, sollen sichselbststandig im verteilten System anordnen. Dabei sollen bestimmte Kriterien erfullt werden:

• Jeder Task soll auf dem jeweiligen Rechnerknoten optimal funktionieren

• Kommunikationswege zu abhangigen Tasks sollen minimiert werden

Um diesen Kriterien gerecht zu werden, ist es den Tasks moglich, uber das Netz zu anderenRechnerknoten zu migrieren.

3

Page 9: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

Um uberhaupt ein dynamisches Prozessplatzierungsverfahren zu entwickeln, muss auf einigeGrundlagen aus dem Bereich des Autonomic und Organic Computing eingegangen werden.Durch Ansatze aus diesen beiden Forschungsbereichen kann eine dynamische Verteilung vonTasks in einem verteilten System realisiert werden.

2.1. Autonomic Computing

2.1.1. Was ist Autonomic Computing?

Der Begriff des Autonomic Computing wurde erstmals 2001 von IBM gepragt. Dabei ging esdarum, die Komplexitat wachsender Computersysteme zu beherrschen. Fur Administratorenheutiger und auch zukunftiger Computersysteme bedeutet das eine fast unlosbare Aufgabe.Eine gewisse Begriffserklarung liefert IBM selbst.

‘The goal of autonomic computing is to dramatically reduce the cost and per-ceived complexity of these systems by enabling them to manage themselves inaccordance with high-level guidance from humans.’[IBM06]

Kostenreduktion und Beherrschbarkeit sind dabei die Ziele solcher Systeme. Im nachstenAbschnitt werden Eigenschaften eines Computersystems, welches den Prinzipien des Autono-mic Computing folgt, erlautert. Diese werden die Selbst-X-Eigenschaften genannt.

2.1.2. Selbst-X-Eigenschaften

Ein Computersystem und dessen Komponenten konnen erst dann als autonom angesehenwerden, wenn sie vier essentielle Eigenschaften erfullen. [IBM06, Tru08, Ste05]

Selbstkonfiguration Das System kann sich durch Strukturanderungen auf veranderte Um-gebungsbedingungen automatisch einstellen. Außerdem kann Selbstkonfiguration beiSelbstoptimierung, Selbstheilung oder Selbstschutz assistieren.

Selbstoptimierung Das System hat Kenntnis uber seinen Idealzustand. Im laufenden Betriebwird der aktuelle Zustand damit verglichen und gegebenenfalls Verbesserungen einge-leitet. Der Unterschied zur Selbstkonfiguration liegt darin, dass die Verbesserung nichtauf struktureller Ebene vollzogen wird, sondern durch Anpassung von Parametern.

Selbstheilung Die Selbstheilung stellt einen Mechanismus dar, um auf Fehlerzustande zu rea-gieren. Dies kann auf zweierlei Arten geschehen. Ruckwirkend, d.h. sobald ein Fehlererkannt wurde, wird eine Rekonfiguration veranlasst und falls moglich der Fehler be-hoben. Vorausschauend, d.h. der Systemzustand wird standig uberwacht und versucht,Fehlerzustande vorherzusagen und letztendlich zu vermeiden. Vergleichbares findet sichin der Medizin, wo Vitalfunktionen eines Menschen beobachtet und bei ungewohnlichenAnzeichen Maßnahmen ergriffen werden.

4

Page 10: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

Selbstschutz Wie das Immunsystem bei einem Menschen kann dieses Verfahren auch aufComputersysteme ubertragen werden. Externe Angriffe werden dabei erkannt und ent-sprechend darauf reagiert. Dabei wird nicht unterschieden, ob diese Angriffe bewusstvon außen provoziert wurden oder unbeabsichtigt passiert sind.

Zusatzlich werden in der Arbeit von R.Sterrit [Ste05] vier Attribute erwahnt, uber dieein selbstverwaltendes System verfugen sollte. Diese sind neben den Selbst-X-Eigenschaftenin Abbildung 2.1 illustriert. Das System muss zustands-bewusst sein, d.h. das System mussden aktuellen, internen Zustand selbst kennen. Außerdem muss es sich der externen Umge-bungsbedingungen bewusst sein (kontext-bewusst). Die Fahigkeit, Veranderungen festzustel-len (Selbstuberwachung) und darauf den Systemzustand anzupassen (Selbstanpassung) zahltebenfalls zu den wichtigen Attributen eines selbstverwaltenden Systems. Dabei spielen dieSelbstuberwachung und die Selbstanpassung eine wichtige Rolle. Sie definieren namlich einenMechanismus, der kennzeichnend fur selbstverwaltende Systeme ist. [Ste05]Dieser wird in Abschnitt 2.1.3 geschildert.

Abbildung 2.1.: Autonomic Computing Eigenschaften nach [Ste05]

2.1.3. Feedback-Mechanismus

Das Herzstuck solcher selbstverwaltender Systeme ist ein sogenannter Feedback-Mechanismus,welcher in vielen Bereichen der Mathematik und Ingenieurwissenschaften bekannt ist. Dabeigeht es um die Regulierung von dynamischen Systemen wie es in Abbildung 2.2 abgebildetist. [MKS09]

Ein Feedback-Mechanismus besteht aus mehreren Komponenten, die miteinander agierenund durch geschickte Parameterauswahl versuchen, die Zielspezifikation des Systems zu er-halten. Eine wichtige Rolle nehmen dabei Sensoren und Effektoren ein. Durch die Senso-

5

Page 11: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

Abbildung 2.2.: Feedback-Mechanismus[MKS09]

ren werden sowohl externe als auch interne Veranderungen aufgefangen, mit Erwartungs-werten verglichen, Reaktionsmaßnahmen geplant und letztendlich durch die Effektoren aus-gefuhrt. Dieser Vorgang geschieht in einem immer wahrenden Zyklus, siehe Abbildung 2.2,und bildet die Basisstruktur einer jeden Systemkomponente in einem selbstverwaltendenSystem.[Ste05, MKS09]

Ein einfaches Beispiel fur dieses Kontrollkonstrukt ist ein Thermostat. Er reguliert die Tem-peratur z.B. eines Hauses, indem er die Innentemperatur misst und anhand von vorgegebenenDaten die Klimaanlage aktiviert bzw. deaktiviert.[MKS09]

2.2. Organic Computing

Ein dynamisches Prozessplatzierungsverfahren sorgt fur eine Selbstorganisation der in einemverteilten System befindlichen Tasks. Fur die Realisierung eines solchen Verhaltens werdenzwar die Grundlagen aus dem Bereich des Autonomic Computing verwendet, jedoch werdenaufgrund der Selbstorganisation, die keine zentrale Administration benotigt, auf zusatzlicheMechanismen des Organic Computing zuruckgegriffen. Im Folgenden werden aus diesem Be-reich Begrifflichkeiten, Systeme und Mechanismen vorgestellt.

2.2.1. Was ist Organic Computing?

Aus dem Begriff des Autonomic Computing hat sich spater der des Organic Computing ent-wickelt. Dabei liegt der Fokus des Organic Computing auf einer großen Menge von kleinen,intelligenten Geraten, die dem Menschen Dienste bereitstellen und auf außere Einflusse rea-gieren. Nun steht man, wie beim Autonomic Computing, vor der Herausforderung, diese meisteingebetteten Systeme zu verwalten. Zum Einen wegen ihrer Anzahl und zum Anderen wegenfehlender Administrationsschnittstellen fur diese Systeme. Außerdem folgt aus dem Zusam-menschluss vieler kleiner Systeme meist ein unerwartetes globales Verhalten des Gesamtsy-stems. Abhilfe verspricht das Forschungsgebiet des Organic Computing. Solche Systeme sollenlebensahnliches Verhalten aufweisen. Selbstorganisation ist hier das Stichwort und stellt einPhanomen des Organic Computing dar. In Abschnitt 2.2.2 wird der Begriff der Selbstorgani-

6

Page 12: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

sation naher beschrieben. Ein weiteres Phanomen dieser Systeme ist die Emergenz. WeitereErlauterung dazu in Abschnitt 2.2.3.[H.S05]

Organic Computing Systeme erfullen außerdem die Selbst-X-Eigenschaften, wie sie in Ab-schnitt 2.1.2 fur Autonomic Computing Systeme gefordert wurden. Zusatzlich mussen dieschon genannten Phanomene der Selbstorganisation und Emergenz behandelt werden.[H.S05]

2.2.2. Selbstorganisation

Der Begriff der Selbstorganisation ist ein wesentlicher Bestandteil des Organic Computing.Deshalb wird eine Erklarung zu diesem Begriff und dessen Eigenschaften geliefert.

Definition

Als Selbstorganisation wird in der Systemtheorie eine Form der Systementwick-lung bezeichnet, bei der die formgebenden, gestaltenden und beschrankenden Ein-flusse von den Elementen des sich organisierenden Systems selbst ausgehen.[Tru08]

Diese Definition beinhaltet einige wichtige Eigenschaften selbstorganisierender Systeme, aufdie im Folgenden kurz eingegangen wird.

Komplexitat Selbstorganisierende Systeme sind komplex, da ihre Komponenten miteinandervernetzt sind und in Beziehung zueinander stehen. Diese konnen sich jederzeit andern,ebenso die Komponenten selbst. Dadurch wird die Vorhersagbarkeit und Beschreibbar-keit des Systems erschwert. [Tru08]

Selbstreferenz Die Selbstorganisation des Systems geschieht ohne jeglichen Einfluss von au-ßen. Lokale Interaktionen zwischen seinen Komponenten wirken sich auf das Verhaltendes Systems aus. Diese Interaktionen entstehen jedoch meist indirekt aufgrund seinerUmgebung.[SFH04, Tru08]

Redundanz Jede Komponente stellt ein Individuum in selbstorganisierenden Systemen dar.Eine Hierarchie unter diesen besteht nicht.[Tru08]

Autonomie Ein selbstorganisierendes System handelt autonom. Jede Beziehung und Inter-aktion zwischen den Komponenten wird durch das System selbst bestimmt.[Tru08]

Ein wichtiger Effekt der Selbstorganisation ist das Auftreten sogenannter emergenter Phano-mene. Der Begriff der Emergenz wird im folgenden Abschnitt 2.2.3 ausfuhrlich erklart.

2.2.3. Emergenz

Pauschal formuliert ist Emergenz das Auftreten von Unterschieden zwischen lokalem undglobalem Verhalten. Immer dann, wenn die nichtlineare Kombination lokaler Verhalten einglobales Verhalten beobachten lasst, spricht man von Emergenz.[H.S05]

In den Geisteswissenschaften ist von zwei Arten der Emergenz die Rede. Diese werdenanschließend erklart und in Bezug zum heutigen Begriff des Organic Computing gesetzt.

7

Page 13: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

Schwache Emergenz

Schwache Emergenz basiert auf drei unterschiedlichen Thesen. Physikalischer Monismus, Sy-stemische Eigenschaften und Synchroner Determinismus. Diese Art stellt die unterste Ebe-ne der Emergenz dar und kann durch zusatzliche Thesen zu starkerer Emergenz erweitertwerden.[CB06]

Physikalischer Monismus Grundsatzlich kann man sagen, dass alle Systeme, auch die mitemergenten Eigenschaften, aus physikalischen Einheiten bestehen. Damit ware allesphysikalisch erklarbar und beruht nicht auf eine ubergeordnete Instanz, die fur dieemergenten Eigenschaften verantwortlich ist.[CB06]

Systemische Eigenschaften Durch diese werden Eigenschaften charakterisiert, die sich alsemergent eignen. Kennzeichnend fur emergente Eigenschaften ist die Tatsache, dassdas System als Ganzes diese Eigenschaft aufzeigt, jedoch seine einzelnen Komponentennicht.[CB06]

Synchroner Determinismus Dadurch wird die Relation zwischen der ‘Mikrostruktur’ des Sy-stems und seinen emergenten Eigenschaften spezifiziert. Man kann sagen, dass bei densystemischen Eigenschaften keine Veranderung stattfindet ohne explizite Veranderungin der Struktur des Systems oder der Eigenschaften seiner Komponenten.[CB06]

Beispiele schwacher Emergenz

Beispiele von Systemen, die die Eigenschaft der schwachen Emergenz aufzeigen, werden kurzaus der Arbeit von C.Muller-Schloer und B.Sick[CB06] aufgelistet:

• In der Mineralogie erzeugen z.B. Carbonatome Materialien unterschiedlicher Festigkei-ten. Diese Eigenschaft zeigt ein einzelnes Atom nicht.

• In der Elektronik bilden ein Widerstand, ein Induktor und ein Kondensator einenSchwingkreis. Die einzelnen Komponenten sind nicht in der Lage einen Schwingkreiszu erzeugen.

• In der Robotik konnen Roboter gegeneinander Fußball spielen. Wie man sich vorstellenkann, ist das den einzelnen Bauteilen des Roboters nicht moglich.

Starke Emergenz

Durch Hinzunahme sehr strenger Anforderungen kann die schwache Emergenz zur starkenEmergenz erweitert werden. Diese stellt den hochsten Grad an Emergenz dar und basiertaußerdem auf der These der Irreduzibilitat.[CB06]

Irreduzibilitat Das Fehlen der Reduzierbarkeit. Um die Eigenschaften eines System zu er-klaren, kann man oft auf die Beschreibungen oder Eigenschaften deren Komponentenzuruckgreifen bzw. reduzieren. Bei starker Emergenz ist dies nicht moglich.[CB06]

Um den Begriff der starken Emergenz zu verdeutlichen, betrachte man Abbildung 2.3.In einem Behalter wird eine Flussigkeit von unten erhitzt. Zwischen Boden und Oberflacheherrscht eine Temperaturdifferenz. Sollte dieser Temperaturunterschied oberhalb eines kriti-schen Wertes sein, findet der Warmetransport durch Warmekonvektion statt und durch den

8

Page 14: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

Abbildung 2.3.: Benard Experiment als Beispiel fur starke Emergenz[CB06]

Dichteunterschied zwischen Boden und Oberflache kommt die Flussigkeit in Bewegung. Dabeitreten regelmaßig geformte Konvektionszellen auf. Dieses Phanomen zeigt dabei Eigenschaf-ten starker Emergenz. Sie treten nur als Ganzes auf und die einzelnen Molekule besitzen jeneEigenschaft nicht bzw. es kann darauf nicht reduziert werden.[CB06, Wikb]

Bezug zu Organic Computing

Diese philosophischen Definitionen der Emergenz sind entweder zu schwach oder zu stark.Zum Einen fuhrt schwache Emergenz dazu, dass zu viele Systeme sich als emergent bezeichnenund zum Anderen fuhrt der Begriff der starken Emergenz dazu, dass nur keine technischenSysteme emergente Eigenschaften zeigen. Der Bereich des Organic Computing muss deshalbzwischen diesen Auspragungen platziert werden.[CB06] Alternative Ansichten werden in derArbeit von C.Muller-Schloer und B.Sick[CB06] ausfuhrlich aufgelistet und erklart.

2.2.4. Selbstorganisierende Systeme

In den vorherigen Teilabschnitten wurde der Begriff der Selbstorganisation und Emergenznaher erlautert. Nun gibt es Arten von Systemen, die diese Eigenschaften in sich vereinen.Drei solcher Systeme waren physikalische, lebende und soziale Systeme. [SFH04] In diesemAbschnitt werden diese Arten kurz beschrieben.

Kennzeichnend fur physikalische Systeme ist die Eigenschaft, dass solche Systeme uber einensogenannten ‘kritischen Wert’ verfugen, anhand dessen sich der Zustand des Systems andert.Die Zustandsanderung von einem chaotischen in einen stabilen Zustand wird durch globaleKontrolle beobachtet. Beispiel hierfur ist ein thermodynamisches System aus Gaspartikeln.Dieses besitzt emergente Eigenschaften wie Druck und Temperatur, die nicht aus einzelnenPartikeln ableitbar sind. Wie man an diesem Beispiel schon erkennen kann, kommt auch hierder Begriff der Emergenz vor.[SFH04]

Bei lebenden Systemen liegt das Augenmerk der Wissenschaft darauf, Invarianten in derEntwicklung naturlicher Systeme zu erforschen. Dabei wird im Speziellen das Auftreten einesAblaufs in lebenden komplexen Systemen beobachtet, welches aufgrund der Selbstorganisati-on auftritt. Gerade in solchen lebenden Systemen kann die globale Emergenz eines Verhaltensoder einer Eigenschaft nicht auf Eigenschaften der Komponenten reduziert werden. In Ab-schnitt 2.2.3 wurde dies unter dem Begriff der starken Emergenz schon beschrieben. Erwahntwurde außerdem, dass bei Einhaltung der strengen Eigenschaften fur diesen Begriff, star-ke Emergenz weitestgehend nur bei lebenden, naturlichen Systemen wiederzufinden ist. EinBeispiel fur die Selbstorganisation in lebenden Systemen ist das Zytoskelett. Es besteht ausden sogenannten Filamenten, die fur bestimmte Aufgaben zustandig sind und dies durch

9

Page 15: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

ihre kollektives Verhalten erreichen. Das Zytoskelett ist ein aus Proteinen aufgebautes Netz-werk im Zytoplasma von Eukaryotenzellen. Diese lassen sich bei Tieren und Pflanzen finden.Eukaryotenzellen sind in sogenannte Zellorganelle aufgeteilt, welche wie menschliche Organeverschiedenste Funktionen erfullen. Eine Zellorganelle besitzt eine bestimmte Funktionalitat,die die Funktionalitat aller beteiligten Zellen ubersteigt. Diese Zellen sind die Basis fur Lebenund entwickeln sich durch Austausch mit ihrer Umwelt immer weiter. Dafur verwenden dieseZellen Mechanismen wie Mutation oder naturliche Selektion. Dies ist auch das Resultat derSelbstorganisation von Zellen.[SFH04]

Soziale Systeme ist eine weitere Art von Systemen, bei denen sozialinteragierende Insektensich selbst organisieren, um effiziente Futtersuche oder Nestbau zu betreiben. Dabei kommenKommunikationsmechanismen wie Stigmergie und Interaktion mit ihrer Umgebung zum Ein-satz. Durch Markierung (Stigma) ihrer Umwelt mit chemischen Substanzen sind z.B. Ameisenoder Termiten in der Lage, Wege zu ihren Futterorten wiederzufinden. Kein einzelnes Insektbesitzt das Wissen, den Weg zur Futterstelle zu finden, jedoch durch ihre Interaktionsmecha-nismen wachsen diese zu einer organisierten Gesellschaft heran. Diese Sozialstruktur ist inder Lage, ihre Umwelt zu erforschen, Futter zu finden und den Rest ihrer Kolonie daruber zuinformieren. Durch Pheromone besitzen diese Insekten einen indirekten Kommunikationsme-chanismus, der durch ihre Umwelt realisiert wird.[SFH04]

Abgesehen von tierischen Gesellschaften verfugen Menschen uber ahnliches Verhalten. Sieschließen sich in vorteilhafte Gesellschaften zusammen und nutzen dabei meistens direkteKommunikation.

2.2.5. Mechanismen der Selbstorganisation

Selbstorganisierendes Verhalten kann durch verschiedene Mechanismen realisiert werden. ImFolgenden werden zwei Beispiele dazu naher erlautert. Weitere Mechanismen waren Koho-nen neuronale Netze oder Koordination. Letzteres gibt ein Koordinationsmodell fur Multi-Agentensysteme vor.[SFH04]

Magnetfelder

Magnetische Materialien bestehen aus einer Vielzahl von kleinsten Magneten oder Spins.Die Ausrichtung dieser Spins erfolgt aufgrund der zufalligen Bewegungen der Molekule imMaterial. Sobald die Temperatur im Material steigt, steigt auch die Bewegungsintensitat derMolekule und macht es den Spins unmoglich, sich geordnet auszurichten. Im Gegensatz dazusind die Spins bei niedrigeren Temperaturen durch die geringe Bewegung der Molekule inder Lage, sich geordnet anzuordnen. Dies geschieht durch Aggregation der unterschiedlichenMagnetfelder zu einem Gesamtmagnetfeld. Die Orientierung der Spins ist variabel und hangtvon der lokalen Umgebung ab. Magnetisierung weist Selbstorganisation auf.[SFH04]

In Abbildung 2.4 kann man dieses Phanomen gut erkennen. Eisenfeilspane zeigen zuerstin jegliche Richtungen. Wird jedoch unter diese ein Stabmagnet platziert, richten sie sichnach dessen Feldlinien aus. Dieser Vorgang ist mit dem eben beschriebenen Verhalten vonmagnetischen Materialien vergleichbar.

Stigmergie

Naturlich soziale Insektengemeinschaften wie Ameisen, Termiten oder Bienen zeigen zahlrei-che komplexe Verhaltensweisen auf. Das emergente Verhalten ist das Resultat der Selbstorga-

10

Page 16: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

Abbildung 2.4.: Eisenfeilspane richten sich nach Stabmagneten aus[Wik10]

nisation und basiert auf einem Mechanismus, der Stigmergie, welcher zuerst von Grasse 1959eingefuhrt wurde. Grasse studierte dabei den Nestbau von Termiten und stellte fest, dass dieStruktur des Baus wesentlichen Einfluss auf das Verhalten der Arbeiter hatte. So ein Verhal-ten kann fur viele Insektengemeinschaften beobachtet werden und stellt ein Grundprinzip derKooperation in solchen Gemeinschaften dar. Hierbei wird die Umwelt als Medium benutzt,um vergangene Verhalten zu dokumentieren und letztendlich zukunftige Verhalten damit zubeeinflussen. Je ofter ein Prozess auftritt, desto haufiger wird er wahrscheinlich in Zukunftauftreten. Ein solcher Ablauf wird als katalytischer Prozess bezeichnet. Dieser Mechanismuszeigt auf, wie komplexe Verhaltensweisen entstehen konnen, indem der Einfluss der Umweltauf andere ausgenutzt wird. Ein gutes Beispiel fur diesen Prozess ist das Finden von Futter-orten bei Ameisen. Ameisen verlassen ihr Nest und bewegen sich unkoordiniert um das Nestherum. Sobald eine Ameise Futter gefunden hat, nimmt sie es auf und auf ihrem Ruckweghinterlasst sie eine Pheromonspur, die nur eine gewisse Zeit in der Natur verweilt. Sollte eineandere Ameise auf ihrer Erkundungstour diese Pheromonspur entdecken, folgt sie dieser biszur Futterstelle. Sie nimmt Futter auf und kehr zum Nest zuruck. Dabei hinterlasst sie wiedie andere Ameise eine Pheromonspur, die die bisherige verstarken kann. Nach einer Weilewird diese Spur immer intensiver und mehr Ameisen folgen ihr in Zukunft. Somit wird auseinem unkoordinierten Verhalten eine organisierte Futtersuche.[SFH04]

Ahnlich der naturlichen Pheromonabgabe bei Ameisen werden heutzutage schon Anwen-dungen entwickelt, bei denen digitale Pheromone eingesetzt werden, um bestimmte Optimie-rungen eines Problems zu erzielen. Eine andere, aber sehr ahnliche Variante der Pheromonab-lage, ist der Gebrauch von sogenannten Tags. Bestimmte Informationen wie Funktionalitatenoder Verhalten werden an einen Datensatz angehangt und von anderen Datensatzen beob-achtet bzw. verwendet. Solche Tags bilden eine selbstorganisierende Applikation. Aufgrunddieser beobachteten Tags erfolgen Interaktionen zwischen diesen Datensatzen. Anwendungs-felder lassen sich heute im Web oder bei mobilen Geraten finden.[SFH04]

2.3. Lastverteilung

Ein weiterer wichtiger Punkt und Grundlage fur ein dynamisches Prozessplatzierungsverfah-ren ist der Begriff der Lastverteilung (LV). Aufgrund der gesetzten Ziele fur ein solches Verfah-ren soll die Verteilung der Tasks im verteilten System ausbalanciert sein, d.h. die Ausfuhrung

11

Page 17: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

eines Tasks soll nicht durch eine Uberlastung seines Wirtsknotens beeintrachtigt werden. Zudiesem Zweck wird der Begriff der LV und die Verfahren dazu beschrieben.

2.3.1. Was ist Lastverteilung?

Wie schon erwahnt spielen parallele, verteilte Systeme in der Welt der Computersystemeeine immer großere Rolle. Dafur mussen jedoch geeignete Techniken fur die Verteilung vonProzessen in parallelen Programmen entwickelt werden. Dabei sollen Ziele wie die Minimie-rung der Ausfuhrungszeit, Minimierung der Kommunikationsverzogerungen, Maximierung derRessourcennutzung und Maximierung des Datendurchsatzes erreichen werden. In verteiltenSystemen kann die Auslastung verschiedener Rechner sehr unterschiedlich sein, was zur Ver-schlechterung der eben genannten Punkte fuhrt. Dieses Ungleichgewicht zwischen den Rech-nern kann durch Ubertragung der Prozesse von sehr belasteten zu weniger belasteten Rech-nern uberwunden werden und zu einer besseren Performance fuhren. Um dies zu erreichen,werden sogenannte LV-Verfahren entwickelt. Diese Verfahren konnen in zwei Kategorien, sta-tisch und dynamisch, unterteilt werden. In den folgenden Teilabschnitten werden diese kurzerlautert.[CSW+06]

2.3.2. Statische Lastverteilungsverfahren

Bei Statische Lastverteilungsverfahren (SLV) werden durch Informationen der Prozesse apriori, zur Kompilierzeit, diese den Rechnern zugeordnet. Dabei werden Informationen wiedurchschnittliche Ausfuhrungszeit und Ressourcenverbrauch der jeweiligen Prozesse herange-zogen. Dies kann jedoch zur Laufzeit zu Problemen fuhren, da sich die Ausfuhrungszeiten derProzesse in heterogenen Systemen verandern konnen. Systemadministratoren versuchten bis-her, Benutzeraccounts entsprechend ihrer Arbeitslast den jeweiligen Maschinen zuzuordnen.Diese einfache Art der statischen Lastzuteilung hatte den Nachteil, dass aufgrund wechseln-dem Bedarfs der Benutzer und zu hoch ausgelasteter Maschinen periodische Neuzuordnungenerforderlich waren.[CSW+06]SLV konnen in zwei Kategorien aufgeteilt werden:[CSW+06]

1. Optimale SLV

Sollten alle Informationen wie Zustand des Systems und Ressourcenverbrauch schonzur Kompilierzeit verfugbar sein, kann eine optimale Zuordnung der Prozesse zu denRechnern gemacht werden. Dabei kann nach verschiedenen Kriterien optimiert werden(z.B. Minimierung der Ausfuhrungszeit aller Prozesse, Maximierung Ressourcennutzungoder des Durchsatzes). Simulated Annealing (SA)[Kir84] oder Genetische Algorithmen(GA) sind geeignete Optimierungstechniken dafur.

2. Sub-Optimale SLV

In Situationen, in denen keine optimale Losungen existieren, werden sub-optimale Me-thoden herangezogen. Diese auf Regeln und Heuristiken basierten Methoden lenkeneinen Prozess-Scheduler, um eine Losung zu finden (z.B. List Scheduling). Im Laufeder Zeit wurden einige Verfahren entwickelt, wie Graphentheoretische Ansatze (GTA),Ansatze aus der Warteschlangen-Theorie, Round-Robin Algorithmen und heuristischeAlgorithmen.

12

Page 18: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

2.3.3. Dynamische Lastverteilungsverfahren

Der Nachteil eines SLV ist die Tatsache, dass fur eine optimale Verteilung der Prozesse auf denvorhandenen Rechnern vorab zu viele Informationen notig sind. Je intensiver eine Berechnungin einem verteilten Netz ist, desto essentieller ist es, eine optimale Verteilung zu finden. Auf-grund dieses Nachteils hat sich die Forschung auf Dynamische Lastverteilungsverfahren (DLV)konzentriert, die die aktuelle Last zur Laufzeit berucksichtigen und durch Prozessmigration dieLast entsprechend auf andere Rechner verteilen. Bei DLV wird die Auslastung aller Rechnerstandig beobachtet und bei einem gewissen Ungleichgewicht eine Neuverteilung angestoßen.Das Netz bleibt dabei standig balanciert, die Kehrseite jedoch ist der zusatzliche Overhead,der zur Laufzeit entsteht.[CSW+06]Funf Punkte berucksichtigt ein DLV-Algorithmus:[CSW+06]

1. Last-Abschatzungsregel gibt an, wie die Last eines Knotens im Netz bestimmt wer-den soll

2. Prozess-Transferregel, welche angibt, ob ein Prozess lokal oder entfernt ausgefuhrtwerden soll

3. Zustands-Austauschregel, welche bestimmt, wie die Lastinformationen des Systemsentlang der Knoten ausgetauscht werden sollen

4. Prioritaten-Zuweisungsregel, welche durch Prioritaten angibt, in welcher Reihenfol-ge lokale oder entfernte Prozesse auf einem Knoten ausgefuhrt werden

5. Migrations-Begrenzungsregel gibt an, wie oft ein Prozess von einem zum anderenKnoten migrieren kann

Optimale Losungen fur die Verteilung von Prozessen wurden meist durch heuristische Ver-fahren erzielt. Es gibt zwei Ansatze, mit denen man DLV-Algorithmen untersuchen kann.Der erste Ansatz ist Analytische Modellierung, bei dem das Computersystem als ein Warte-schlangennetz mit eintreffenden Jobs modelliert wird und deren Ressourcenverbrauch gewissenWahrscheinlichkeiten folgt. Angesichts der Einschrankungen dieser Technik, stellen Simula-tionen den zweiten Ansatz dar und werden oftmals dazu verwendet, Naherungslosungen zuerhalten.[CSW+06]

2.3.4. Vergleich

Um SLV und DLV miteinander vergleichen zu konnen, bedarf es einigen qualitativen Unter-scheidungskriterien.Nachfolgend werden einige genannt und naher charakterisiert.[CSW+06]

Die Verhaltensweise dieser beiden Verfahren unterscheidet sich wesentlich voneinander.Kennzeichnend fur diese ist die Tatsache, ob ein Verfahren dynamisch oder statisch ist. BeiSLV werden Informationen a priori dazu benutzt, die Tasks den jeweiligen ausfuhrendenElementen zuzuordnen. Dies geschieht schon zur Kompilierzeit und wahrend der Ausfuhrungkommt es zur keiner Neuverteilung der Tasks. Je mehr Informationen uber die Tasks vorder Ausfuhrung zur Verfugung stehen, desto vorhersagbarer und genauer ist das Resultatdes Algorithmus. Im Gegensatz dazu werden bei DLV Informationen uber die Task dazuverwendet, wahrend der Ausfuhrung durch Neuverteilung der LV gerecht zu werden. Beieiner gewissen Lastveranderung werden die Tasks dazu veranlasst, sich neu zu ordnen. Somit

13

Page 19: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

ist ein solches Verfahren nicht vorhersagbar, da man eine solche Neuzuordnung der Tasksnicht steuern kann.[CSW+06]

Ein weiterer wichtiger Punkt ist der Overhead, der durch solche Verfahren entsteht. Dabeihandelt es sich um zusatzliche Kosten fur die Neuverteilung bzw. Bewegung der Tasks undKommunikation zwischen den Prozessen bzw. ausfuhrenden Elementen. Bei SLV halt sichdieser Overhead in Grenzen, da a priori die Tasks den ausfuhrenden Elementen zugeordnetwerden und es zu keiner Migration der Task zur Laufzeit kommt. Bei DLV entsteht durch dieDynamik der Tasks, die Fahigkeit zur Neuordnung, ein großerer Overhead.[CSW+06]

Die Ressourcenausnutzung ist bei beiden Verfahren wiederum unterschiedlich. Bei SLVwird versucht, die Antwortzeiten zu minimieren und Tasks entsprechend den ausfuhrendenElementen zuzuordnen. Dabei lassen sie die Tatsache aus den Augen, dass durch diese Artder Verteilung gewisse ausfuhrende Elemente zwar fruhzeitig mit ihrer Arbeit fertig werden,aber durch das Ausbleiben von weiterer Arbeit in einem ‘faulen’ Zustand verweilen. Anderssieht es da bei DLV aus. Hier wird versucht, zur Laufzeit dafur zu sorgen, dass solche ‘faulen’Zustande durch Gleichverteilung der Last nicht erreicht werden.[CSW+06]

Eine Uberlastung der ausfuhrenden Elemente geschieht, wenn die meisten im System be-findlichen ausfuhrenden Elemente ihre Zeit mit der Migration von Prozessen verbringen, ohnedabei eine Performancesteigerung zu erreichen. Durch die standige Dynamik bei DLV kann eszu solchen Uberlastungen durchaus kommen, was bei SLV durch die fehlenden Migrationennicht der Fall ist.[CSW+06]

Die Praemption ist ein Faktor, der angibt, ob Tasks wahrend ihrer Ausfuhrung auf einenanderen Knoten transferiert werden konnen oder nicht. Bei SLV spielt dieser Faktor uberhauptkeine Rolle, da es bei diesem Verfahren zu keiner Neuverteilung von Tasks kommt. Bei DLVsieht es anders aus. Solche Algorithmen konnen sowohl praemptiv als auch nicht-praemptivsein.[CSW+06]

Die Vorhersagbarkeit ist ein weiteres qualitatives Unterscheidungskriterium zwischen SLVund DLV. Dieser Faktor bezieht sich auf die Vorhersagbarkeit des Resultats des jeweiligenAlgorithmus. Algorithmen der SLV sind durchaus vorhersagbar, da zur Kompilierzeit diemeisten der wichtigen Informationen wie durchschnittliche Ausfuhrungszeit der Tasks unddie Zuteilung der Arbeitslast zu den jeweiligen ausfuhrenden Elementen bekannt ist. BeiAlgorithmen der DLV ist dies nicht der Fall, da zur Laufzeit diese Informationen gewonnenwerden und die Zuweisung der Tasks zu den ausfuhrenden Elementen dynamisch vollzogenwird.[CSW+06]

Zusatzliche Unterscheidung liegt in der Anpassungsfahigkeit der jeweiligen Algorithmenaufgrund verandernder Umstande. Wie man schon in dem Wort ‘statisch’ erkennen kann,sind Anpassungsmoglichkeiten bei SLV nicht vorhanden und somit verfehlen solche Verfah-ren das Ziel der LV, wenn sich z.B. die Anzahl der Prozesse oder die Ausfuhrungszeitenund somit die Last eines Prozesses verandert. Hier spielen DLV ihre Vorteile aus, sich jederUmgebungsanderung anzupassen und der LV gerecht zu werden.[CSW+06]

Bei Auftreten irgendwelcher Fehler ist die Zuverlassigkeit ein entscheidendes Kriteriumbeider Verfahren. SLV sind sehr anfallig bei Ausfallen von Knoten, da bei diesem Verfahrenkeine Tasks auf andere Knoten migriert werden konnen. Somit fallen nicht nur die Knotenselber aus, sondern auch alle Tasks, die auf ihm laufen. Dieses Problem besitzen DLV nicht. Siekonnen bei Ausfallen alle beteiligten Tasks auf andere Knoten migrieren und sind deswegenin diesem Punkt zuverlassiger als SLV. Jedoch mussen dafur Mechanismen greifen, die solcheFehlerzustande erkennen und entsprechend daraufhin reagieren.[CSW+06]

Antwortzeiten in einem verteilten System spielen eine große Rolle. Diese durfen nicht zu

14

Page 20: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

hoch sein und deshalb ist es auch wichtig, dass bei Nutzung von LV-Verfahren diese in einemvertraglichen Rahmen bleiben. Allgemein sind solche Antwortzeiten bei SLV geringer, dasich der schon angesprochene Overhead in Grenzen halt. Somit liegt der Schwerpunkt in derAusfuhrung der Tasks und nicht in deren Migration. Anders sieht es bei DLV aus, da hier zuder Ausfuhrung noch die Migration der Tasks hinzukommt.

Stabilitat in diesem Kontext bezieht sich auf den Austausch von Lastinformation entlangder Knoten. Da naturlich bei SLV keine dynamische Verteilung stattfindet und somit auchkeine aktuellen Lastinformationen entlang der Knoten verschickt werden, werden solche Al-gorithmen als stabil angesehen. Algorithmen der DLV verwenden Lastinformationen, um ent-sprechend darauf reagieren zu konnen und eine Lastverteilung zu gewahrleisten. Sollten dieseInformationen nicht regelmaßig erneuert werden, fuhrt dies letztendlich zu Fehlentscheidungenbezuglich der Migrationen der Tasks. Folglich kann das System in einen instabilen Zustandverfallen.[CSW+06]

Das letzte Unterscheidungskriterium liegt in der Schwerpunktsetzung beider Verfahren. Dieexakte Bestimmung von Prozessausfuhrungszeiten, Kommunikationsverzogerungen und Res-sourcenbedarf ist a priori bei SLV so gut wie unmoglich. Deshalb ist es bei solchen Verfahrennotwendig, den Schwerpunkt auf die Abschatzung akkurater Werte fur diese Großen zu le-gen. Der Schwerpunkt bei DLV liegt in der Entwicklung von Methoden, die das Ende derBerechnungen in verteilten Systemen erkennen, und von Techniken, die den Overhead wie dieKommunikation zwischen Knoten/Tasks und die Taskmigration reduzieren. Letzteres stelltdas großte Problem in dynamischen Lastverteilungsverfahren dar.[CSW+06]

All diese Unterscheidungsmerkmale zwischen statischen und dynamischen Lastverteilungs-verfahren sind in Tabelle 2.1 aufgelistet.

Tabelle 2.1.: Vergleichsmerkmale SLV und DLV nach [CSW+06]

hhhhhhhhhhhhhhParameter

LV-VerfahrenSLV DLV

Verhaltensweise Statisch, Last wird zur Kompi-lierzeit zugewiesen

Dynamisch, Last wird zur Lauf-zeit zugewiesen

Overhead Weniger Overhead Mehr Overhead

Ressourcennutzung Schlechtere Nutzung Besser Nutzung

Prozessoruberlastung Keine Uberlastung Erhebliche Uberlastung

Praemption Nicht-Praemptiv Praemptiv

Vorhersagbarkeit Mehr vorhersagbar Weniger vorhersagbar

Anpassungsfahigkeit Weniger anpassungsfahig Mehr anpassungsfahig

Zuverlassigkeit Geringer Hoher

Antwortzeiten Geringer Hoher

Stabilitat Hoch Gering

Schwerpunkt Bestimmung der Ausfuhrungs-zeiten zur Laufzeit

Entwicklung von Techniken zurReduzierung des Overheads

2.4. Bezug auf Prozessplatzierungsverfahren

In diesem Kapitel wurden die Grundlagen fur ein dynamisches Prozessplatzierungsverfahrengelegt. Abschließend soll auf das in dieser Diplomarbeit vorgestellte Verfahren Bezug genom-men und den bisher erwahnten Begrifflichkeiten zugeordnet werden. Ziel ist es, das Thema,

15

Page 21: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

wie es in Abschnitt 1.2 kurz erlautert wurde, naher zu spezifizieren und den Grund fur dasAuffuhren der Grundlagen zu rechtfertigen.

Ein dynamisches Prozessplatzierungsverfahren, welches in dieser Diplomarbeit entwickeltund evaluiert wird, soll zwei wesentliche Kriterien erfullen:

• Jeder Task soll auf dem jeweiligen Rechnerknoten optimal funktionieren

• Kommunikationswege zu abhangigen Tasks sollen minimiert werden

Generell kann man sagen, dass das zu entwickelnde Verfahren dem Bereich der DLV zuzu-ordnen ist. Dabei geht es darum, eine bestimmte Anzahl an Tasks im Netz zu verteilen, so dassoben genannte Kriterien erfullt werden konnen. Als Mechanismus zur Gewahrleistung dieserZiele wird Migration verwendet. Dabei wird erreicht, dass uberlastete Knoten durch Migrationder darauf liegenden Tasks entlastet werden und somit eine gleichmaßige Verteilung im Netzerreicht wird. Die Tasks reagieren also auf außere Einflusse, die sie zum Handeln bewegenoder dazu veranlassen, auf dem bisherigen Knoten zu bleiben. Der Einfluss auf die Tasks wirddurch die schon vorhandene Kommunikation zwischen diesen erreicht. Somit werden fur dieSelbstorganisation der Tasks keine zusatzlichen Kosten erzeugt. Das selbststandige Handelnfolgt den Selbst-X-Eigenschaften, wie sie in Abschnitt 2.1.2 beschrieben wurden. Durch dieschon erwahnten Einflusse auf einen Task wird eine Selbstkonfiguration des Systems erreicht,was letztendlich zu einer Selbstoptimierung des Systems fuhrt. Eine Selbstheilung im Sinneder Rekonfiguration wird bei diesem Verfahren nicht direkt umgesetzt, jedoch unterstutzt.Sollte ein Knoten ausfallen, so kommt keine Kommunikation mit eventuellen Partnern, dieauf dem ausfallenden Knoten lagen, zustande. Das bedeutet fur den jeweiligen Task, dass erdurch diese fehlenden Kommunikationspartner auch keine weiteren Einflusse bekommt undandere Einflusse dadurch hoher gewichtet sind. Dieses Vorgehen fuhrt letztendlich zu einer Re-konfiguration des gesamten Systems. Einen Mechanismus fur den Selbstschutz, wie er in 2.1.2fur selbstverwaltende Systeme gefordert wird, wird jedoch bei diesem Verfahren außer Achtgelassen. In Abschnitt 2.1.3 wurde uber ein wichtigen Mechanismus fur solche Systeme ge-sprochen, bei dem durch Ruckmeldung von einzelnen Komponenten versucht wird, regulierendbestimmte Zielzustande zu erreichen. Bei einem Prozessplatzierungsverfahren werden dabeinicht Sensoren oder Effektoren eingesetzt, sondern durch eintreffende Nachrichten wird einsolches Kontrollkonstrukt angesprochen. Veranderungen werden durch eintreffende Nachrich-ten realisiert und aufgrund der erhaltenen Informationen passt sich der Task durch Migrationan.

Dieses Verfahren besitzt außerdem die Eigenschaft der Selbstorganisation, wie sie fur Syste-me des Organic Computing in Abschnitt 2.2.2 gefordert wurde. Ein solches dynamisches Pro-zessplatzierungsverfahren kann auf verschiedenste Netze angewendet werden. Dabei konnendiese Systeme eine Komplexitat von mehreren hundert Knoten annehmen, was die Beschrei-bung oder Vorhersagbarkeit wesentlich erschwert, wenn nicht sogar unmoglich macht. Jedereinzelne Knoten oder Task im Netz ist eigenstandig und abgesehen von ihrer Vernetzungund Kommunikation besteht keinerlei Ordnung oder Hierarchie. Die Kommunikation unterdiesen Tasks geschieht ohne jeglichen Einfluss von außerhalb auf das System. Ihre Handlun-gen bestimmen sie selbst. Die Eigenschaften der Komplexitat, Selbstreferenz, Redundanz undAutonomie, wie sie in Abschnitt 2.2.2 beschrieben wurden, werden durch dieses Verfahreneingehalten. Im Zusammenhang mit Selbstorganisation steht der Begriff der Emergenz. Auchhier zeigt ein dynamisches Prozessplatzierungsverfahren diese Eigenschaft. Infolge der einzel-nen Verhalten der Tasks entsteht ein globales Verhalten des gesamten Systems. Die Tasks

16

Page 22: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

2. Grundlagen

sind standig durch den Empfang von Nachrichten bestrebt, sich zu verbessern. Dabei wer-den Information gesammelt und nach deren Auswertung entsprechend reagiert. Die einzelnenTasks besitzen weder Kenntnis uber den globalen Zustand des Systems noch besitzen sie dasWissen, das System global zu optimieren. Lediglich uberblicken sie ihre benachbarten Knotenund konnen nur anhand deren entscheiden, ob sie sich zum bisherigen Vaterknoten verbessernoder verschlechtern. Die Folge ihres Verhaltens fuhrt dazu, dass sich die Tasks gleichmaßigim Netz verteilen und es zu einer globalen Lastverteilung kommt. Vergleichbar ist dies miteinem sozialen System, wie es bei der Futtersuche in Ameisenkolonien vorkommt.

In Abschnitt 2.2.5 wurden schon einige Beispiele genannt, wie man Selbstorganisation mitverschiedensten Mechanismen realisieren konnte. In dem hier vorgestellten Verfahren wirdein Mechanismus verwendet, bei dem Krafte, ahnlich denen eines Magnetfeldes, zum Einsatzkommen. Die Tasks wahlen anhand berechneter Krafte den attraktivsten Migrationspartneraus. Eine genauere Beschreibung dieses Kraftemodells und dessen Berechnung erfolgt imspateren Verlauf dieser Diplomarbeit.

Wie schon am Anfang diesen Abschnitts erwahnt, ist die LV auch bei einem dynamischenProzessplatzierungsverfahren ein wichtiger Aspekt. Das Wort ‘Dynamik’ verrat schon, dasshierfur ein DLV verwendet wird. Die genaue Beschreibung erfolgt bei Erklarung des Krafte-modells.

Ein ebenso bedeutender Punkt fur dieses Verfahren ist die Minimierung der Kommunikati-onskosten. Hierbei wird vorausgesetzt, dass durch ein intelligentes Routing im Netz die Nach-richten auf dem kurzesten Weg zum Empfanger verschickt werden. Dies bedeutet fur das hiervorgestellte Verfahren, dass nur Migrationspartner in Erwagung gezogen werden, die einerseitsdirekte Nachbarn des Knotens sind, auf dem ein Task lauft, und andererseits Nachrichten uberdiesen Nachbarknoten den Zielknoten erreicht haben. Somit ist sichergestellt, dass im Falleeiner Migration sich die Kommunikationswege mindestens zu einem Kommunikationspartnerverkurzen. Die Attraktivitat eines solchen wird durch das Kraftemodell berechnet.

Ein besonderes Augenmerk bei einem solchen Verfahren muss jedoch auch auf die negati-ven Auswirkungen gelegt werden. Hierzu muss man immer wieder abwagen, ob eine solcheSelbstorganisation der Tasks nicht einen so großen Overhead erzeugt, so dass deren Verbesse-rung an Kommunikationskosten und Lastverteilung die Kosten fur die Realisierung ubersteigt.Betrachtet werden hierbei Kosten fur die Migration von Tasks und zusatzliche Kommunikati-on, um z.B. uber veranderte Auslastung eines Knotens zu informieren. In dieser Diplomarbeitwurde die Anzahl der Migrationen bestimmt, jedoch nicht die Kosten berechnet. Somit wurdeder entstandene Overhead nicht explizit untersucht.

17

Page 23: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

3. Verwandte Arbeiten

Im vorangegangenen Kapitel wurden die Grundlagen zur Umsetzung selbstorganisierender Sy-steme gelegt und der Bogen zur Realisierung eines dynamischen Prozessplatzierungsverfahrengespannt. In den letzten Jahren haben sich einige Leute mit dem Problem der Selbstorgani-sation in verteilten Systemen befasst. Dabei wurden naturinsnpirierte Ansatze verfolgt, umeffiziente Losungen zu schaffen. Im Folgenden werden einige Arbeiten vorgestellt und ab-schließend die Arbeit von H.Heiss und M.Schmitz als Basis fur die individuelle Umsetzungausfuhrlich erklart.

3.1. Arbeit von Tales Heimfarth

In der Arbeit von Tales Heimfarth[Pad07] wird eine Heuristik vorgestellt, mit der in WirelessSensor Networks (WSN) Services effizient verteilt werden. Das Verfahren basiert auf einemAmeisenalgorithmus. Nach einer Initialplatzierung ermoglicht dieses Verfahren den Serviceseine selbststandige Organisation im Netz, so dass die Distanzen zu Kommunikationspartnernreduziert und somit Kommunikationskosten minimiert werden. Die Heuristik lauft volligstverteilt ab und greift auf Informationen aus der Umgebung zu. Hierbei spielt der Begriffder Stigmergie eine wichtige Rolle. Die Services sind selber fur das Auslosen des Verfahrensverantwortlich und nicht die Knoten, auf denen diese platziert sind.

Ein sogenanntes Exploration Packet bewegt sich durch das Netz, um einen Zielknoten fureinen bestimmten Service auszumachen. Sobald dieser gefunden wurde und entsprechend Res-sourcen auf diesem verfugbar sind, wird dies dem Service signalisiert und dieser migriert dar-aufhin zu diesem. Darin besteht nun ein Unterschied zu dem Verfahren, welches fur dieseDiplomarbeit entwickelt wurde. Hierbei wird kein zusatzlicher Aufwand betrieben, um even-tuelle Migrationspartner und letztendlich einen passenden Zielknoten zu finden. Der Serviceentscheidet selbst, inwiefern ein Knoten attraktiv ist und letztendlich ob ein moglichst optima-ler Knoten gefunden wurde. Außerdem wird die schon bestehende Kommunikation zwischenden Tasks ausgenutzt, um an Umgebungsinformationen zu gelangen und das Verfahren aus-zulosen.

In der Dissertation von T.Heimfarth[Pad07] wurde außerdem auf ein Problem hingewie-sen, welches dieser Ansatz ohne zusatzliche Erweiterung aufweist. Es geht darum, dass durchfalsche Migrationsentscheidungen die allgemeinen Kommunikationskosten erhoht anstatt er-niedrigt werden. Bei dem hier entwickelten Ansatz sind solche Fehlentscheidungen zwar auchmoglich, jedoch werden diese im Verlauf des Verfahrens ausgeglichen.

Ahnlichkeiten bestehen in der Verwendung der empfangenen Nachrichten, auch wenn siebei T.Heimfarth[Pad07] fur die Berechnung der Pheromone verwendet werden. Auf der einenSeite spiegeln diese die Kommunikationsintensitat wieder und auf der Anderen werden sie furdie Berechnung der Kommunikationskosten verwendet.

18

Page 24: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

3. Verwandte Arbeiten

3.2. Arbeit von S.Graupner, A.Andrzejak, V.Kotov und H.Trinks

Auch bei dieser Arbeit[GAKT05] wird eine Heuristik vorgestellt, um Services in einem ver-teilten, heterogenen Netz zu verteilen. Dabei soll dieses Verfahren skalierbar, anpassungsfahigund selbstorganisierend sein. Wie bei der vorherigen vorgestellten Arbeit wird auch bei dieserein Ameisenalgorithmus verwendet, um dieses Optimierungsproblem zu losen. Wichtige Kom-ponenten bei diesem Verfahren sind die Service-Manager, Ameisen und die Server-Manager.Jeder Service s besitzt einen Service-Manager, der Ameisen mit einer Serviceliste aussendet,die aus s und seinen kooperierenden Services besteht. Die Ameise besitzt nun Wissen uberdie Anforderungen eines jeden Service in der Serviceliste. Nun wandert die Ameise basierendauf einer lokalen Berechnung entlang eines Pfades von Server zu Server und platziert dortServices aus der Liste. Sobald alle Services verteilt wurden, wird der gegangene Pfad demService-Manager von s ubertragen. Dieser vergleicht die Losungen aller Ameisen mit der ak-tuellen Konfiguration und leitet gegebenenfalls eine Umverteilung ein. Die Ameise berechnetaußerdem auf jedem Server Tupel (Server, Service) fur jeden Service aus seiner Liste, welchedie Eignung des Servers fur einen Service widerspiegelt. Aufbauend auf diesen wird die Phe-romontabelle des Servers aktualisiert. Diese hilft den Ameisen bei der Entscheidungsfindunguber den nachsten zu besuchenden Server. Die Server-Manager tauschen regelmaßig gegen-seitig diese Tabellen mit benachbarten Server-Managern aus. Durch diesen Ansatz konnenverschiedenste Optimierungsziele, wie Minimierung der Kommunikationskosten und bessereLastverteilung, erreicht werden.[GAKT05]

Wie man sich vorstellen kann, entsteht durch solch einen Ansatz zusatzlicher Overhead. DieAmeisen mussen sich zum Einen an den kompletten gegangenen Pfad erinnern und diese In-formation weiterleiten. Zum Anderen mussen noch die erhaltenen Losungen evaluiert werden.Ein solcher Overhead wird bei dem Verfahren in dieser Diplomarbeit nicht erreicht. Durchdie Ausnutzung der vorhandenen Kommunikation und der minimalen Berechnung der Krafte,halt sich der Overhead dadurch in einem ertraglichen Rahmen.

3.3. Arbeit von U.Brinkschulte

Diese Arbeit beschaftigt sich mit der effizienten Verteilung von Tasks in einem heterogenenNetz unter Einsatz eines kunstlichen Hormonsystems. Dabei erfolgt die Selbstorganisationdieser Tasks vollig dezentralisiert.[BPvR07] Bei diesem Ansatz werden drei unterschiedlicheHormontypen verwendet, um eine solche Selbstorganisation zu realisieren:[BPvR07]

Eager Value (EV) Dieser Wert gibt an, wie gut ein Task auf einem ausfuhrendem Element(Knoten) arbeiten kann. Der EV ist ein lokaler statischer Wert auf dem ausfuhrendenKnoten. Je hoher dieser Wert, desto besser ist die Ausfuhrung eines Tasks auf diesem.

Suppressor (SUP) Diese Art von Hormon unterdruckt die Ausfuhrung eines Tasks auf ei-nem Knoten. Dieser Wert wird vom EV abgezogen. Da bei diesem Ansatz auch dop-pelte, gleichartige Tasks vorkommen konnen, wird durch den SUP verhindert, dass eszu doppelten Verteilungen dieser Tasks kommt. Außerdem wird durch diesen Wert einverschlechterter Zustand eines Knotens aufgezeigt.

Accelerator (AC) Durch diese Werte wird die Ausfuhrung eines Tasks auf einem Knotenbefurwortet. Der AC wird zum EV hinzugezahlt. Dieser Wert reprasentiert einen bes-

19

Page 25: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

3. Verwandte Arbeiten

seren Zustand eines Knotens fur einen Task oder sorgt dafur, dass sich kooperierendeTask zu einem Cluster zusammenfugen.

Eine Gemeinsamkeit zwischen diesem und dem in dieser Diplomarbeit vorgestellten An-satz liegt in dem Versuch, miteinander kooperierende Tasks so gut wie moglich zueinander zuverteilen. Somit werden die Kommunikationskosten und die Zeiten fur den Datenaustauschminimiert. Außerdem laufen beide Verfahren dezentralisiert ab und verwenden einen naturin-spirierten Ansatz, um eine Selbstorganisation zu erreichen.

Wesentlicher Unterschied zu den beiden Ansatzen ist der Einsatz von duplizierten Tasks. BeiU.Brinkschulte[BPvR07] wird durch den Einsatz von SUP Werten versucht, dass gleichartigeTasks nicht auf entfernte Knoten laufen. Der beste Knoten fur einen Task, also derjenige mitden großten EV Wert, sendet an alle anderen Knoten im Netz SUP Werte, um diesen Effektzu erreichen. Außerdem wird dadurch auch den anderen Kommunikationspartnern vermittelt,dass ihr momentaner Knoten schlechter ist, was zu Migrationen dieser fuhrt. Bei einem sehrgroßen Netz hat das einen ziemlichen Overhead an Kommunikation zufolge. Bei dem Ansatzdieser Diplomarbeit erfolgt ein solcher Austausch von Nachrichten nicht. Es wird lediglichdie schon vorhandene Kommunikation zwischen kooperierenden Tasks ausgenutzt. Außerdemkommen mehrere, gleichartige Tasks auch nicht vor.[BPvR07]

Somit unterscheiden sich diese beiden Ansatze enorm voneinander, jedoch zeigt die Arbeitvon U.Brinkschulte einen anderen Mechanismus auf, der eine Selbstorganisation von Tasks ineinem heterogenen Netz ermoglicht.

3.4. Arbeit von Ichiro Satoh

Die Arbeit von Ichiro Satoh[Sat05] verfolgt ebenfalls einen biologisch inspirierten Ansatz,um Komponenten einer Applikation in einem heterogenen verteilten System zu organisieren.Dabei wird eine Applikation als ein Verbund aus mobilen Komponenten angesehen, die vonComputer zu Computer migrieren konnen und die Applikation weiterhin ausgefuhrt werdenkann. In der Arbeit von I.Satoh[Sat05] wird ein Framework vorgestellt, mit dem sich einVerbund aus Komponenten den Benutzeranforderungen und dessen Kontext anpassen kann.In der Umsetzung wurden zwei Ideen verwirklicht. Zum Einen werden die Komponenten alsmobile Agenten realisiert, wodurch es ihnen moglich ist, autonom auf andere Computer zumigrieren und sich zu duplizieren. Zum Anderen wird ein Verbund aus einem oder mehrerenKomponenten als ein virtueller Computer uber verteilte Systeme umgesetzt. Durch biologischinspirierte Selbstorganisation, wie bei Zellen, ermoglicht das Framework diesen Verbundeneine Mobilitat im verteilten System. Eine Aggregation von Komponenten kann als Pseudo-plasmodium behandelt werden, da ein solcher Zusammenschluss seine Struktur andern undsich durch das verteilte System aufgrund Anderungen im darunterliegenden Netzwerk undder Anforderungen der Applikation bewegen kann. Applikationen, die eine Interaktion mitdem Benutzer bereitstellen, werden meist auf Computer in dessen Nahe ausgefuhrt und dasFramework ermoglicht durch zusatzliche Informationen, wie die Position des Benutzers oderAdressen naheliegender Computer, eine Migration der Komponenten dieser Applikation aufentsprechende Computer.

Zwischen diesem und dem Ansatz in dieser Diplomarbeit bestehen Gemeinsamkeiten. Soll-te ein Task auf einen anderen Knoten migrieren, werden durch dessen veranderte Positionabhangige Tasks aufgrund modifizierter Krafte dazu bewegt, ihre Position zu wechseln. Ein

20

Page 26: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

3. Verwandte Arbeiten

gleiches Verhalten ist auch in dem Ansatz von I.Satoh[Sat05] zu beobachten. Dort wechselnKomponenten einer Applikation als Verbund ihre Position.

Ein wesentlicher Unterschied liegt im zugrundeliegenden Modell fur die Selbstorganisation.Hier wird ein biologischer Ansatz, wie er bei Zellen zu finden ist, verwendet. Demgegenubersteht ein physikalischer Ansatz, bei dem Krafte fur die Selbstorganisation sorgen.

Diese Arbeit stellt eine gute Alternative zu dem Ansatz in dieser Diplomarbeit dar.

3.5. Kraftemodell nach H.Heiss und M.Schmitz

Im Folgenden wird die Arbeit von H.Heiss und M.Schmitz[HS95] ausfuhrlich vorgestellt, dasie als Basis dieser Diplomarbeit dient. Das in dieser Arbeit verwendete physikalische Krafte-modell findet auch in der eigenen Umsetzung eines dynamischen ProzessplatzierungsverfahrenVerwendung.

3.5.1. Allgemeine Funktionsweise

Die Arbeit von H.Heiss und M.Schmitz[HS95] befasst sich mit Multicomputersystemen, dieaus mehreren autonomen Prozessoren bestehen und gleichzeitig Befehle auf verschiedene Da-ten bearbeiten konnen. Dabei besitzen solche Computersysteme sowohl lokale, private Spei-cher als auch ein Verbindungsnetzwerk fur den Nachrichtenversand. Sie werden von einemeigenen Betriebssystem (OS) gesteuert, welches fur die Taskerstellung, Multitasking und inter-Task Kommunikation zustandig ist. Unabhangige parallele Programme werden in dieser Um-gebung ausgefuhrt und teilen sich die vorhandenen Ressourcen auf den Rechnerknoten. Diesekonnen zum Einen zu jeder Zeit dem System auf einem beliebigen Rechnerknoten beitre-ten und zum Anderen bestehen diese aus einer Menge von Tasks, die aufgrund vorhandenerAbhangigkeiten miteinander kommunizieren. Nun besteht die Moglichkeit, die Tasks auf be-liebige Prozessoren zu verteilen, um letztendlich geringe Antwortzeiten fur das ausfuhrendeProgramm zu erhalten. Dies stellt nun eine Herausforderung fur das System dar und es werdenzwei Ansatze fur ein solches Problem aufgezeigt. [HS95]

Diese zwei Klassen wurden schon in Abschnitt 2.3 angesprochen und werden der Vollstandig-keit halber nochmals kurz erlautert, da sie wesentlich fur diesen Ansatz sind: [HS95]

Statisches Mapping Bei diesen Verfahren wird versucht, eine bestimmte Menge an Tasks mauf eine Menge von Prozessoren n ≤ m zu verteilen, mit dem Ziel, Antwortzeiten zureduzieren. Dieses Problem ist NP-hart und wie in Abschnitt 2.3 erklart, gibt es furSLV zahlreiche Ansatze, wie GTA, SA oder GAs. Diese Methoden laufen nur offline abund berucksichtigen eventuelle Lastverschiebungen zur Laufzeit nicht.

Dynamische Lastverteilung Bei solchen Methoden sind Tasks in der Lage, zur Laufzeit dasSystem jederzeit auf jedem Knoten zu betreten. Herausforderung hierbei liegt in dergleichmaßigen Verteilung dieser Tasks, so dass keine Rechnerknoten unausgelastet sind.Außerdem helfen solche Verfahren, Tasks auf mehrere, gleich schnelle Prozessoren zuverteilen, um Synchronisationsverzogerungen und letztendlich Antwortzeiten zu mini-mieren. Als Mechanismus wird Migration verwendet. Dabei wird meistens die Kommu-nikation zwischen diesen Tasks weniger berucksichtigt, da DLVs hauptsachlich fur LocalArea Networks (LANs) verwendet werden.

21

Page 27: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

3. Verwandte Arbeiten

In der vorgestellten Arbeit wird einem Ansatz nachgegangen, der nun die Vorteile und Ei-genschaften beider Klassen beinhalten, dezentralisiert ablaufen und Kommunikations- sowieauch Migrationsoverhead berucksichtigen soll. Dabei wird ein physikalisches Modell verwen-det, welches mithilfe von Kraften versucht, diesen voneinander unabhangigen Optimierungs-zielen gerecht zu werden. Die Idee ist folgende: [HS95]

Man nehme einen Behalter mit unterschiedlichen Flussigkeiten, die wiederum unterschiedli-che Viskositaten aufweisen. Aufgrund dessen sind sie nicht miteinander mischbar, siehe Abbil-dung 3.1. Gravitationskrafte sorgen dafur, dass diese Flussigkeiten auseinanderlaufen, jedochbestimmte Reibungs- bzw. Kohasionskrafte, die die Viskositat darstellen, hindern wiederumdie Flussigkeiten sich auszudehnen. Dunnere Flussigkeiten dehnen sich aufgrund geringererViskositat mehr aus als dickere Flussigkeiten. Nach einiger Zeit stellt sich im Behalter ein sta-biler Zustand ein, bei dem alle Krafte ausbalanciert sind und die Flussigkeiten keinen Drangmehr haben, sich auszudehnen, siehe Abbildung 3.2.

Abbildung 3.1.: Hinzufugen einer neuen Flussigkeit [HS95]

Abbildung 3.2.: Stabiler Zustand mit ausbalancierten Kraften [HS95]

Diese Illustration wird fur das DLV in der Ausarbeitung von H.Heiss und M.Schmitz ver-wendet. Die parallelen Berechnungen stellen die Flussigkeiten dar und die dazugehorigen Tasksdie Teilchen dieser Flussigkeit. Die Gravitationskraft kann durch Verwendung des Lastpoten-tials eines jeden Knotens im verteilten System errechnet werden. Da die Kommunikation derTasks und deren Intensitat mit berucksichtigt wird, wird diese sowohl in Richtung als auchGroße als Kohasionskraft betrachtet. Reibung wird durch die Kosten, die ein Task verursacht,

22

Page 28: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

3. Verwandte Arbeiten

sobald er auf einen anderen Knoten migriert, dargestellt und wirkt der Gravitationskraft ent-gegen. Somit werden folgende Ziele bei Verwendung eines solchen Ansatzes erreicht: [HS95]

1. Minimierung des Lastungleichgewichts

2. Minimierung der Kommunikationskosten

3. Vermeidung von unproduktiven Migrationen

4. Stabiler Zustand des Systems

Der hier beschriebene Ansatz stellt das zugrundeliegende Modell und Ziele des elaboriertenAlgorithmus von H.Heiss und M.Schmitz dar. [HS95]Im weiteren Verlauf wird nun auf die konkrete Umsetzung eingegangen.

3.5.2. Beschreibung Systemmodell

Im Folgenden wird das formale Modell fur diesen Ansatz betrachtet. [HS95] Ein Multicom-puter ist formell gesehen ein Prozessor-Verbindungsgraph PV G = (P,L) mit folgenden Defi-nitionen:

P Menge von ausfuhrenden Elementen (Knoten)L ⊆ P × P Links zwischen zwei Prozessoren (Kanten)a(k, l) Zeit, Daten von Prozessor k nach Prozessor l zu transportierenµk Geschwindigkeit des Prozessors k (Anzahl Befehle pro Sekunde)

Wie die Prozessoren als Graph dargestellt werden konnen, so werden auch die Tasks oderThreads, die miteinander kommunizieren, als ein solcher reprasentiert.Ein Task-Interaktionsgraph TIG = (T,C) mit folgenden Definitionen:

T Menge von Tasks (Knoten)C ⊆ T × T Menge von Kommunikationskanale (Kanten)c(i, j) Kommunikationsintensitat, (i, j) ∈ C (Anzahl Dateneinheiten)si Lange eines Tasks ti (Anzahl Ausfuhrungsbefehle)di Große eines Task ti (Menge an Daten zur Migration)

Generierung und Eintrittszeitpunkt der Programme erfolgt zufallig.

Lastverteilungskraft

In diesem Modell werden Krafte eingesetzt, um die gesetzten Ziele in 3.5.1 zu erfullen. Da-bei spielt die LV Kraft eine sehr wichtige Rolle. Diese Kraft spiegelt das Lastpotential einesRechnerknotens wider. Dabei konnen drei unterschiedliche Berechnungen eines solchen Last-potentials auf einem Knoten verwendet werden: [HS95]

1. Anzahl der Tasks auf Knoten k

V kload := |{j : loc(j) = k}| (3.1)

23

Page 29: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

3. Verwandte Arbeiten

2. Menge an Arbeit auf Knoten k

V kload :=

∑j:loc(j)=k

sj (3.2)

3. Zeit, um die zugewiesene Arbeit auf Knoten k auszufuhren

V kload :=

1

µk×

∑j:loc(j)=k

sj (3.3)

wobei loc(j) den Index des ausfuhrenden Knotens (Prozessor) angibt, auf dem sich Task tj be-findet. Wie man unschwer erkennen kann, werden die Berechnungen des Lastpotentials von 1bis 3 komplexer. Das bedeutet, dass sie auch entsprechend aussagekraftiger werden. Bei 3 wer-den die meisten Informationen wie Prozessorgeschwindigkeit und Große der Tasks verwendet.Sobald alle Knoten identisch sind, ist 2 die beste Wahl. Sofern die geringsten Informationenuber die Tasks zur Verfugung stehen, wird 1 verwendet. Berechnung des Lastpotentials in derbeschriebenen Arbeit erfolgt mit der Formel (3.1). [HS95]

Die LV Kraft zwischen zwei benachbarten Knoten kann proportional zu der Differenz ihrerPotentiale definiert werden. Jedoch kann dies zu nicht geeigneten Werten fuhren, da z.B. zweiPaare von Knoten, Paar 1 mit Lastpotential 1 und 5, Paar 2 mit Lastpotential 11 und 15,dieselbe Differenz von 4 erhalten, obwohl auf den Knoten des ersten Paares bei Verwendungvon Formel (3.1) weniger Tasks platziert sind als auf den Knoten des zweiten Paares. Deswegenwerden nicht absolute Werte fur die Lastdifferenz zwischen zwei Knoten verwendet, sonderneine relative Berechnung. Somit ergibt sich fur die LV Kraft folgende Berechnung: [HS95]

f j→klb (ti) := clb ×

(V jload + 1

V kload + 1

)(3.4)

Diese Kraft wirkt auf Task ti, welcher auf Knoten j liegt und auf Knoten k migrieren konnte.Knoten j und k sind dabei direkte Nachbarn. clb stellt einen Koeffizienten dar, der zur Ge-wichtung verwendet werden kann und die Inkrementierung in der Formel (3.4) ist durch dasAuftreten eventueller Potentiale der Große 0 erforderlich.

Kommunikationskraft (Kohasion)

Fur die Berechnung der Kommunikationskraft ist es notwendig, die ungefahre Position derkommunizierenden Tasks zu kennen. Denn die Kommunikationskosten zwischen zwei Taskswird durch das Produkt aus Distanz und Menge an Daten definiert. Außerdem wird dieIntensitat der Kommunikation zwischen diesen in die Berechnung mit einbezogen. Somit lasstsich fur einen Task ti, welcher auf dem Knoten k liegt, folgendes Kommunikationspotentialerrechnen: [HS95]

V kcom(ti) :=

|T |∑j=1

a(k, loc(j))× c(i, j) (3.5)

In diese Berechnung werden alle Kommunikationspartner von Task ti einkalkuliert. DieKommunikationsintensitat c(i, j) zwischen Task ti und tj kann hierbei fur keine Kommunika-tion untereinander 0 sein. Aufgrund der definierten Ziele in Abschnitt 3.5.1 ist die Kraft, dieletztendlich den Gewinn an Kommunikationskosten angibt, folgendermaßen definiert: [HS95]

24

Page 30: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

3. Verwandte Arbeiten

f j→kcom (ti) := ccom × (V j

com(ti)− V kcom(ti)) (3.6)

Der Faktor ccom wird wiederum als Gewichtung fur diese Kraft verwendet. Mit dieser Be-rechnung der Kommunikationskraft kann festgestellt werden, ob sich die Kommunikationsko-sten eines Task ti bei einer Migration von Knoten j auf k verbessern oder verschlechtern.

Reibungskraft

Zusatzlich wird eine Kraft definiert, die sowohl der Lastverteilungskraft als auch der Kommu-nikationskraft entgegen wirkt. Dabei handelt es sich um die Kosten, die durch Migration einesTasks auf einen anderen Knoten entstehen. Nicht nur fur die Ubermittlung des Tasks entste-hen Kosten, sondern auch fur die Installation auf dem Zielknoten. Somit ist eine Migrationnur dann sinnvoll, wenn die dadurch entstandenen Kosten kleiner sind als die Einsparung anKommunikation und die bessere Lastverteilung. Aus diesem Grund werden die Migrationsko-sten als Reibungskraft festgelegt, die wie folgt berechnet wird: [HS95]

f j→kfrict(ti) := −cfrict × di × a(j, k) (3.7)

Dabei gibt die Variable di die Menge an Daten an, die fur eine Migration des Task tierforderlich sind, und cfrict die Gewichtung der Reibungskraft. Da diese Kraft mit einemVorzeichen behaftet ist, wirkt sie dementsprechend negativ auf die Anziehungskraft.

Migrationszahler

Neben Reibungskraft wird ein Migrationszahler eingefuhrt. Seine Aufgabe ist es, anhandeines vorher festgelegten maximalen Wertes fur die Migration die Anzahl der Migrationeneinzudammen. Dadurch konnen Tasks nicht endlos im System migrieren, der Overhead desVerfahrens halt sich in Grenzen und letztendlich terminiert der Algorithmus. Die Migrations-entscheidung anhand eines solchen Migrationszahlers wird wie folgt berechnet: [HS95]

xi :=

{1, if r ≥ zi

maxmigs

0, sonst(3.8)

maxmigs ist die maximale Anzahl an Migrationen eines Tasks ti, zi ist der Migrationszahlervon ti, welcher bei Initialisierung von ti mit 0 belegt wird und nach jeder Migration inkremen-tiert wird, r ist eine Zufallszahl im Intervall [0, 1). Eine Migration von ti findet statt, sobalddie Variable xi den Wert 1 annimmt. [HS95]

Funktionsweise

Der Ablauf des vorgestellten Algorithmus ist wie folgt: [HS95]Sowohl die Erstellung als auch die Terminierung der Tasks fuhrt zu einer Lastveranderung

auf dem jeweiligen Knoten. Bei der Erstellung fungiert der Erzeugerknoten als Initiator desdarauffolgenden Lastverteilungsverfahrens. Sofern Tasks ihre Arbeit beendet haben, werdenalle direkten Nachbarn uber die Lastveranderung informiert, woraufhin entweder einer odermehrere das Lastverteilungsverfahren anstoßen. Daraufhin werden alle notigen Lastinforma-tionen von den direkten Nachbarn gesammelt und aufgrund der Auswertung der Formel (3.8)fur die generelle Migrationsentscheidung kommen nur diese Tasks in Frage, die ihre maximale

25

Page 31: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

3. Verwandte Arbeiten

Migrationsgrenze noch nicht erreicht haben. Fur diese werden die Krafte zu allen Nachbarkno-ten berechnet und letztendlich eine Gesamtkraft ermittelt, die sich wie folgt zusammensetzt:[HS95]

f j→kres (ti) := f j→k

lb (ti) + f j→kcom (ti) + f j→k

frict(ti) (3.9)

Die Kraft f j→kres (ti) ist die Gesamtkraft, die auf einen Task ti, der auf dem Knoten j liegt,

in Richtung des Nachbarknoten k wirkt. Derjenige potentielle Migrationspartner wird aus-gewahlt, fur welchen die Gesamtkraft am hochsten ist. Sollten mehrere Tasks in dieselbeRichtung gezogen werden, wird der Task mit der hoheren Kraft priorisiert und die Migrationdorthin eingeleitet. Daraufhin informiert der Knoten seine Nachbarn uber die Lastverande-rung und es fuhrt schließlich zu einem Domino-Effekt an Lastverteilungsaktivitaten. Terminie-rung des Lastverteilungsverfahren auf einem Knoten erfolgt, sobald kein Task mehr migrierendarf oder die Gesamtkrafte negativ sind. [HS95]

Bei der alleinigen Betrachtung der Lastverteilungskraft erreicht das System durch die-ses Verfahren einen Zustand, in dem die Verteilung der Tasks auf den Knoten ausgeglichenist. Mit zusatzlicher Betrachtung der Kommunikationskraft setzt das Verfahren eine verteil-te Gradientensuche um, die sich lokalen Minima nahert, sofern der Algorithmus aufgrunddes Migrationszahlers oder der Reibung nicht fruhzeitig terminiert. Durch die permanenteDynamik in einem solchen System nahert sich dieses Verfahren heuristisch einem globalenOptimum.[HS95]

Der Algorithmus setzt Informationen voraus, die wahrend der Ausfuhrung nicht vorhan-den sind. Eine solche ist die Kommunikationsintensitat zwischen Tasks und es werden zweiVarianten genannt, um dieses Problem zu losen: [HS95]

• Das OS erstellt aufgrund Beobachtungen der Programme uber mehrere Ausfuhrungenhinweg Ausfuhrungsprofile, in denen quantitativ das Verhalten beschrieben ist.

• Wenn ein solches Ausfuhrungsprofil nicht vorhanden ist, beginnt der Algorithmus vorerstmit der Annahme, dass die Intensitaten zwischen den Tasks einheitlich sind. Wahrendder Ausfuhrung der Programme werden dann die tatsachlichen Intensitaten berechnetund vom Algorithmus verwendet.

26

Page 32: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

4. Umsetzung dynamischesProzessplatzierungsverfahren

Ziel dieser Arbeit ist es, ein Verfahren fur die Selbstorganisation von Tasks in einem verteiltenSystem zu entwickeln. Dabei sollen Ziele wie Minimierung der Kommunikationskosten undbessere Lastverteilung erreicht werden. Es wurden schon einige Beispiele zu Mechanismenfur selbstorganisierende Systeme genannt. Bei der Umsetzung fur ein dynamisches Prozess-platzierungsverfahren kommt ein Mechanismus analog zu dem in der Arbeit von H.Heiss undM.Schmitz[HS95] zum Einsatz.

Dieses Kapitel beschaftigt sich mit der individuellen Umsetzung des Kraftemodells. Dazuwurden Veranderungen im Systemmodell und der generellen Funktionsweise vorgenommen.Hierzu wird auf das verwendete Systemmodell, spezielle Erweiterungen und Unterschiede zumbisher vorgestellten Algorithmus eingegangen.

4.1. Motivation

Die Idee fur die konkrete Umsetzung eines dynamischen Prozessplatzierungsverfahrens wares, ein Kraftemodell zu verwenden und dabei die Ziele, wie sie schon in Abschnitt 1.2 definiertwurden, zu erreichen. Aufgrund der Ahnlichkeit zu der Arbeit von H.Heiss und M.Schmitz undden verfolgten Zielen fur ein solches Verfahren, dient diese Arbeit als Basis fur diese Diplom-arbeit. Jedoch werden in der eigenen Umsetzung andere Voraussetzungen verwendet, die eineAnpassung sowohl im Systemmodell als auch im Ablauf notwendig macht. Konkret soll dieschon vorhandene Kommunikation unter den Tasks fur das Verfahren verwendet werden. Uberdiese sollen dabei auch die benotigten Informationen fur die Berechnung der Krafte beschafftwerden. Aufgrund dieser Anforderung wird das Kraftemodell angepasst und ein Weg aufge-zeigt, wie die Informationsbeschaffung, die in der Arbeit von H.Heiss und M.Schmitz[HS95]nicht weiter konkretisiert wurde, erfolgen kann. Fur die Berechnung der Krafte wird beiH.Heiss und M.Schmitz[HS95] globales Wissen vorausgesetzt. Bei der individuellen Umset-zung eines solchen Verfahrens werden Moglichkeiten aufgezeigt, mit denen die Krafte ohneglobales Wissen berechnet werden konnen. Dabei kommen zwei Ansatze zum Einsatz.

Worst-Case-Annahme (WCA) Bei diesem Ansatz ist fur die Berechnung der Krafte keineKenntnis uber die Distanz zu Kommunikationspartnern vorhanden. Deshalb erfolgt im-mer eine Verbesserung zu einem Kommunikationspartner und eine Verschlechterung zuallen anderen.

Distanztabellen (DT) Bei Einsatz von Distanztabellen kann eine exakte Angabe uber dieDistanz zu allen Kommunikationspartnern gegeben werden. Somit erfolgt eine praziseBerechnung aller Krafte.

Eine genauere Beschreibung der Krafteberechnung erfolgt im weiteren Verlauf dieses Kapi-tels.

27

Page 33: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

4. Umsetzung dynamisches Prozessplatzierungsverfahren

4.2. Individuelle Umsetzung des Kraftemodells

4.2.1. Allgemeine Funktionsweise

Das System besteht aus einer Vielzahl von Rechnern, die miteinander verbunden sind. Obes sich hier um Programme handelt, welche wiederum in einzelne Tasks unterteilt werdenkonnen, oder es sich um einzelne autonome kleine Services dreht, kann hierbei außer Achtgelassen werden, da der Algorithmus generell auf verteilte Systeme ausgelegt ist und dasPrinzip gleich bleibt.

4.2.2. Systemmodell

Das verwendete Systemmodell ahnelt dem in der Arbeit von H.Heiss und M.Schmitz[HS95].Der Unterschied liegt darin, dass in der Erweiterung des Modells keine exakten Angaben z.B.uber die Zeit des Datentransports von einem zum anderen Prozessor oder die Große der Tasksgemacht werden. Ausgehend von einer sehr dynamischen Umgebung, in der exakte Angabensowohl zu den Knoten als auch zu den Tasks kaum gemacht werden konnen, ergibt sichfolgendes Systemmodell, welches auch fur die Simulation verwendet wurde. Dabei beschreibendie Rechnerknoten folgenden Prozessor-Verbindungsgraph PV G = (P,L):

P Menge von ausfuhrenden Elementen (Knoten)L ⊆ P × P Links zwischen zwei Prozessoren (Kanten)capk Kapazitat an verfugbaren Ressourcen des Knoten k

Bei diesem Modell wird ein allgemeiner Wert an Ressourcen angenommen, der zusammen-fassend Werte wie Prozessorgeschwindigkeit und Speicher reprasentieren soll. Dies ist jedochjederzeit erweiterbar, so dass einzelne Werte fur die unterschiedlichen Ressourcen verwendetwerden konnen.

Auch die Tasks konnen durch einen Task-Interaktionsgraphen TIG = (T,C) dargestelltwerden:

T Menge von Tasks (Knoten)C ⊆ T × T Menge von Kommunikationskanale (Kanten)c(i, j) Kommunikationsintensitat, (i, j) ∈ C (Anzahl Nachrichten)ri Ressourcenverbrauch des Task ti (Feste Große eines Task)

Bei dieser Umsetzung wird auch fur die Tasks eine vereinfachte Große fur die Ressour-cennutzung angegeben. Große und Lange eines Tasks finden dabei keine Berucksichtigung.Naturlich kann auch hier fur die Ressourcennutzung unterschiedliche Werte, z.B. Speicher-verbrauch, CPU-Nutzung usw., verwendet werden.

Lastverteilungskraft

In diesem Modell wird folgende Definition fur das Lastpotential eines Knoten gegeben:

V kload := capk −

∑j:loc(j)=k

rj (4.1)

28

Page 34: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

4. Umsetzung dynamisches Prozessplatzierungsverfahren

wobei auch hier loc(j) den Index des ausfuhrenden Knoten angibt, auf dem sich Tasktj befindet. Diese Berechnung liefert die Restressourcen auf dem Knoten k. Der kumulierteRessourcenverbrauch aller Tasks, die auf dem Knoten k liegen, werden von dessen verfugbarenRessourcen capk abgezogen.

Um die Werte der Nachbarn mit diesem vergleichbar zu machen, wird dafur die Formel(4.1) erweitert. Fur alle Nachbarknoten m ∈ P von Knoten k mit bestehender Verbindungl ∈ L zwischen Knoten k und m gilt:

V mload := (capm −

∑j:loc(j)=m

rj)− ri (4.2)

Die Notwendigkeit dieser Anpassung liegt darin, dass fur einen Nachbarknoten die poten-tielle Last ermittelt werden muss, die bei einer Migration des Task ti auf Knoten m auftretenwurde. Damit sind diese Werte miteinander vergleichbar und letztendlich ergibt sich fur Last-verteilungskraft folgende Definition:

f j→klb (ti) := V k

load − Vjload (4.3)

wobei fur V kload die Definition von Formel (4.2) verwendet wird. Bei dieser Berechnung

wird nun die Differenz der Lastpotentiale zwischen zwei benachbarten Knoten herangezogen.Angesichts der Auswertung eines Lastpotentials fur einen Knoten kann eine absolute Be-rechnung dieser Kraft erfolgen und fuhrt zu keinen Problemen wie in der Arbeit von H.Heissund M.Schmitz[HS95], in der unterschiedlich ausgelastete Knotenpaare dasselbe Lastpotentialbesitzen konnen.

Kommunikationskraft

Die Kommunikationskosten werden auch in diesem Modell berechnet. Unterschied zu derBeschreibung in Formel (3.5) Abschnitt 3.5.2 liegt darin, dass fur die Berechnung der Kraftals Distanz die Anzahl an Hops jeder empfangenen Nachricht eines Kommunikationspartnersverwendet wird. Ein Task, der eine gewisse Menge an Nachrichten uber einen Nachbarknotenerhalten hat, kann daraufhin aufgrund dieser die Gesamtkraft zu diesem berechnen. Somitergibt sich folgende Definition der Kommunikationskosten:

V kcom(ti) :=

|Q|∑j=1

hops(i, j)× c(i, j) (4.4)

wobei hops(i, j) die Distanz in Hops zwischen Task ti und tj angibt. V kcom gibt die Kosten

unter Berucksichtigung der Kommunikationsintensitat c(i, j) zwischen Task ti und tj an.Q ⊆ T ist die Menge der Kommunikationspartner von Task ti. Interne Nachrichten werdenebenso berucksichtigt.

Fur potentielle Migrationspartner bleibt naturlich die Intensitat c(i, j) gleich, jedoch verrin-gert sich die Distanz untereinander. Fur interne Nachrichten wird diese Distanz 0 und somitverursachen diese keine Kommunikationskosten. Auf die Berechnung der Distanzen wird imweiteren Verlauf eingegangen. Gewinn an Kommunikationskosten berechnet sich nun folgen-dermaßen:

f j→kcom (ti) := V j

com(ti)− V kcom(ti) (4.5)

29

Page 35: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

4. Umsetzung dynamisches Prozessplatzierungsverfahren

Reibungskraft

Migrationskosten werden in dieser Umsetzung nicht berucksichtigt. Dennoch gibt es aucheine Reibungskraft, die unnotige Migrationen mit keiner bzw. nur geringfugiger Verbesserungverhindert. Somit werden auch oszillierende Konstellationen vermieden. Jeder Task besitzteine eigene Reibungskraft ffric. Fur die Erweiterung des Kraftemodells in Abschnitt 3.5 aufSeite 21 werden zwei Varianten fur die Berechnung der Reibungskraft vorgestellt:

1. Statische ReibungskraftBei dieser Variante kann manuell eine statische Reibungskraft bestimmt werden, diedann fur alle Tasks wahrend der Ausfuhrung des Verfahrens gilt. Sie wird vor derAusfuhrung festgelegt und beeinflusst das Verhalten der Migrationen aufgrund ihrerHohe, die angesichts der Große und Topologie des Netzes variieren kann. Eine formelleDefinition dieser Kraft lautet wie folgt:

f j→kfric := −constfric (4.6)

constfric ist hierbei die festgelegte Reibungskonstante, die der Anziehungskraft entge-genwirkt.

2. Dynamische ReibungskraftEine andere Moglichkeit zur Berechnung ist ein dynamischer Ansatz. Bei Initialisierungder Tasks werden die jeweiligen Reibungskrafte mit 0 belegt. Im weiteren Verlauf desVerfahrens werden die Krafte gesammelt, die den Task zur Migration veranlasst haben.Ab einer vorher bestimmten Anzahl an Eintrage wird ein Durchschnittswert gebildet,der die neu festgelegte Reibung eines Task darstellt. Somit passt sich die Reibung dyna-misch an und berucksichtigt vergangene Migrationsentscheidungen. Zukunftige mussennun diese Kraft uberwinden, um selbst migrieren zu konnen. Somit werden wenigergewinnbringende Migrationen vermieden. Fur einen Task ti wird eine eigene Reibungfrici dynamisch bestimmt, wobei fur die Reibungskraft folgendes gilt:

f j→kfric := −frici (4.7)

Die Anzahl an vergangenen Eintragen kann beliebig gewahlt werden. Die Kraft wirktebenfalls der Anziehungskraft entgegen.

Migrationen-Back-Blocker

In dieser Umsetzung wird kein Migrationszahler verwendet, sondern es wird ein anderer An-satz verfolgt, ein sogenannter ‘Migrationen-Back-Blocker’. Dieser hat die Aufgabe, endloseMigrationen von Tasks zu minimieren. Der Unterschied liegt jedoch im Verhalten. Sobald alleTasks ihre maximale Grenze an Migrationen erreicht haben, terminiert der Algorithmus ausAbschnitt 3.5.2. Veranderungen zur Laufzeit im System werden dabei jedoch nicht beruck-sichtigt. Sollten zusatzliche Tasks das Netz betreten, konnen die bisherigen Tasks nicht weitermigrieren und somit keine weitere Verbesserung erzielen. Im Gegensatz dazu wird es in dieserUmsetzung keine Begrenzung der Migrationen geben. Es wird lediglich sichergestellt, dass einTask nach seiner Migration nicht auf seinen ursprunglichen Knoten zuruckmigrieren kann.Damit wird versucht, oszillierende Zustande so gut wie moglich einzudammen. Mit dieser Va-riante sind die Tasks in der Lage, auf standige Veranderungen im Netz weiterhin einzugehen.

30

Page 36: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

4. Umsetzung dynamisches Prozessplatzierungsverfahren

xim→k :=

{1, if k 6= nlast0, sonst

(4.8)

k ist dabei der neue Knoten, auf den Task ti migrieren mochte. nlast ist der letzte Knoten,auf dem Task ti vor seinem aktuellen Knoten m platziert war. Sobald diese beiden Knotenidentisch sind, erfolgt keine Migration. Ansonsten darf Task ti auf Knoten k migrieren.

Der Grund fur diese Art von Blocker ist es, auf Veranderungen zur Laufzeit reagieren zukonnen. Somit konnen Tasks, die das System nachtraglich betreten, berucksichtigt werden.Der vorgestellte Migrationszahler in Abschnitt 3.5.2 vermag dies nicht. Oszillierende Kon-stellationen konnten jedoch diesem Blocker zum Nachteil werden. Da nur der letzte besuchteKnoten berucksichtigt wird, kann bei bestimmten Netzen indirekte Oszillation vorkommen,indem uber einen Nachbar auf den Ausgangsknoten zuruckmigriert wird. Die direkte Oszilla-tion zwischen zwei Knoten wird durch diesen Mechanismus jedoch vermieden.

4.2.3. Erweiterungen

Der Algorithmus benotigt gewisse Informationen, um exakte Berechnungen der Krafte vor-nehmen zu konnen. Deshalb werden Erweiterungen angesprochen, die aufgrund fehlenderInformationen aus dem Verfahren in Abschnitt 3.5 hervorgehen.

Bei dieser Umsetzung wird der Kommunikation unter den Tasks eine wichtige Rolle zuge-wiesen. Die Nachrichten, die Tasks aufgrund ihrer Ausfuhrung untereinander versenden, sindzum Einen Ausloser fur den Algorithmus und zum Anderen werden daruber Informationen zurBerechnung der Krafte mitverschickt. Der verwendete Mechanismus ist dabei PiggyBacking.Dabei werden die benotigten Informationen an die eigentliche Nachricht angehangt. Somitwird ein zusatzlicher Aufwand fur die Beschaffung von Informationen vermieden. Das Verfah-ren besitzt die Fahigkeit, die Informationen aus den Nachrichten zu extrahieren und fur ihreBerechnung zu verwenden. Folgende Auflistung gibt einen Uberblick uber die Daten, die mitder vorhandenen Kommunikation versendet bzw. durch diese berechnet werden konnen:

• Kennungen von Task und Knoten

• Anzahl Hops einer Nachricht

• Lastinformationen

• Distanzinformationen fur Distanztabellen

• Kommunikationsintensitat

Diese Punkte stellen Erweiterungen dar und werden nachfolgend genauer dargelegt.

Kennungen In einer Nachricht werden standardmaßig Kennungen hinterlegt. Dies sind aufder einen Seite die Identifikationsnummer (ID) des Tasks, vom dem eine Nachrichtstammt und die ID des Knotens, auf dem er platziert ist. Diese Informationen werdenfur die Distanztabellen und Kommunikationsintensitaten verwendet. Auf der anderenSeite wird die ID des Knotens, uber dem die Nachricht weiterverschickt wurde, darinhinterlegt. Somit ist eindeutig bestimmbar, von welchem Nachbarknoten eine Nachrichtstammt. Diese Information ist zur Berechnung des Lastpotentials eines Nachbarknotenwichtig.

31

Page 37: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

4. Umsetzung dynamisches Prozessplatzierungsverfahren

Hops Eine weitere wichtige Information, die uber den Nachrichtenversand gewonnen werdenkann, ist die Distanz zwischen Absender-und Empfangertask. Da eine Nachricht ubermehrere Knoten zum Zieltask geleitet werden kann, wird in dieser ein entsprechenderWert beim Weiterverschicken inkrementiert. Somit ist es moglich, am Zieltask eine ge-naue Information uber die Distanz zum Kommunikationspartner zu haben. Benotigtwird dieses Wissen zum Einen fur die Distanztabellen und zum Anderen zur exaktenBerechnung der Kommunikationskraft.

Lastinformationen Wie schon angesprochen, wird in dieser Umsetzung ein einzelner Wertverwendet, der zusammenfassend die Ressourcen eines Rechnerknotens widerspiegelt.Diese Information ist deswegen wichtig, weil dadurch ermittelt werden kann, ob einpotentieller Migrationspartner aufgrund der verfugbaren Restressourcen attraktiver fureinen Task ist als der bisherige Wirtsknoten. Durch explizite Nachfrage an die Nach-barknoten ist es moglich, Informationen uber den aktuellen Lastzustand zu bekommen.Dieser Weg wird in der Arbeit von H.Heiss und M.Schmitz [HS95] verwendet. Bei Be-trachtung eines Netzes mit vielen Tasks fallt jedoch auf, dass eine solche Nachfrage mitsehr viel Kommunikation zu den Nachbarn verbunden ist, besonders, wenn ein Knotenviele Nachbarn besitzt. Aus diesem Grund und der Vorgabe, die bestehende Kommu-nikation der Tasks untereinander zu nutzen, verfolgt dieser Ansatz einen anderen Weg.Dabei werden die Nachrichten herangezogen, die die Tasks aufgrund ihrer Ausfuhrunguntereinander versenden, um den aktuellen Lastzustand eines Knotens mitzuschicken.Abbildung 4.1 illustriert diesen Vorgang.

Abbildung 4.1.: Austausch von Lastinformationen durch Nachrichten

In diesem einfachen Beispiel besteht das Netz aus vier miteinander verbundenen Knotenk1, k2, k3 und k4. Auf Knoten k1 liegt Task t1, auf Knoten k4 liegt Task t2. Es wirdeine Nachricht m von Task t1 zu Task t2 verschickt. m passiert dabei nacheinander dieKnoten k2, k3 und erreicht letztendlich den Zielknoten k4. Bei Versenden der Nachrichtfugt k1 seine Lastinformation in die Nachricht ein und verschickt sie weiter an Knotenk2. Dieser liest diese Information aus und fugt sie in eine Tabelle ein. Da die Nachrichtnicht fur einen Task bestimmt ist, der auf k2 liegt, integriert k2 seine Lastinformati-on in die Nachricht und verschickt sie weiter an Knoten k3. k3 liest die Information

32

Page 38: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

4. Umsetzung dynamisches Prozessplatzierungsverfahren

ebenfalls aus, fugt sie in eine Tabelle, baut seine Lastinformation in die Nachricht einund versendet sie weiter an Knoten k4. Angekommen am Zielknoten wird ebenfalls dieLastinformation ausgelesen und abgelegt, jedoch wird die Nachricht an den Task t2 wei-tergegeben. Durch diesen Mechanismus baut sich im Laufe der Zeit auf jedem Knoteneine Ressourcentabelle auf, in der die Lastinformationen der Nachbarknoten hinterlegtsind. Je nach Anzahl der Tasks im Netz und Kommunikationsintensitat dieser, aktuali-siert sich die Tabelle. Diese kann durchaus nicht alle Nachbarknoten beinhalten, da nurjene eingetragen werden, uber die ein Knoten Nachrichten erhalten hat.

Auf diese Weise umgeht man den zusatzlichen Traffic, der durch die Nachfrage derLastinformationen entsteht.

Distanztabellen Eine weitere wichtige Information fur die exakte Berechnung der Kommu-nikationskraft ist die Bestimmung der Distanz zwischen zwei kommunizierenden Tasks.Sowohl in Abschnitt 3.5 als auch in dieser Umsetzung wird davon Gebrauch gemacht. Je-doch im ersten Ansatz wird keinerlei Auskunft daruber gegeben, wie die Tasks an dieseInformation gelangen. Im hier beschriebenen Ansatz werden Distanztabellen eingefuhrt,die auf jedem Knoten abgelegt sind und diese fehlende Information liefern konnen. Dabeiwerden die Entfernungen anhand der Nachbarknoten gespeichert. Fur die Eintragun-gen in diese Tabelle wird abermals die vorhandene Kommunikation unter den Tasksherangezogen. Abbildung 4.2 veranschaulicht den Aufbau einer Distanztabelle.

Abbildung 4.2.: Aufbau Distanztabelle auf einem Knoten

Dieses beispielhafte Netz besteht aus neun Knoten, wobei jeder Knoten mit den direktenNachbarn verbunden ist. Zur besseren Ubersicht wurden die Kommunikationsverbindun-gen zwischen den Knoten entfernt. Im Netz sind vier Tasks enthalten, wobei Task t1auf Knoten k1, Task t2 auf Knoten k4, Task t3 auf Knoten k8 und Task t4 auf Knotenk9 platziert ist. Folgende Kommunikationspaare sind ebenfalls gegeben:

t1→ t3 uber Pfad p1 := {k1, k2, k5, k8}t2→ t3 uber Pfad p2 := {k4, k7, k8}t2→ t4 uber Pfad p3 := {k4, k5, k8, k9}

33

Page 39: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

4. Umsetzung dynamisches Prozessplatzierungsverfahren

Der Ablauf fur den Aufbau der Distanztabelle auf Knoten k8 lautet wie folgt:Nachrichten werden zwischen den gegebenen Kommunikationspaaren verschickt. BeimVersenden einer Nachricht von Task t1 zu Task t3 uber Pfad p1 werden in der Nach-richt die ID des Knotens, auf dem Task t1 liegt, hinterlegt. Außerdem wird die Anzahlder Hops, die eine Nachricht gehen musste, in die Nachricht eingefugt. Nun wird dieNachricht entlang des Pfades p1 verschickt. Knoten k2 liest sowohl die ID als auch diegegangenen Hops aus der Nachricht aus. Nun speichert k2 die ID des Startknotens, IDdes Nachbarknotens, welcher standardmaßig in einer Nachricht hinterlegt wird, und dieAnzahl Hops um 1 verringert. Dieser Vorgang wiederholt sich entlang des Pfades p1,bis letztendlich der Zielknoten k8 erreicht wurde. Dort wird ebenfalls die ID des Start-knotens, des Nachbarknotens und die Anzahl Hops um 1 verringert ausgelesen und inder Distanztabelle eingefugt. Somit ist es dem Knoten moglich, einzusehen, wie weit einKnoten vom Nachbarknoten aus entfernt ist. Der Aufbau der restlichen Eintrage in derDistanztabelle wird anhand der anderen Kommunikationspaare generiert. Durch diesenAblauf resultiert letztendlich eine Distanztabelle auf Knoten k8, wie sie in Abbildung4.2 zu sehen ist.

Dadurch kann das Problem gelost werden, dass Tasks fur ihre Berechnung die Distanzzu ihren Kommunikationspartnern nicht kennen. Denn bei Betrachtung der Abbildung4.2 kann folgende Konstellation eintreten, die nur durch solche Distanztabellen zu einerrichtigen Berechnung fuhrt:Sollte nun Task t3 Knoten k5 also Migrationspartner in Betracht ziehen, musste t3 ohneDistanztabelle davon ausgehen, dass er sich von seinem zweiten Kommunikationspartnert2 entfernt, da er keine Kenntnis uber den Aufbau des zugrundeliegenden Netzes hat.Durch diese Annahme resultiert eine inkorrekte Berechnung der Kommunikationskraftin Richtung des Knoten k5. Bei Einsatz von Distanztabellen ist es Task t3 moglich, zuerkennen, dass durch eine Migration die Distanz und somit die Kommunikationskostenzu Task t2 verringert wird. Daraus ergibt sich eine hohere Kommunikationskraft inRichtung k5 als in der ersten Berechnung.

Kommunikationsintensitat Ein weiterer wichtiger Punkt fur die exakte Berechnung der Kom-munikationskosten ist das Wissen uber die Kommunikationsintensitaten der Tasks un-tereinander. In dieser Umsetzung werden wahrend der Ausfuhrung die Kommunikations-intensitaten ermittelt. Ein Task sammelt wahrend seiner Ausfuhrung die Nachrichten,die er von anderen Kommunikationspartnern erhalten hat. Da bei dieser Umsetzung dieAnzahl der gesammelten Nachrichten das auslosende Ereignis fur das Verfahren sind,werden die in den Nachrichten erhaltenen Informationen extrahiert. Somit konnen dieAnzahl Nachrichten von jedem Kommunikationspartner ermittelt und als Intensitatenfur weitere Berechnungen herangezogen werden.

4.2.4. Funktionsweise

Die Funktionsweise ahnelt zwar der in Abschnitt 3.5.2, jedoch gibt es grundlegende Unter-schiede, welche im Anschluss erlautert werden und die beschriebenen Erweiterungen zumEinsatz kommen:

Tasks konnen keine bis mehrere Kommunikationspartner besitzen. Wahrend der Laufzeitwerden Nachrichten an diese verschickt. Die Tasks sammeln diese Nachrichten und sobaldeine festgelegte Anzahl erreicht ist, wird das Verfahren fur die Migrationsentscheidung fur

34

Page 40: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

4. Umsetzung dynamisches Prozessplatzierungsverfahren

jeden Task separat angestoßen. Nun werden die Nachrichten verarbeitet und aufgrund dergesammelten Informationen kann die Gesamtkraft zu einem potentiellen Migrationspartnererrechnet werden. Dabei kommen nur die Nachbarknoten in Frage, uber welche Nachrich-ten zum jeweiligen Zieltask weitergeleitet wurden. Die Nachrichten selber wurden uber einintelligentes Routingverfahren, welches nicht selbst implementiert wurde, durch das Netz ge-leitet. Somit ist sichergestellt, dass bei einer Migration definitiv eine gewisse Verbesserungbezuglich der Kommunikationskosten erreicht werden kann. Außerdem werden dabei auchuninteressante Migrationspartner ausgeschlossen. Fur die Berechnung der Gesamtkraft zueinem Nachbarknoten wird folgende Formel verwendet:

f j→kres (ti) := (1− α)× f j→k

lb (ti) + α× f j→kcom (ti) + f j→k

frict(ti) (4.9)

Die Kraft f j→kres (ti) wirkt auf einen Task ti, der auf Knoten j platziert ist, und zum Nach-

barknoten k migrieren mochte. α ist hierbei ein Gewichtungsfaktor, der dazu verwendet wird,um die Krafte einzeln zu gewichten. Die Gewichtung innerhalb der Berechnungen der Ein-zelkrafte, wie sie im Systemmodell von H.Heiss und M.Schmitz auf Seite 23 vollzogen wird,erfolgt hier nicht.

Bei Verwendung des ’Migrationen-Back-Blocker‘ wird vorher noch uberpruft, ob der po-tentielle Migrationspartner der zuletzt besuchte Knoten ist. Sollte dies der Fall sein, wirdeine Migration verhindert. Die Informationen uber den Lastzustand eines Nachbarn werdenvia PiggyBacking durch den bestehenden Nachrichtenaustausch der Tasks an die Knotenweitergegeben. Nachrichten, die durch das Netz geleitet werden, tragen Lastinformation desjeweiligen Vorgangerknotens mit sich. Diese Information wird auf einem Knoten ausgelesen,gespeichert, der eigene Lastzustand eingetragen und weiterverschickt. Beim Zielknoten ange-kommen wird der Lastzustand des Nachbarn gespeichert und die Nachricht weiter an den Taskgeleitet. Zusatzlich werden durch dieses Verfahren Ortsinformationen des Startknotens, aufdem der sendende Task liegt, mitgeliefert. Alle Knoten entlang des Pfades, auf dem die Nach-richt versendet wurde, halten sich Distanztabellen, in der diese Informationen abgespeichertund letztlich fur den Algorithmus verwendet werden. Dabei uberpruft der zu migrierende Taskanhand seines Migrationsziels in der Distanztabelle seines Knotens, ob ein Eintrag uber denKnoten seines Kommunikationspartners vorhanden ist. Sollte dies der Fall sein, dann wird diegenaue Distanz zur Berechnung der Kommunikationskosten herangezogen. Andernfalls wirdder Worst-Case vorausgesetzt und angenommen, dass sich bei einer Migration der Task zuden Kommunikationspartnern, die uber sein Migrationsziel gesendet haben, annahert, jedochzu allen anderen entfernt und schließlich zusatzliche Kosten dadurch entstehen. Kommunika-tionspartner, die auf demselben Knoten platziert sind, verursachen aufgrund der fehlendenDistanz zueinander keine Kommunikationskosten. Bei erfolgreicher Migration eines Tasks aufeinen anderen Knoten kann dieser die geanderten Lastinformationen an seine Nachbarn ver-senden. Dadurch wird eine standige Aktualisierung der Lastinformationen auf den Nachbar-knoten sichergestellt. Bei haufigem Nachrichtenversand kann dies jedoch auch vernachlassigtwerden. Im Falle eines Knotens, der selber keine Nachrichten bekommt, aber versendet, sor-gen Ack-Nachrichten1, die den Empfang einzelner oder mehrere Nachrichten quittieren, dafur,dass auch solche Knoten migrationswillig sind. Der Algorithmus lauft volligst dezentral undwird nicht von den Knoten, sondern durch die Tasks angestoßen.

Der Ablauf des vorgestellten Verfahrens kann unter Algorithmus 1 als Pseudocode nach-vollzogen werden.

1Bestatigungsnachrichten

35

Page 41: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

4. Umsetzung dynamisches Prozessplatzierungsverfahren

Algorithmus 1 Pseudocode des Verfahrens

1: //Service s wartet bis Anzahl an Nachrichten erreicht wurde2: partners← potentielle Migrationspartner3: list← Liste fur berechnete Krafte zu jeweilige Nachbarn4: for all partners of s do5: fres ← Berechnung der Kraft zu partner6: list.add(partner, fres)7: end for8: cand← list.max //attraktivster Nachbarknoten mit hochster Kraft9: if list.get(cand) > 0 then //Kraft zu Nachbar muss großer 0 sein

10: migrationAllowed← true11: if Migrationen-Back-Blocker aktiv then12: if cand letzter besuchter Knoten then13: migrationAllowed← false14: end if15: end if16: if Dynamische Reibung aktiv then17: speicher fres fur cand in s ab //Reibung wird dadurch ermittelt18: end if19: if migrationAllowed then20: migrate(s, cand)21: cand sendet neue Lastinformationen an seine Nachbarn //optional22: end if23: end if

4.2.5. Gemeinsamkeiten und Unterschiede

In diesem Verfahren wird ebenfalls ein physikalisches Kraftemodell verwendet, bei dem Krafteauf die einzelnen Tasks wirken und sie zur Migration auf benachbarte Knoten veranlassen.Dementsprechend ahneln sich die Systemmodelle zu dieser Umsetzung und der Arbeit vonH.Heiss und M.Schmitz[HS95].

Die Ausnutzung der vorhandenen Kommunikation der Tasks untereinander fur das Auslosendes Verfahrens und der Gewinnung von zusatzlichen Informationen stellt einen Unterschiedzwischen dieser Umsetzung und der vorgestellten Arbeit dar. Somit werden nicht zusatzlicheKosten fur die Informationsbeschaffung verursacht. Außerdem stoßen die Tasks selbst dasVerfahren an und nicht die entsprechenden Knoten, wie es in der Arbeit von H.Heiss undM.Schmitz[HS95] der Fall ist. Dadurch lauft das Verfahren noch verteilter ab und die Ent-scheidungsgewalt fur eine eventuelle Neuverteilung liegt bei den Tasks selbst. Eine weitereAbweichung ist der Gebrauch von allgemeinen Ressourcenwerten fur Knoten und Tasks. Dieskann jedoch jederzeit erweitert werden.

36

Page 42: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

5.1. Simulation

Im vorangegangen Kapitel wurde ausfuhrlich das verwendete Verfahren beschrieben, mit demein solches dynamisches Prozessplatzierungsverfahren umgesetzt werden soll. Um diesen Al-gorithmus zu testen, bedarf es einer geeigneten Simulationsumgebung, mit deren Hilfe dieErgebnisse veranschaulicht werden konnen. Im weiteren Verlauf wird konkret auf die Simula-tionsumgebung eingegangen und naher beschrieben.

5.1.1. Simulationsumgebung

Fur diese Diplomarbeit wurde eigens eine Simulationsumgebung programmiert. Damit ist esmoglich, das Verfahren mit unterschiedlichen Einstellungen zu testen und zu evaluieren.

Sie wurde komplett in der objektorientierten Programmiersprache Java unter Verwendungdes Java Developement Kit (JDK) 1.6 Update 16 umgesetzt[Corb]. Als Entwicklungsumge-bung wurde dabei Eclipse in der Version 3.4.21verwendet[Foub].

Vorgabe war es, eine Grafische Benutzeroberflache (GUI) zu schaffen, mit der es moglichist, Einstellungen vorzunehmen und anhand dieser Simulationen laufen zu lassen. Zusatzlichkonnen Simulationen uber die Konsole gestartet werden. Dazu werden entsprechende Para-meter dem Konsolenbefehl ubergeben. Die Ergebnisse werden bei beiden Varianten in eineCSV-Datei geschrieben. Gerade bei der Konsolenanwendung konnen nacheinander mehrere Si-mulationen gestartet und deren Ergebnisse gemittelt in eine entsprechende CSV-Datei erfasstwerden. Bei Einsatz der GUI werden die Ergebnisse zusatzlich grafisch dargestellt. Abbildung5.1 zeigt beide Varianten der Simulationsumgebung.

Abbildung 5.1.: Screenhots der Simulationsumgebung

1Build id: M20090211-1700

37

Page 43: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

5.1.2. Verwendete Bibliotheken

Bei der Programmierung der Simulationsumgebung wurden einige Bibliotheken verwendet.Zur Nachvollziehbarkeit von Fehlern und dem Ablauf der Simulation wurde das Logging-

Framework log4j in der Version 1.2.15 verwendet[Foua]. Damit konnen die unterschiedlichenStufen von Meldungen in separate Dateien geschrieben werden.

Wahrend der Simulation gesammelte Ergebnisse werden separat in eine CSV Datei ge-schrieben. Dafur wurde die freie Bibliothek SuperCSV in der Version 1.52[Gra] eingesetzt,die das Schreiben solcher Dateien erleichtert.

Fur die Echtzeitanalyse wahrend einer Simulation wurde die grafische Darstellung der Er-gebnisse durch die freie Bibliothek jFreeChart in der Version 1.0.13 realisiert[Lim]. Durchdiese konnen Datensatze auf unterschiedliche Diagrammtypen prasentiert werden.

Zur ubersichtlichen Darstellung der Netze in der Simulationsumgebung wurde das freieGraphen- und Netzwerk-Framework Jung in der Version 2.0.1 verwendet[OFN]. Mithilfe die-ses Frameworks konnen auch unterschiedliche Netze generiert werden, wie der Small-WorldGraph.

5.1.3. Verwendete Netztopologien

In der Arbeit von H.Heiss und M.Schmitz wurde der Algorithmus auf einem 2-dimensionalenGrid simuliert. Im Unterschied dazu kann der eigens umgesetzte Algorithmus an unterschied-lichen Netztopologien in der programmierten Simulationsumgebung getestet werden. Dabeiwerden folgende Netze unterstutzt:

Cluster Ein Cluster ist allgemein ein Zusammenschluss mehrerer gleichartiger Computer, diejedoch von außen als ein Computer angesehen werden. Je nach Zielsetzung wird zwischenHochverfugbarkeits-Cluster, Lastverteilungs-Cluster und Hochgeschwindigkeits-Clusterunterschieden.[fSidI09]Im Kontext dieser Diplomarbeit ist die verwendete Topologie einem Cluster ahnlich, je-doch besitzt sie andere Eigenschaften. Das Netz besteht hierbei aus Gruppen von Kno-ten, die miteinander verbunden sind und je nach Position nur uber ihre Nachbarn hinwegmit anderen Knoten kommunizieren konnen. Jeweils nur ein Knoten dieser Gruppe istmit benachbarten Gruppen verbunden. Abbildung 5.2 zeigt eine solche Netztopologiemit 9 Knoten.

Abbildung 5.2.: Beispiel Cluster-Netzwerk

38

Page 44: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Grid Im Bereich des verteilten Rechnens spielen Grids eine wichtige Rolle. Besonders beirechenintensiven wissenschaftlichen Problemen finden Grids Verwendung.[BNS04]Bei dieser Topolgoie kann der Algorithmus auf einem 2-dimensionalen x*x Grid simu-liert werden. Abbildung 5.3 zeigt exemplarisch ein 3*3 2-dimensionales Grid. Fur dieSimulation kann die Große beliebig gewahlt werden.

Abbildung 5.3.: Beispiel Grid-Netzwerk

Small World Wichtige Vertreter realistischer Netzwerke sind die Small-World Netze. Sie sinddeswegen interessant, da Teile des Internets, Stromnetze oder soziale Netzwerke wie Fa-cebook oder StudiVZ auf dem Small-World Phanomen basieren. Dieses Phanomen kannauch auf Kommunikationssysteme ubertragen werden. In der Simulation wird anhandder verwendeten Graphenbibliothek Jung ein solches Netz nach Jon Kleinberg2 gene-riert. Abbildung 5.4 illustriert ein Small-World Netzwerk mit 9 Knoten.

Abbildung 5.4.: Beispiel Small-World-Netzwerk

Ad-Hoc ‘Ein Ad-hoc-Netzwerk bezeichnet in der Informationstechnik ein Funknetz zwischenzwei oder mehr mobilen Endgeraten, das ohne feste Infrastruktur auskommt. Verwen-det wird diese Technik zum Beispiel bei Bluetooth, um die spontane Koppelung vonMobiltelefonen z. B. mit Headsets zu ermoglichen. Auch WLAN kennt einen Ad-hoc-Modus.’[Wika]Abbildung 5.5 veranschaulicht ein beispielhaftes Ad-hoc Netzwerk mit 9 Knoten.

2Professor der Computerwissenschaften an der Cornell Universitat, Ithaca NY

39

Page 45: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Abbildung 5.5.: Beispiel Ad-hoc-Netzwerk

5.2. Auswertung

Dieser Abschnitt beschaftigt sich mit der Auswertung des Verfahrens, angewendet auf unter-schiedliche Netze. Dabei werden drei unterschiedliche Topologien, Cluster, Grid und SmallWorld, verwendet. Hinsichtlich der Zufallsgroßen in einer Simulation wurden alle Simulationenfunfzig mal durchlaufen mit jeweils 5000 Simulationsschritten, um daraus einen aussagekrafti-gen Mittelwert zu generieren. Somit konnen Fehlinterpretationen der Simulationsergebnisseausgeschlossen werden. Dabei wurde jede Simulation mit den gleichen Parametern reinitiali-siert, wobei die Verteilung der Tasks im Netz jedesmal zufallig generiert wurde. Dabei wer-den schwer bis weniger ausgelastete Knoten erreicht. Fur alle drei Netztopologien besteht dieStandardsimulation aus 100 Knoten und 500 Tasks, wobei jeder Task durchschnittlich 3 Kom-munikationspartner besitzt. Durch diese Anzahl an Knoten und Task wird eine Auslastungvon 30% in jedem Netz erreicht. Die Kommunikationsintensitat zwischen zwei Tasks liegt zwi-schen 1 und 5 und wird ebenfalls zufallig festgelegt. Wie schon in Abschnitt 4.2.2 auf Seite 28beschrieben, wird bei diesen Simulationen sowohl bei den Knoten als auch bei den Tasks voneinem einheitlichen Ressourcenwert ausgegangen. Die Kapazitat eines Knotens und die Res-sourcennutzung eines Tasks ist einheitlich festgelegt. Fur jeden Knoten wurde dabei ein Wertvon 50 und fur jeden Task ein Wert von 3 bestimmt. Aufgrund der zufalligen Initialisierungwird sichergestellt, dass jede Simulation mit unterschiedlichen Anfangsbedingungen startet.Der Gewichtungsfaktor α, wie er im Systemmodell Abschnitt 4.2.4 auf Seite 34 spezifiziertwurde, wird dabei fur jede Netztopologie aufgrund vorangegangener Testsimulationen festge-legt, ebenso fur die manuelle Reibung. Bei Verwendung der dynamischen Reibung werden dieletzten funf Migrationen eines Tasks herangezogen, um dessen eigene Reibung zu bestimmen.

Um die Qualitat des Verfahrens aufzuzeigen, werden fur die Auswertung bestimmte Krite-rien herangezogen, die zuerst einmal einer Erklarung bedurfen.

Kommunikationskosten Aufgrund des gesetzten Ziels, die Kommunikationskosten zu mini-mieren, werden diese als Qualitatskriterium herangezogen. Dabei berechnet sich derWert pro Simulationsschritt folgendermaßen:

Comcost =

∑|T |j=1

∑|Q|i=1 hops(j, i) ∗ c(j, i)Commax

cost

wobei |T | die Menge aller Tasks ist und |Q| die Menge aller Kommunikationspartnereines Tasks tj . hops(j, i) ist die Distanz in hops zwischen Task tj und ti und c(j, i) deren

40

Page 46: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Kommunikationsintensitat. Nun werden die Kommunikationskosten aus dem Produktaus Distanz und Intensitat fur alle Kommunikationspartner bestimmt. Anschließendwird dieser Wert durch die maximal auftretenden Kommunikationskosten Commax

cost ge-teilt. Fur dessen Berechnung wird fur die Distanz die maximale Entfernung in einemNetz, der Durchmesser, herangezogen. Die Intensitaten bleiben identisch. Somit lasstsich daraus ein Wert im Intervall [0, 1] berechnen. Dadurch entsteht gerade auch mitanderen oder großeren Netzen ein besserer Vergleichswert.

Lastverteilung - Unbalance Index Ein weiteres Ziel bei diesem Verfahren ist die ausbalan-cierte Verteilung der Tasks im Netz. Dieser Wert gibt im Intervall [0, 1] an, wie gutdas Netz ausbalanciert ist. Je weiter sich dieser Wert der 0 nahert, desto besser ist dasNetz ausbalanciert. Vor jedem Durchlauf einer Simulation wird der ’Unbalance Index‘ermittelt. Dabei wird der absolute Wert der Differenz aus optimalen RestressourcenoptimalrestRes und aktuellen Restressourcen currentrestRes aller Knoten aufsummiertund durch die maximale Unbalanciertheit maxunbalance geteilt:

indexunbalance =

|P |∑j=1

|optimalrestRes − currentjrestRes|maxunbalance

In den folgenden Abschnitten werden Simulationen mit unterschiedlichen Netzen und Pa-rameter evaluiert. Dabei werden auch Unterschiede zur WCA und dem Einsatz von DT auf-gezeigt. Außerdem werden Ergebnisse sowohl mit manueller Reibung (RM), dynamischer Rei-bung (RD) als auch unter Einsatz des Migrationen-Back-Blocker (MBB) vorgestellt. Gleich-zeitig werden neben der Standardsimulation mit 100 Knoten und 500 Task die Ergebnissezu einer Netzgroße von 225 Knoten und 1125 Tasks fur jede Topologie in den Diagrammendargelegt.

5.2.1. Cluster-Topologie

Bei der Standardsimulation besteht diese Topologie aus 10 Clustern mit jeweils einem Clu-sterhead. Fur die manuelle Reibung wurde ein Wert von 0.5, fur den Gewichtungsfaktor α einWert von 0,036 eruiert. Fur die Netzgroße von 225 Knoten besteht das Netz aus 15 Clusternmit jeweils einem Clusterhead. Es wurden ebenfalls die gleichen Parameter verwendet. Im Fol-genden werden Ergebnisse mit den unterschiedlichen Einstellungsmoglichkeiten vorgestellt.

Manuelle Reibung

Bei dieser Einstellung wurde ein manueller Reibungswert festgelegt. Dieser richtet sich nachdem bestimmten Gewichtungsfaktor α. Die folgenden Abbildungen zeigen die Auswertung derStandardsimulation und der Netzgroße von 225 Knoten auf die Cluster-Topologie. Anfangswerden auch die Diagrammtypen erlautert, so dass im spateren Verlauf der Diplomarbeitnicht mehr darauf eingegangen werden muss.

Abbildung 5.6(a), 5.6(b) und 5.7 zeigen die Ergebnisse der Verbesserung an Kommuni-kationskosten, die Verbesserung der Verteilung, der sogenannte ’Unbalance Index‘, und dieAnzahl an Migrationen. Bei allen drei Abbildungen beschreibt die x-Achse den Verlauf derSimulation anhand von Simulationsschritten. Jede Simulation besteht aus 5000 Simulations-schritten. In Abbildung 5.6(a) beschreibt die y-Achse dabei die Kommunikationskosten, deren

41

Page 47: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

0.35

0.4

0.45

0.5

1 4 16 64 256 1024 4096

Ko

ste

n

Simulationsschritte

Kommunikationskosten

WCA RM (100 Knoten)DT RM (100 Knoten)

WCA RM (225 Knoten)DT RM (225 Knoten)

(a) Verbesserung Kommunikationskosten

0

0.1

0.2

0.3

0.4

1 4 16 64 256 1024 4096

Un

ba

lan

ce

In

de

x

Simulationsschritte

Verteilung

WCA RM (100 Knoten)DT RM (100 Knoten)

WCA RM (225 Knoten)DT RM (225 Knoten)

(b) Verbesserung Verteilung

Abbildung 5.6.: Verbesserung der Kommunikationskosten und Verteilung bei manueller Rei-bung im Cluster

0

10

20

30

40

50

60

70

80

90

100

1 4 16 64 256 1024 4096

Mig

ratio

ne

n

Simulationsschritte

Anzahl Migrationen

WCA RM (100 Knoten)DT RM (100 Knoten)

WCA RM (225 Knoten)DT RM (225 Knoten)

Abbildung 5.7.: Migrationen bei manueller Reibung im Cluster

Berechnung am Anfang diesen Abschnitts erklart wurde. Dabei spiegelt der Wert 1 auf der y-Achse die maximalen Kommunikationskosten fur dieses Netz wider. Die y-Achse in Abbildung5.6(b) stellt den ausbalancierten Zustand des Netzes in Form eines ’Unbalance Index‘ dar,wobei der y-Wert 1 den unbalanciertesten Zustand des Netzes wiedergibt. Die Berechnungdieses Wertes wurde ebenfalls zu Beginn diesen Abschnitts erlautert. In Abbildung 5.7 ist dieAnzahl der Migrationen zu erkennen, die jeweils in den Simulationsschritten auf der x-Achsegetatigt wurden. Dabei ist gut zu erkennen, in welchen Schritten besonders viele Migrationenvollzogen wurden.

Bei allen drei Abbildungen wurde der y-Wert fur jeden Simulationsschritt berechnet. DaDurchschnittswerte aufgrund mehrerer Simulationen errechnet wurden, handelt es sich beidiesen Werte nicht immer um ganze Zahlen. Das außert sich darin, dass gerade bei den Mi-grationen zum Ende der Simulation nicht immer Nullwerte erreicht werden und der Graphdadurch zwischen minimalen Werte schwingen kann. Dieser Effekt kann jedoch vernachlassigtwerden. In den Simulationen wurden zwei unterschiedliche Ansatze verwendet. Beim erstenAnsatz wird die Simulation unter einer WCA durchlaufen. Im zweiten Ansatz kommen DTzum Einsatz. Diese wurden in Abschnitt 4.2.3 auf Seite 31 beispielhaft erklart. In jeder Abbil-

42

Page 48: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

dung sind jeweils zwei Graphtypen pro Netzgroße zu sehen, die diese beiden Ansatze wider-spiegeln. Zur Unterscheidung beider Ansatze sind jeweils in den Legenden der Abbildungendie Graphtypen festgelegt.

Generell ist in den beiden Abbildungen 5.6(a) und 5.6(b) zu erkennen, dass es zu einer Ver-besserung sowohl bei den Kommunikationskosten als auch in der Verteilung fur die Netzgroßenvon 100 bzw. 225 Knoten kommt.

In Abbildung 5.6(a) liegt der Startwert der Kommunikationskosten bei ca. 0,44 fur dieNetzgroße von 100 Knoten. Aufgrund der Berechnung der Kommunikationskosten sind diesca. 44% der maximal auftretenden Kommunikationskosten in diesem Netz. Unter Einsatz derWCA oder der DT verbessern sich letztendlich die Kommunikationskosten um ca. 0,05 (5%).Auffallend ist hierbei, dass sowohl unter Einsatz von DT als auch bei WCA der Verlauf derGraphen identisch ist. Bei genauerer Betrachtung der Netztopologie kommt man zu dem Er-gebnis, dass DT keinerlei Vorteile bei der Berechnung der Krafte bringen. Die Moglichkeitender Migrationen der Tasks ist durch die Cluster-Topologie eingeschrankt. Bei jeder Migrationeines Tasks auf einen Nachbarknoten verbessert er sich zwar zu seinen Kommunikationspart-nern, die uber diesen Nachbarknoten kommuniziert haben, jedoch verschlechtert er sich zuallen anderen. Dieser Fall tritt bei der Cluster-Topologie immer ein. Diese WCA sollte durchden Einsatz von DT abgeschwacht werden, was allerdings in diesem Netz nicht geschehenkann. Deswegen liefern beide Ansatze dieselben Ergebnisse. Beide Graphen sind in den erstenhundert Simulationsschritten stetig fallend. Ab Simulationsschritt 43 fallen beide Graphenunter den Wert 0,4. Ab diesem Zeitpunkt erfolgt nur noch eine minimale Verbesserung um0,008 auf ca. 0,392. Dieser Endwert wird ab Simulationsschritt 4933 erreicht und bleibt biszum Ende der Simulation konstant. In Simulationsschritten, in denen die großte Verbesserungbei den Kommunikationskosten stattfindet, werden ebenfalls die meisten Migrationen vollzo-gen, was in Abbildung 5.7 zu erkennen ist.Bei Betrachtung der Graphen fur die Netzgroße 225 Knoten fallt auf, dass eine ahnliche Ver-besserung eintritt. Letztendlich kommt es bei dieser Netzgroße zu einer Verbesserung um ca.0.04. Der Endwert liegt bei 0,398, welcher ab Simulationsschritt 3043 erreicht wird und biszum Ende konstant bleibt. Trotz großerem Netz kommt es zu einer vergleichbaren Verbesse-rung der Kommunikationskosten.

Bei der Verteilung in Abbildung 5.6(b) liegt der Anfangswert fur die Netzgroße von 100Knoten bei ca. 0,26. Mit einem Wert von 0,26, ca. 26% des maximalen ‘Unbalance Index’,startet das Netz in einer relativ balancierten Anordnung der Tasks. Durch Einsatz des Algo-rithmus verbessert sich die Verteilung der Tasks um 0,145 auf den Wert 0,115. Auch bei derVerteilung sind die Graphen zu WCA und DT identisch. Der Grund liegt hier in der verwende-ten Netztopologie, was jedoch im vorherigen Absatz erklart wurde. Aufgrund der zahlreichenMigrationen in den ersten zwanzig Simulationsschritten, siehe Abbildung 5.7, kommt es auchbei der Verteilung zu einer raschen Verbesserung. Schon ab Simulationsschritt 18 liegt die Ver-teilung beim Wert von 0,111. Ab diesem Zeitpunkt verschlechtert sich die Verteilung minimalim restlichen Verlauf der Simulation und erreicht letztendlich in Simulationsschritt 4022 denEndwert von 0,115. Der Grund dafur liegt darin, dass sich zum Ende hin die Tasks relativ ba-lanciert im Netz verteilt haben und die Unterschiede in der Last minimaler werden. Dadurchwird die Lastverteilungskraft ebenfalls kleiner, was dazu fuhren kann, dass die Kommunikati-onskraft in solchen Konstellationen dominierender wird. In Abbildung 5.6(a) ist zu erkennen,dass auch weiterhin eine Verbesserung der Kommunikationskosten erfolgt.Ein vergleichbares Verhalten kann auch fur die Graphen der Netzgroße 225 Knoten beobach-tet werden. Der Startwert liegt bei ca. 0,25 und es erfolgt schon in Simulationsschritt 20 eine

43

Page 49: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Verbesserung auf 0,103. Wie auch schon beim kleineren Netz, ereignet sich eine minimaleVerschlechterung im Verlauf der Simulation. Ab Simulationsschritt 2456 wird der Endwertvon ca. 0,110 erreicht und bis zum Ende konstant gehalten.

Die Abbildung 5.7 veranschaulicht die Anzahl an Migrationen in bestimmten Simulations-schritten fur die zwei Netzgroßen. Ebenso in dieser Abbildung sind die Graphen zur WCA undDT identisch. Bei einer Netzgroße von 100 Knoten besteht in den ersten zwanzig Simulations-schritten aufgrund der Migrationen eine hohe Dynamik im Netz. Der Grund hierfur liegt imhohen Verbesserungspotential sowohl an Kommunikationskosten als auch an der Verteilung.Im Verlauf der Simulation verringert sich die Anzahl an Migrationen bei beiden Ansatzen.Da bei der Generierung der Simulationsergebnisse Durchschnittswerte aus mehrerer Simula-tionen verwendet wurden, erfolgen kleinere Migrationen am Ende der Simulation, was jedochvernachlassigt werden kann. In den letzten 1000 Simulationsschritten bei dieser Netztopologieerfolgen pro Schritt zwischen 0 und 0,06 Migrationen. Demzufolge kann davon ausgegangenwerden, dass sich die Migrationen stetig minimieren und letztendlich ganz aufhoren. Insge-samt erfolgten bei dieser Einstellung ca. 491 Migrationen.Bei dem großeren Netz von 225 Knoten ist ein ahnliches Verhalten zu erkennen. Auch hierkommt es gerade in den ersten zwanzig Simulationsschritten zu einer hohen Anzahl an Migra-tionen. Aufgrund der Netzgroße und 1125 Tasks werden jedoch mehr Migrationen innerhalbder 5000 Simulationsschritte vollzogen. Insgesamt sind es ca. 1090 Migrationen. Dieser Anstiegkann im Vergleich zum kleineren Netz als linear angesehen werden.

Dynamische Reibung

In Abschnitt 4.2.2 auf Seite 28 wurde eine weitere Variante vorgestellt, mit der man die manu-elle Festlegung der Reibungskraft umgehen kann. Hierbei werden die letzten funf Migrationeneines Tasks herangezogen, um eine dynamische, individuelle Reibungskraft fur diesen fest-zulegen. Dieser Vorgang geschieht fur jeden Task separat. Der Gewichtungsfaktor α behaltden Wert 0,036. Wie im letzten Abschnitt werden auch fur diese Einstellung Auswertungenvorgestellt.

0.35

0.4

0.45

0.5

1 4 16 64 256 1024 4096

Ko

ste

n

Simulationsschritte

Kommunikationskosten

WCA RD (100 Knoten) DT RD (100 Knoten)

WCA RD (225 Knoten)DT RD (225 Knoten)

(a) Verbesserung Kommunikationskosten

0

0.1

0.2

0.3

0.4

1 4 16 64 256 1024 4096

Un

ba

lan

ce

In

de

x

Simulationsschritte

Verteilung

WCA RD (100 Knoten) DT RD (100 Knoten)

WCA RD (225 Knoten)DT RD (225 Knoten)

(b) Verbesserung Verteilung

Abbildung 5.8.: Verbesserung der Kommunikationskosten und Verteilung bei dynamischerReibung im Cluster

44

Page 50: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

0

10

20

30

40

50

60

70

80

90

100

1 4 16 64 256 1024 4096

Mig

ratio

ne

n

Simulationsschritte

Anzahl Migrationen

WCA RD (100 Knoten) DT RD (100 Knoten)

WCA RD (225 Knoten)DT RD (225 Knoten)

Abbildung 5.9.: Migrationen bei dynamischer Reibung im Cluster

Abbildungen 5.8(a), 5.8(b) und 5.9 veranschaulichen die Auswertungen zu dieser Einstel-lung. Die Diagramme illustrieren analog zu denen im vorherigen Abschnitt einerseits dieVerbesserung der Kommunikationskosten und Verteilung und andererseits die anfallendenMigrationen innerhalb der 5000 Simulationsschritte.

Grundsatzlich kommt es auch bei der dynamischen Reibung zu einer wesentlichen Verbes-serung der Kommunikationskosten und der Verteilung der Tasks in beiden Netzgroßen.

Abbildung 5.8(a) zeigt die Verbesserung der Kommunikationskosten fur die Netzgroßen100 bzw. 225 Knoten. Zuerst wird die kleinere Netzgroße betrachtet. Der Startwert liegt hierebenfalls wie bei der manuellen Reibung bei ca. 0,44, 44% also der maximalen Kommunika-tionskosten fur dieses Netz. Sowohl der Graph fur die WCA als auch der fur DT verbessertsich um 0,055 auf den Endwert von 0,385. Aufgrund der Clustertopologie ist der Verlauf bei-der Graphen ebenfalls identisch. Im Vergleich zur Abbildung 5.6(a), welche die Verbesserungder Kommunikationskosten fur die manuelle Reibung veranschaulicht, scheint der abfallendeVerlauf der Graphen nahezu identisch. Jedoch bei naherer Betrachtung stellt man fest, dasssich die Kommunikationskosten bei der dynamischen Reibung in Abbildung 5.8(a) schnellerverbessern, der Graph fallt in fruheren Simulationsschritten auf bessere Werte. In Simulati-onsschritt 1045 fallen beide Graphen unter den Wert 0,39 und erreichen ihren Endwert vonca. 0,385 in Simulationsschritt 4415, wobei bei manueller Reibung der Endwert von ca. 0,392erreicht wird. Dieses Verhalten war vorherzusehen, da durch die dynamische Bestimmung derReibung diese sich den Verhalten der Tasks und der Netztopologie anpasst. Jeder Task bautsich eine gewisse Historie auf, in der vergangene Migrationen betrachtet werden und schließ-lich daraus eine Reibungskraft bestimmt wird. Fur die Berechnung der dynamischen Reibungwerden Krafte vergangener Migrationen verwendet, die den Task zum Migrieren auf benach-barte Knoten veranlasst haben. Dadurch konnen kleine bis große Reibungswerte bestimmtwerden. Bei kleineren Reibungswerten wird die Migrationswilligkeit der Tasks gesteigert, beihoheren Werten wird sie eingedammt. Daraus resultiert auch eine minimal hohere Anzahl anMigrationen, siehe Abbildung 5.9. Durch die dynamische Reibung erreicht das Verfahren indieser Topologie schneller bessere Ergebnisse bei den Kommunikationskosten als durch ma-nuelle Reibung und erreicht letztendlich auch einen besseren Endwert. Außerdem bleibt dieSuche nach einem passenden Reibungswert erspart.Bei Betrachtung der Netzgroße von 225 Knoten ist der Verlauf der Graphen zu dem des klei-neren Netzes fast parallel. Der Startwert liegt ebenfalls bei beiden Ansatzen bei ca. 0,44 und

45

Page 51: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

es wird einen Endwert von 0,39 erreicht. Dabei sind die Graphen zu WCA und DT aufgrundder Netztopologie identisch. Trotz großerem Netz werden vergleichbare Verbesserungen beiden Kommunikationskosten erzielt.

Wenn man die Abbildung 5.8(b) betrachtet, erkennt man, dass auch durch die dynamischeReibungsbestimmung eine Verbesserung in der Verteilung bei beiden Netzgroßen stattfindet.Auch bei diesem Diagramm sind beide Graphen zu WCA und DT identisch. Bei einer Netz-große von 100 Knoten liegt der Startwert ebenfalls bei ca. 0,26. Das Netz verbessert sichletztendlich um 0,123 auf den Wert von ca. 0,137. Im Vergleich zur manuellen Reibung ist derWert um ca. 0,02 minimal schlechter. Der Anfangsverlauf beider Graphen in Abbildung 5.8(b)ist zu dem in Abbildung 5.6(b) identisch. Bis zu Simulationsschritt 18 erfolgt eine Verbesse-rung auf den Wert von ca. 0,115 bei beiden Graphen. Im restlichen Verlauf der Simulationerhoht sich der ’Unbalance Index‘ leicht. Dieser Effekt konnte schon bei der manuellen Rei-bung beobachtet werden. Ab Simulationsschritt 4943 erreichen beide Graphen ihren Endwertvon ca. 0,137. Durch die hohere Dynamik bei der adaptiven Reibung werden minimal schlech-tere Zustande in Kauf genommen, um weitere Verbesserungen der Kommunikationskosten zuerzielen, siehe Abbildung 5.8(a).Die Verteilung bei der Netzgroße von 225 Knoten wird ebenfalls verbessert. Die Graphen zuWCA und DT sind wiederum identisch. Der Startwert liegt bei ca. 0,25 und wird auf denWert von ca. 0,136 optimiert. Es kommt zu einer vergleichbaren Verbesserung wie bei einerNetzgroße von 100 Knoten.

Bei Betrachtung der Migrationen in Abbildung 5.9 stellt man auch hier fest, dass am An-fang der Simulationen bei beiden Netzgroßen die meisten Migrationen vollzogen werden, wobeiwiederum die beiden Graphen zu WCA und DT identisch sind. Der Verlauf der Graphen imVergleich zur manuellen Reibung Abbildung 5.7 ist nahezu identisch, jedoch werden bei derdynamischen Reibung in bestimmten Simulationsschritten mehr Migrationen vollzogen. Dieswird zum Einen dadurch erreicht, dass fur die ersten funf Migrationen fur jeden Task die ei-gene Reibung anfangs mit 0 initialisiert ist und zum Anderen dadurch, dass durchschnittlicheReibungswerte bestimmt werden konnen, die sehr gering sind. Beide Effekte fuhren zur hoher-en Migrationswilligkeit der Tasks. Insgesamt erfolgen bei einer Netzgroße von 100 Knoten ca.504 Migrationen innerhalb der 5000 Simulationsschritte. Vergleichbar mit ca. 491 Migratio-nen bei Verwendung der manuellen Reibung ist dies eine minimal hohere Anzahl. Bei derNetzgroße von 225 Knoten ereignen sich insgesamt ca. 1331 Migrationen. Dieser Anstieg kannim Vergleich zum kleineren Netz nahezu als linear angesehen werden.

Migrationen-Back-Blocker

Eine weitere Einstellung ist der ’Migrationen-Back-Blocker‘, bei der eine manuelle Festlegungder Reibung wegfallt und verhindert wird, dass ein Task auf seinen letzten besuchten Kno-ten zuruckmigriert. Der Gewichtungsfaktor α bleibt auch bei dieser Einstellung unberuhrt.Dieser Mechanismus wird anstelle der Reibung eingesetzt und diese deshalb auf den Wert 0eingestellt. Im Folgenden werden Auswertung dafur vorgestellt.

Analog zu den vorherigen Abschnitten veranschaulichen Abbildung 5.10(a) und 5.10(b)die Verbesserung bei den Kommunikationskosten und Verteilung. Abbildung 5.11 zeigt dieAnzahl an Migrationen im Verlauf der Simulation.

Auch bei dieser Variante kommt es zu einer generellen Verbesserung bei den Kommunika-tionskosten sowie bei der Verteilung in beiden Netzgroßen.

Abbildung 5.10(a) veranschaulicht nun diese Verbesserung bei den Kommunikationskosten

46

Page 52: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

0.35

0.4

0.45

0.5

1 4 16 64 256 1024 4096

Ko

ste

n

Simulationsschritte

Kommunikationskosten

WCA MBB (100 Knoten) DT MBB (100 Knoten)

WCA MBB (225 Knoten)DT MBB (225 Knoten)

(a) Verbesserung Kommunikationskosten

0

0.1

0.2

0.3

0.4

1 4 16 64 256 1024 4096

Un

ba

lan

ce

In

de

x

Simulationsschritte

Verteilung

WCA MBB (100 Knoten) DT MBB (100 Knoten)

WCA MBB (225 Knoten)DT MBB (225 Knoten)

(b) Verbesserung Verteilung

Abbildung 5.10.: Verbesserung der Kommunikationskosten und Verteilung bei Migrationen-Back-Blocker im Cluster

0

10

20

30

40

50

60

70

80

90

100

1 4 16 64 256 1024 4096

Mig

ratio

ne

n

Simulationsschritte

Anzahl Migrationen

WCA MBB (100 Knoten) DT MBB (100 Knoten)

WCA MBB (225 Knoten)DT MBB (225 Knoten)

Abbildung 5.11.: Migrationen bei Migrationen-Back-Blocker im Cluster

fur die zwei Netzgroßen. Der Anfangswert bei der Netzgroße von 100 Knoten liegt auch beidieser Einstellung bei ca. 0,44. Auffallend hierbei ist eine Gesamtverbesserung um ca. 0,08auf den Wert von ca. 0,363, 36% der maximal auftretenden Kommunikationskosten bei dieserTopologie. Eine wesentliche starkere Verbesserung als bei manueller oder dynamischer Rei-bung. Die Graphen zur WCA und DT sind auch hier wiederum gleich. Der Anfangsverlaufder Graphen ist zu dem in Abbildung 5.8(a) bei dynamischer Reibung vollkommen identisch.Ab Simulationsschritt 8 erreichen beide Einstellungen eine Verbesserung auf den Wert von ca.0,42. Jedoch gelingt dem ’Migrationen-Back-Blocker‘ ab Simulationsschritt 23 eine Verbesse-rung auf den Wert 0,39, funf Schritte eher als bei dynamischer Reibung. Ab diesem Zeitpunktfallt der Graph kontinuierlich auf den Endwert von 0,363 und ist letztendlich um ca. 0,02 bes-ser als bei dynamischer Reibung. Durch diesen Mechanismus werden noch schneller bessereErgebnisse erreicht. Da ein Reibungswert 0 festgelegt ist, entsteht eine noch hohere Dynamikals bei dynamischer Reibung. In Abbildung 5.11 ist diese Dynamik gerade ab Simulations-schritt 32 zu erkennen.Dasselbe kann auch bei der Netzgroße von 225 Knoten beobachtet werden. Der Startwert bei-der Ansatze liegt ebenfalls bei ca. 0,44 und es kommt zu einer Verbesserung auf den Wert von

47

Page 53: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

ca. 0,357. Im Vergleich zur dynamischen Reibung fallen die Graphen steiler und der Endwertist um ca. 0,04 (4%) besser.

Demgegenuber steht die Verteilung der Tasks bei der Anwendung dieser Einstellung. InAbbildung 5.10(b) ist der Verlauf des ’Unbalance Index‘ fur die zwei Netzgroßen zu erkennen.Bei der Verteilung bei einer Netzgroße von 100 Knoten kommt es zu einer Verbesserung vonca. 0,12 (12%) auf den Endwert von 0,149. Das Netz ist also nur noch zu ca. 15% unbalanciert.Die Graphen zur WCA und DT sind auch hier wiederum identisch. Der Anfangsverlauf derGraphen in Abbildung 5.10(b) ist nahezu identisch zum Verlauf bei dynamischer Reibungin Abbildung 5.8(b). Der Grund hierfur liegt in der Anfangsinitialisierung der Reibung beider adaptiven Reibungsbestimmung. Diese wird mit 0 initialisiert und gilt fur 5 Migrationeneines jeden Task. Die Reibung wird ebenfalls beim ’Migrationen-Back-Blocker‘ auf 0 gesetzt,da diese Einstellung die Reibung ersetzen und sie keinen Einfluss haben soll. Somit ist dasVerhalten anfangs identisch. Der ’Unbalance Index‘ verbessert sich bis Simulationsschritt19 auf 0,116 und verschlechtert sich im weiteren Verlauf der Simulation minimal auf denEndwert von 0,149. Bei der vorherigen Einstellung konnte ein ahnliches Verhalten beobachtetwerden. Im Vergleich zur dynamischen Reibung ist das eine minimale Verschlechterung umca. 0,01. Eine Verschlechterung kommt dadurch zustande, da ein Reibungswert fehlt undsomit ein hohe Dynamik entsteht. Jedoch erfolgt weiterhin eine stetige Verbesserung derKommunikationskosten, siehe Abbildung 5.10(a), und ist dadurch vernachlassigbar.Auch bei einer Netzgroße von 225 Knoten kommt es aufgrund der hohen Dynamik zu einemsolchen Effekt. Der ’Unbalance Index‘ liegt anfangs bei einem Wert von ca. 0,25. Es kommteine Verbesserung um ca. 0,07 auf den Endwert von ca. 0,18 zustande. Bis Simulationsschritt20 kommt es zu einer Verbesserung auf den Wert von ca. 0,11. Danach steigt der ’UnbalanceIndex‘ wiederum in den restlichen Simulationsschritten auf den Endwert. Der Grund dafurwurde schon fur das kleinere Netz erlautert, jedoch ist die Auspragung bei dieser Netzgroßegroßer.

Bei Betrachtung der Migrationen in Abbildung 5.11 stellt man fest, dass bei dieser Einstel-lung wesentlich mehr Migrationen vollzogen werden als bei den vorherigen Einstellungen furbeide Netzgroßen. Bei der Netzgroße von 100 Knoten werden insgesamt ca. 919 Migrationenvollzogen. Dies sind ca. doppelt so viele wie bei manueller oder dynamischer Reibung. Danur verhindert wird, dass ein Task auf seinen letzten besuchten Knoten zuruckmigriert undeine Reibung fehlt, kommt es vor, dass Tasks auch zu weniger attraktiven Knoten migrieren.Die Dynamik ist dadurch hoher als bei den vorherigen Einstellungen. Ansatzweise war dieserEffekt schon bei der dynamischen Reibung zu sehen, da auch hier mehr Migrationen vollzogenwurden als bei manueller Reibung. Das Gleiche gilt fur die Netzgroße von 225 Knoten. Hierereigneten sich ca. 2945 Migrationen.

Variation α, Reibung

Dieser Abschnitt beschaftigt sich mit der Variation des Gewichtungsfaktor α und der manu-ellen Reibung. Fur beide Variationen wird die Standardsimulation verwendet.

In Tabelle 5.1 sind die Ergebnisse bei unterschiedlichen α dargestellt. Dabei wird die Last-verteilungskraft oder Kommunikationskraft bei der Berechnung der Gesamtkraft gewichtet,siehe Abschnitt 4.2.4 auf Seite 34. Ein manueller Reibungswert 0 wird vorausgesetzt. DieErgebnisse zu Kommunikationskosten und Verteilung sind die letztendlich erreichten Verbes-serungen. Die Startwerte sind bei den Spaltenuberschriften hinterlegt. Außerdem wird dieAnzahl an Migrationen innerhalb der 5000 Simulationsschritten vorgelegt.

48

Page 54: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Tabelle 5.1.: Variation des Gewichtungsfaktor α fur Cluster

α Kommunikationskosten (0,44) Verteilung (0,26) Migrationen

0 0,43(-0,01) 0,12(-0,14) 96

0,5 0,18(-0,26) 0,92(+0,66) 2880

1 0,18(-0,26) 0,95(+0,69) 1894

Bei einem α-Wert 0 wird die Lastverteilungskraft priorisiert. Die Kommunikationskraft wirddabei komplett eliminiert. Die Kommunikationskosten verbessern sich trotz dieses α-Wertesum 0,01 auf 0,43. Wie schon im fruheren Verlauf der Diplomarbeit erwahnt, nutzt das Ver-fahren die vorhandene Kommunikation der Tasks aus. Dabei werden die Nachrichten auf denkurzesten Wegen durch das Netz geleitet. Nun werden die Nachbarknoten als Migrationspart-ner ausgewahlt, uber die diese Nachrichten geleitet wurden. Aufgrund der eingeschranktenMigrationswege in dieser Netztopologie, nahern sich die Tasks bei Migration ihren Kommuni-kationspartnern an. Dies fuhrt dazu, dass letztendlich eine solche minimale Verbesserung beiden Kommunikationskosten zustande kommen kann.Die Verteilung verbessert sich von 0,26 auf den Wert 0,12. Im Vergleich zur Abbildung 5.6(b),in der bei manueller Reibung die Verbesserung auf 0,11 erreicht wurde, ist dies eine Diffe-renz um 0,01. Auf Basis von Simulationen mit dem grafischen Simulator konnte dafur eineErklarung gefunden werden. Die Tasks wahlen aufgrund eingehender Nachrichten ihre Migra-tionspartner. Sollten sich abhangige Tasks innerhalb eines Clusters befinden, nahern sie sichan und dabei werden diese Tasks von den anderen Knoten innerhalb des Clusters abgezo-gen. Dadurch konnen Konstellationen entstehen, in denen abhangige Tasks anderen den Wegheraus aus dem Cluster versperren. Damit entsteht ein Gefalle, welches durch die fehlendeKommunikationskraft weiter verstarkt wird.Die Gesamtanzahl von 96 Migrationen halt sich dadurch auch in Grenzen. Denn die Tasksmigrieren nur, wenn der Migrationspartner genugend Ressourcen zur Verfugung hat.

Anders sieht es bei einem α-Wert von 1 aus. Mit dieser Einstellung wird die Kommunikati-onskraft vorgezogen und die Lastverteilungskraft nicht berucksichtigt. Die Tasks nahern sichaufgrund ihrer Kommunikation und deren Intensitat an. Dabei kommt es zu Kommunikati-onskosten von 0,18, eine Verbesserung um 0,26 gegenuber dem Startwert von 0,44.Aufgrund der fehlenden Gewichtung der Lastverteilung kommt es zu einer sehr hohen Ver-schlechterung der Verteilung fur diese Netztopologie. Der ’Unbalance Index‘ verschlechtertsich von 0,26 auf 0,95. Die Tasks werden aufgrund der Kommunikation komplett in RichtungClusterheads gezogen. Dabei fullen sich diese und angrenzende Knoten mit Tasks, bis derenKapazitaten komplett aufgebraucht sind. Die Enden der Cluster sind dabei vollkommen un-ausgelastet. Diese Diskrepanz fuhrt zu einem solchen ’Unbalance Index‘.Aufgrund der fehlenden Berucksichtigung der Last in der Berechnung der Migrationsent-scheidung, kommt es zu einer sehr hohen Dynamik, was zu einer Gesamtanzahl von 1894Migrationen fuhrt.

Demgegenuber steht ein Mittelwert des α von 0,5. Damit werden die Kommunikationskraftund die Lastverteilungskraft gleichwertig gewichtet. Analog zum α-Wert 1 verbessern sich dieKommunikationskosten auf 0,18. Die Tasks wandern in Richtung der Clusterheads und fullendort die Knoten auf, bis deren Kapazitaten aufgebraucht sind.Da die Lastverteilungskraft ebenfalls gewichtet wurde, kommt es zwar generell zu einer Ver-

49

Page 55: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

schlechterung des ‘Unbalance Index’ auf 0,92, jedoch im Vergleich zum α-Wert 1 um 0,03minimal besser. An diesem Wert kann man erkennen, dass trotz gleicher Gewichtung der bei-den Krafte die Kommunikationskraft einen hoheren Einfluss auf die Gesamtkraft hat.Bei Betrachtung der Gesamtmigrationen von 2880 fallt auf, dass durch eine Gleichgewichtungder Krafte eine noch hohere Dynamik ausgelost wird als bei einem α-Wert 1. Da die Taskszu den Knoten in Richtung der Clusterheads migrieren, bis deren Kapazitaten erschopft sind,werden schwach ausgelastete Knoten aufgrund der Lastverteilungskraft wieder attraktiver.Daher wandern die Tasks auf die unausgelasteten Knoten ab und es werden dadurch mehrMigrationen vollzogen.

Tabelle 5.2.: Variation der manuellen Reibung fur Cluster

Reibung Kommunikationskosten (0,44) Verteilung (0,26) Migrationen

0,5 0,39(-0,05) 0,12(-0,14) 491

1 0,4(-0,04) 0,11(-0,15) 303

1,5 0,4(-0,04) 0,11(-0,15) 266

2 0,41(-0,03) 0,1(-0,16) 244

2,5 0,42(-0,02) 0,11(-0,15) 178

In Tabelle 5.2 wird die manuelle Reibung vom Anfangswert 0.5 bis auf 2.5 erhoht. Der Ge-wichtungsfaktor α ist mit dem aus der Standardsimulation identisch. Angesichts der Reibungwird die Verbesserung an Kommunikationskosten, Verteilung und die Anzahl der Migrationenuber 5000 Simulationsschritte beleuchtet. Die Startwerte sind wiederum in den Spaltenuber-schriften hinterlegt.

Der Grund fur eine Reibung liegt darin, eine gewisse Hemmschwelle zu generieren, damit dieTasks nicht standig bzw. nicht wegen jeder minimalen Verbesserung auf einen Nachbarknotenmigrieren. In Tabelle 5.2 ist zu erkennen, dass sich die Kommunikationskosten bei Erhohungder Reibung leicht steigern. Im Gegensatz dazu verbessert sich leicht die Verteilung. Auf-grund der Cluster-Topologie und den daraus eingeschrankten Migrationswegen besitzt dieKommunikationskraft eine relativ hohe Dominanz bei der Berechnung der Gesamtkraft furdie Migrationsentscheidung. Je hoher nun die Reibung gesetzt wird, desto mehr verliert dieKommunikationskraft an Einwirkung. Somit liegt die Entscheidungsgewalt immer mehr beider Lastverteilungskraft. Dadurch kommt es auch zu weniger Migrationen innerhalb der 5000Simulationsschritten. Diese verringert sich ebenfalls stetig.

5.2.2. Grid-Topologie

Eine weitere Topologie, bei der das Verfahren evaluiert wird, ist ein ’Grid‘. Die manuelleReibung wurde dabei auf den Wert 1,8 festgelegt und ein Gewichtungsfaktor α von 0,055bestimmt. Im weiteren Verlauf dieses Abschnitts werden Simulationsergebnisse analog zudenen im vorherigen Abschnitt fur die Netzgroßen von 100 bzw. 225 Knoten vorgestellt.

Manuelle Reibung

Zunachst wird das Verfahren mit manueller Reibungsbestimmung simuliert. Die Evaluierungder Ergebnisse geschieht anhand der Verbesserung der Kommunikationskosten, der Verteilung

50

Page 56: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

und der Anzahl an Migrationen wahrend der Simulation. Folgende Abbildungen illustrierendie Resultate.

0.3

0.35

0.4

1 4 16 64 256 1024 4096

Ko

ste

n

Simulationsschritte

Kommunikationskosten

WCA RM (100 Knoten)DT RM (100 Knoten)

WCA RM (225 Knoten)DT RM (225 Knoten)

(a) Verbesserung Kommunikationskosten

0

0.1

0.2

0.3

0.4

0.5

1 4 16 64 256 1024 4096

Un

ba

lan

ce

In

de

x

Simulationsschritte

Verteilung

WCA RM (100 Knoten)DT RM (100 Knoten)

WCA RM (225 Knoten)DT RM (225 Knoten)

(b) Verbesserung Verteilung

Abbildung 5.12.: Verbesserung der Kommunikationskosten und Verteilung bei manueller Rei-bung im Grid

0

10

20

30

40

50

60

70

80

90

100

1 4 16 64 256 1024 4096

Mig

ratio

ne

n

Simulationsschritte

Anzahl Migrationen

WCA RM (100 Knoten)DT RM (100 Knoten)

WCA RM (225 Knoten)DT RM (225 Knoten)

Abbildung 5.13.: Migrationen bei manueller Reibung im Grid

Abbildung 5.12(a) veranschaulicht die Verbesserung der Kommunikationskosten unter Ein-satz der manuellen Reibung fur beide Netzgroßen. In der Legende sind die zwei Verfahren,Worst-Case-Annahme und Distanztabellen, anhand unterschiedlicher Graphen festgelegt. Beibeiden Ansatzen kommt es zu einer Verbesserung der Kommunikationskosten. Im Gegensatzzur Cluster-Topologie ist hier jedoch ein Unterschied zwischen WCA und DT zu erkennen.Durch den Einsatz von Distanztabellen wird eine genauere Berechnung der Krafte, die einenTask auf andere Knoten ziehen, ermoglicht. In Abbildung 5.12(a) ist dies am Verlauf derGraphen zu erkennen. Unter Einsatz der DT werden fruher bessere Ergebnisse erzielt. DieTasks migrieren also durch die DT praziser, was zu diesem Effekt fuhrt.Bei einer Netzgroße von 100 Knoten starten beide Graphen mit dem Wert von ca. 0,37, also37% der maximal auftretenden Kommunikationskosten fur diese Topologie. Der Anfangsver-lauf beider Graphen ist identisch. In Simulationsschritt 578 fallt der DT Graph unter denWert 0,35, wobei der WCA Graph erst in Schritt 1140 nachzieht. Dieses Verhalten ist kenn-

51

Page 57: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

zeichnend fur den Einsatz der DT. Im kompletten Verlauf der Simulation ist zu erkennen,dass in gleichen Simulationsschritten der DT Graph immer bessere Werte aufweist. In denersten Simulationsschritten ist der Verlauf der Graphen identisch. Die DT mussen sich imVerlauf der Simulation erst generieren. Sollten keine Eintrage vorhanden sein, wird die WCAherangezogen. Deshalb sind die Graphen anfangs identisch und erst nach gewissen Simula-tionsschritten kann der Vorteil der DT ausgespielt werden. Der Einfluss dieser DT ist inspateren Simulationsschritten noch ausfuhrlicher zu erkennen, da die beiden Graphen demEnde zu weiter auseinanderklaffen. Unter WCA verbessern sich die Kommunikationskostenauf den Endwert von 0,346. Bei DT jedoch liegt der Endwert bei 0,343. Hier ist der Effektder DT deutlicher zu erkennen und fuhrt letztendlich auch zu einem besseren Ergebnis.Bei einer Netzgroße von 225 Knoten ist ein ahnliches Verhalten zu erkennen. Die beiden Gra-phen verlaufen nahezu parallel zu den Graphen fur die Netzgroße von 100 Knoten. Daranerkennt man, dass die Große des Netzes bei gleichen Parametern nicht ausschlaggebend furdas Ergebnis ist. Auffallend hierbei ist jedoch, dass der Startwert der Graphen zu der Netz-große von 225 Knoten minimal unter dem Startwert des kleineren Netzes bei ca. 0,36 liegt. Dadurch die Berechnung der Kommunikationskosten diese durch die maximalen Kommunikati-onskosten normiert werden, kann dies durchaus zu solchen Konstellationen fuhren und ist furdas Verfahren nicht weiter relevant. Bei dieser Netzgroße ist analog zu kleineren Netzgroßeein Unterschied zwischen WCA und DT zu erkennen. Letztendlich erreicht der WCA Graphden Endwert von ca. 0,338, der DT Graph einen Endwert von ca. 0,334.

Bei der Verteilung in Abbildung 5.12(b) fur die Netzgroße von 100 Knoten liegt der Start-wert des WCA und des DT Graph bei dem Wert von ca. 0,26. Das Netz ist also mit 26%des maximalen ‘Unbalance Index’ nicht sehr unbalanciert, jedoch verbessert sich der WCAGraph auf den Endwert von 0,056, der DT Graph auf 0,055. Trotz eines relativ balanciertenNetzes erfolgt eine Verbesserung um ca. 0,2. Der komplette Verlauf beider Graphen ist nahe-zu identisch. Letztendlich erreicht der DT Graph eine minimal besseren Wert als der WCAGraph.Bei Betrachtung der Graphen fur die Netzgroße von 225 Knoten fallt auf, dass eine nahezuidentische Verbesserung in der Verteilung wie bei der kleineren Netzgroße von 100 Knotenzustande kommt. Auch hier lasst sich wiederum erkennen, dass die Netzgroße keinen Einflussauf die Verteilung hat. Der Startwert beider Graphen liegt beim ’Unbalance Index‘ von ca.0,25 und ist nur minimal geringer als bei der kleineren Netzgroße. Letztendlich kommt es zueiner Verbesserung bei der WCA auf den Wert 0,052 und bei DT auf den Wert 0,053. DieVerbesserung in der Verteilung kann bei beiden Netzgroßen als gleichartig angesehen werden.

In Abbildung 5.13 ist die Anzahl der Migrationen fur beide Netzgroßen dargestellt. Zuerkennen ist, dass sich die Migrationen fur die Ansatze beider Netzgroßen zum Ende derSimulation stark reduzieren. In den ersten 20 Simulationsschritten werden die meisten Mi-grationen vollzogen. Angesichts der Verbesserung an Kommunikationskosten und Verteilungin diesem Zeitraum ist diese Anzahl an Migrationen gerechtfertigt.Bei einer Netzgroße von 100 Knoten werden insgesamt fur den Einsatz der WCA ca. 260und den Einsatz der DT ca. 289 Migrationen vollzogen. Die Differenz von ca. 30 Migrationenzwischen den beiden Ansatzen ist minimal und aufgrund der minimaleren Kommunikations-kosten bei Einsatz der DT auch berechtigt. Im Gegensatz dazu werden bei einer Netzgroßevon 225 Knoten mehr Migrationen vollzogen. Bei Einsatz der WCA insgesamt ca. 653 undbei Einsatz der DT ca. 752 Migrationen. Der Anstieg der Migrationen ist im Vergleich zumkleineren Netz fast linear.

Aufgrund der geringen Anzahl an Migrationen und Verbesserung an Kommunikationsko-

52

Page 58: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

sten bzw. Verteilung, kann durch einen etwas geringeren Reibungswert noch bessere Ergeb-nisse erreicht werden. Diese Einstellung soll nur beispielhaft das Verhalten des Algorithmusillustrieren.

Dynamische Reibung

Als nachstes wird fur diese Topologie der Einsatz einer dynamischen Reibung fur jeden Taskerlautert. Der Gewichtungsfaktor α bleibt auf dem Wert von 0,055. Im Folgenden werden dieErgebnisse anhand von Diagrammen, die schon in den letzten Abschnitten verwendet wurden,dargestellt.

0.25

0.3

0.35

0.4

1 4 16 64 256 1024 4096

Ko

ste

n

Simulationsschritte

Kommunikationskosten

WCA RD (100 Knoten) DT RD (100 Knoten)

WCA RD (225 Knoten)DT RD (225 Knoten)

(a) Verbesserung Kommunikationskosten

0

0.1

0.2

0.3

0.4

1 4 16 64 256 1024 4096

Un

ba

lan

ce

In

de

x

Simulationsschritte

Verteilung

WCA RD (100 Knoten) DT RD (100 Knoten)

WCA RD (225 Knoten)DT RD (225 Knoten)

(b) Verbesserung Verteilung

Abbildung 5.14.: Verbesserung der Kommunikationskosten und Verteilung bei dynamischerReibung im Grid

0

10

20

30

40

50

60

70

80

90

100

1 4 16 64 256 1024 4096

Mig

ratio

ne

n

Simulationsschritte

Anzahl Migrationen

WCA RD (100 Knoten) DT RD (100 Knoten)

WCA RD (225 Knoten)DT RD (225 Knoten)

Abbildung 5.15.: Migrationen bei dynamischer Reibung im Grid

Eine dynamische Reibung verfolgt den Zweck, eine manuelle Festlegung einer Reibung zuumgehen und Vorteile fur die Ergebnisse aus der Anpassung zu ziehen. Wie schon bei dermanuellen Reibung kommt es zu einer Verbesserung sowohl der Kommunikationskosten alsauch der Verteilung fur beide Netzgroßen.

53

Page 59: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Abbildung 5.14(a) zeigt diese Verbesserung an Kommunikationskosten fur die Netzgroßenvon 100 bzw. 225 Knoten. Sowohl fur WCA als auch DT startet das Netz mit den Kom-munikationskosten von ca. 0,37 bei einer Netzgroße von 100 Knoten. Auch bei Einsatz deradaptiven Reibung ist ein Unterschied zwischen dem Einsatz der WCA und der DT zu er-kennen. Wie schon bei der manuelle Reibung erfolgt durch die DT eine prazisere Migrationder Tasks, die zu besseren Ergebnissen in gleichen Simulationsschritten fuhrt. Bis sich dieDistanztabellen im Verlauf der Simulation generiert haben, sind beide Graphen anfangs na-hezu identisch. Zum Ende der Simulation klaffen beide Graphen weiter auseinander. DerWCA Graph erreicht einen Endwert von 0,305, der DT Graph einen Endwert von 0,297.Die Differenz zwischen beiden Ansatzen ist zwar minimal, jedoch kennzeichnend fur den Ein-satz der Distanztabellen. Wie auch schon in der Cluster-Topologie erwahnt, werden durchdie dynamische Reibung schneller bessere Ergebnisse erreicht. Letztendlich kommen dadurchauch bessere Endwerte zustande. Der Grund liegt in der hoheren Dynamik, die durch eineadaptive Reibungsbestimmung entsteht, jedoch auch zu vermehrten Migrationen fuhrt, sieheAbbildung 5.15.Bei einer Netzgroße von 225 Knoten ist ein ahnliches Verhalten zu erkennen. Der Startwertbeider Ansatze zu dieser Netzgroße liegt bei ca. 0,36. Der Unterschied zwischen den AnsatzenWCA und DT ist auch hier wiederum zu erkennen. Wie schon erwahnt, werden durch diedynamische Reibung und durch den Einsatz der Distanztabellen schneller bessere Ergebnisseerreicht. Der WCA Graph erreicht den Endwert von ca. 0,303, der DT Graph den Endwertvon ca. 0,297.

Bei Beobachtung der Verteilung in Abbildung 5.14(b) ist ebenfalls bei beiden Ansatzen derzwei Netzgroßen eine Verbesserung zu erkennen. Die Graphen der Netzgroße von 100 Knotenstarten beim ’Unbalance Index’ von ca. 0,26, 26% des maximal unbalanciertesten Wertes. DerVerlauf der Graphen fur die WCA und der DT ist nahezu identisch. Beide Graphen erreichenin Simulationsschritt 15 einen Wert von ca. 0,076 und verbessern sich bis dahin um ca. 0,2.Danach erfolgt eine minimale Verschlechterung auf den Endwert beim WCA Graph von 0,085und beim DT Graph von 0,086. Der Grund fur die minimale Verschlechterung bei beidenGraphen ist die hohe Dynamik, die durch eine adaptive Reibung entsteht. Eine solche Dyna-mik verhilft auch letztendlich zu einer starken Verbesserung bei den Kommunikationskosten.Denn nur durch das Erreichen minimal schlechterer Knoten sind die Tasks in der Lage, dieKommunikationswege zu ihren Partnern zu minimieren. Letztendlich ist kein wesentlicherUnterschied zwischen dem Einsatz der WCA und DT bei dieser Einstellung in der Verteilungzu erkennen. Im Vergleich zur manuellen Reibung liegt der Unterschied minimal bei ca. 0,03bei beiden Ansatzen.Wenn man sich jedoch das großere Netz von 225 Knoten ansieht, erkennt man, dass nacheiner Verbesserung die darauffolgende Verschlechterung hoher ist als bei der kleineren Netz-große. Wie schon erwahnt, erfolgt durch eine adaptive Reibung eine hohere Dynamik im Netz.Durch die Große des Netzes und die hohere Anzahl an Tasks ist die Dynamik entsprechendhoher, was zu diesem Ergebnis fuhrt. Der Startwert beider Graphen dieser Netzgroße liegtbeim ’Unbalance Index‘ von ca. 0,25. Der WCA Graph erreicht letztendlich den Wert vonca. 0,112, der DT Graph den Wert von ca. 0,118. Im Vergleich zur manuellen Reibung eineVerschlechterung um ca. 0,06.

Eine solche Dynamik hat naturlich auch ihren Preis. Durch die großere Anzahl an Migrati-onswegen in der Grid-Topologie werden dort mehr Migrationen vollzogen als in der Cluster-Topologie. In Abbildung 5.15 ist dieses Verhalten fur die beiden Netzgroßen von 100 bzw.225 Knoten zu erkennen. In den ersten Simulationsschritten werden weitaus mehr Migratio-

54

Page 60: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

nen vollzogen als bei der manuellen Reibung. Jedoch fuhrt diese hohere Migrationswilligkeitder Tasks gerade bei den Kommunikationskosten zu besseren Ergebnissen. Insgesamt werdenbei einer Netzgroße von 100 Knoten unter Einsatz der WCA ca. 1081 und der DT 1223 Mi-grationen vollzogen. Im Gegensatz zur manuellen Reibung sind das bei beiden Ansatzen ca.viermal mehr Migrationen. Demgegenuber steht eine minimal schlechtere Verteilung, jedocheine Verbesserung um 4% bei den Kommunikationskosten.Bei der Netzgroße von 225 Knoten werden insgesamt bei Einsatz der WCA ca. 2502 und beiEinsatz der DT ca. 2773 Migrationen vollzogen. Auch bei dieser Netzgroße sind es ca. viermalmehr Migrationen als bei manueller Reibung.

Migrationen-Back-Blocker

Auch in dieser Topologie wird der Mechanismus ’Migrationen-Back-Blocker‘, beschrieben inAbschnitt 4.2.2 auf Seite 30, eingesetzt. Dieser erfullt die Funktion, eine manuelle Reibungfur das Verfahren zu ersetzen. Im Folgenden werden anhand von Diagrammen analog zu denvorherigen Abschnitten die Ergebnisse bei Einsatz dieses Mechanismus auf die Grid-Topologievorgestellt.

0.2

0.25

0.3

0.35

0.4

1 4 16 64 256 1024 4096

Ko

ste

n

Simulationsschritte

Kommunikationskosten

WCA MBB (100 Knoten) DT MBB (100 Knoten)

WCA MBB (225 Knoten)DT MBB (225 Knoten)

(a) Verbesserung Kommunikationskosten

0

0.1

0.2

0.3

0.4

1 4 16 64 256 1024 4096

Un

ba

lan

ce

In

de

x

Simulationsschritte

Verteilung

WCA MBB (100 Knoten) DT MBB (100 Knoten)

WCA MBB (225 Knoten)DT MBB (225 Knoten)

(b) Verbesserung Verteilung

Abbildung 5.16.: Verbesserung der Kommunikationskosten und Verteilung mit Migrationen-Back-Blocker im Grid

Generell kommt es bei diesem Mechanismus zu einer wesentlichen Verbesserung sowohl derKommunikationskosten als auch Verteilung fur beide Netzgroßen.

Abbildung 5.16(a) zeigt die Verbesserung der Kommunikationskosten bei Einsatz des MBBfur die zwei Netzgroßen von 100 bzw. 225 Knoten. Bei der kleineren Netzgroße startet dasNetz anfangs bei 37% der maximal auftretenden Kommunikationskosten. Dabei verlaufen dieGraphen zur WCA und DT bis Simulationsschritt 5 identisch und verbessern sich auf ca.0,367. Danach tritt der Effekt der Distanztabellen auf. In Abbildung 5.16(a) ist dies erst abSimulationsschritt 32 zu erkennen. Beide Graphen klaffen im Verlauf der Simulation immerweiter auseinander. Der DT Graph verbessert sich dabei stets immer fruher als der WCA-Graph. Letztendlich verbessert sich der WCA Graph um ca. 0,13 auf 0,247, der DT-Graphum ca. 0,15 auf 0,225. Im Vergleich zur dynamischen Reibung, bei der bessere Ergebnisseals bei manueller Reibung erzielt wurden, ist dies eine Verbesserung um ca. 0,06 bzw. ca.0,07. Auch bei diesem Mechanismus werden durch den Einsatz der Distanztabellen Vorteile

55

Page 61: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

0

10

20

30

40

50

60

70

80

90

100

1 4 16 64 256 1024 4096

Mig

ratio

ne

n

Simulationsschritte

Anzahl Migrationen

WCA MBB (100 Knoten) DT MBB (100 Knoten)

WCA MBB (225 Knoten)DT MBB (225 Knoten)

Abbildung 5.17.: Migrationen bei Migrationen-Back-Blocker im Grid

fur das Verfahren gezogen. Die Verbesserung der Kommunikationskosten ereignet sich nichtnur am Anfang der Simulation, sondern auch zum Ende hin. Daraus resultiert eine hohereMigrationsanzahl im kompletten Verlauf der Simulation. In Abbildung 5.17 ist dieser Effektdaran zu erkennen, dass die Graphen zwar fallend sind, aber am Ende sich noch wesentlichmehr Migrationen ereignen als in Abbildung 5.15 bei dynamischer Reibung. Dadurch, dass beidiesem Mechanismus nur die Ruckwartsmigrationen unterbunden werden und keine Reibungvorhanden ist, werden diese besseren Ergebnisse erzielt.Bei einer Netzgroße von 225 Knoten starten die entsprechenden Graphen bei einem Wert vonca. 0,36. Der Anfangsverlauf beider Graphen ist nahezu identisch und ab Simulationsschritt64 ist in Abbildung 5.16(a) ebenfalls ein Unterschied zwischen WCA und DT zu erkennen.Letztendlich erreicht der WCA Graph den Wert von ca. 0,239, der DT Graph ca. 0,222. Diesist eine Verbesserung von ca. 0,07 im Vergleich zur dynamischen Reibung. Auch bei dieserNetzgroße werden durch die hohere Dynamik noch bessere Ergebnisse erzielt. Dies fuhrt analogzum kleineren Netz zu mehr Migrationen.

Bei der Verteilung in Abbildung 5.16(b) wird ebenfalls bei beiden Netzgroßen eine Verbesse-rung erzielt. Die Simulation startet bei einer Netzgroße von 100 Knoten mit einem ’UnbalanceIndex‘ von 0,26. Der Endwert des WCA Graph liegt bei ca. 0,044, der des DT Graph bei ca.0,042. Das ist eine Verbesserung um ca. 0,04 im Vergleich zur dynamischen Reibung in Ab-bildung 5.14(b). Der Verlauf beider Graphen ist nahezu identisch. Bis Simulationsschritt 22beim WCA Graph und 18 beim DT Graph erfolgt eine Verbesserung auf den Wert 0,077bzw. 0,078. Im weiteren Verlauf der Simulation ereignet sich eine minimale Verschlechterungbei beiden Graphen auf den Wert 0,084, jedoch ab ca. Simulationsschritt 100 verbessert sichder ’Unbalance Index‘ stetig wieder. Ein solches Verhalten konnte schon bei der dynamischenReibung beobachtet werden. Dort ereignete sich nach einer starken Verbesserung ebenfalls ei-ne minimale Verschlechterung wahrend der Simulation. Auch bei dieser Einstellung wird einsolches Verhalten durch die hohe Dynamik ausgelost. Anders jedoch als bei der dynamischenReibung erfolgt beim ’Migrationen-Back-Blocker‘ eine weitere Verbesserung, die unter der er-sten Verbesserung von 0,07 liegt. Parallel dazu kommt es zu stetigen Verbesserungen bei denKommunikationskosten. Durch Migrationen auf minimal schlechtere Knoten wird letztend-lich ein besserer Wert fur Kommunikationskosten und Verteilung erreicht. Durch die fehlendeReibung konnen auch minimal bessere Knoten erreicht werden, die bei Einsatz einer Reibungausgeschlossen worden waren. Somit kommt es zu einer wesentlich besseren Verteilung als bei

56

Page 62: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

manueller oder dynamischer Reibung.Bei der Netzgroße von 225 Knoten ist ein identisches Verhalten zu beobachten. Auch hierkommt es nach einer raschen Verbesserung in der Verteilung zu dem Effekt, der schon beimkleineren Netz erlautert wurde. Jedoch bei Betrachtung der Abbildung 5.16(b) lasst sich auf-grund der Netzgroße und der hoheren Anzahl an Tasks eine starkere Auspragung bei dieserNetzgroße erkennen. Der Startwert beider Graphen liegt bei ca. 0,25. Durch die WCA ver-bessert sich die Verteilung auf ca. 0,091, durch DT auf den Wert 0,087.

Wie auch schon bei der dynamischen Reibung angesprochen, kommt es durch eine hohe-re Dynamik auch zu einer hoheren Anzahl an Migrationen bei beiden Netzgroßen. Beim’Migrationen-Back-Blocker‘ ist dieses Verhalten ebenfalls zu beobachten, siehe Abbildung5.17. Durch die fehlende Reibung migrieren Tasks auch zu minimal besseren Knoten. So-mit ist die Migrationswilligkeit der Tasks hoher als bei der manuellen und der dynamischenReibung. In Abbildung 5.17 ist zu erkennen, dass die meisten Migrationen in den ersten 64Simulationsschritten bei beiden Netzgroßen vollzogen werden. Die Graphen fur WCA und DTsind zwar fallend, jedoch ereignen sich auch zum Ende hin noch genugend Migrationen. Wennman die Verbesserung sowohl der Kommunikationskosten in Abbildung 5.16(a) als auch derVerteilung in Abbildung 5.16(b) betrachtet, stellt man fest, dass es gerade auch zum Endeder Simulation hin noch Verbesserungen gibt. Dies wurde die hohere Anzahl der Migrationenam Ende rechtfertigen. Insgesamt betrachtet ist die Migrationswilligkeit der Tasks sehr hoch.Bei einer Netzgroße von 100 Knoten sind es bei WCA ca. 3647 Migrationen und bei DT ca.7135 Migrationen. Abgesehen von dem minimal besseren Ergebniss bei den Kommunikations-kosten, scheint der Einsatz der Distanztabellen bei diesem Netz und Mechanismus durch dieknapp doppelte Anzahl an Migrationen weniger geeignet. Im Gegensatz dazu sind es bei derNetzgroße von 225 Knoten ca. 9034 Migrationen bei der WCA und ca. 12781 Migrationen beiDT.

Variation α, Reibung

Fur dieses Netz und die Standardsimulation wird in diesem Abschnitt der Gewichtungsfaktorα und die Reibung variiert. Ein Reibungswert 0 wird vorausgesetzt. Dadurch wird keineSchwelle fur die Migration vorgegeben. Ein hoherer Reibungswert wurde bei entsprechendemα einen gewissen Verbesserungsunterschied angeben, welcher erst erreicht werden muss bevorein Task migriert.

Tabelle 5.3.: Variation des Gewichtungsfaktor α fur Grid

α Kommunikationskosten (0,37) Verteilung (0,26) Migrationen

0 0,37(0) 0,06(-0,2) 126

0,5 0,13(-0,24) 0,67(+0,41) 130319

1 0,15(-0,22) 0,94(+0,68) 3623

Tabelle 5.3 veranschaulicht die Variation des Gewichtungsfaktor α von 0, 0,5 und 1. Ana-log zur Cluster-Topologie gewichtet ein α-Wert 0 die Lastverteilungskraft und eliminiert dieKommunikationskraft. Im Gegensatz dazu priorisiert ein α-Wert 1 die Kommunikationskraftund vernachlassigt komplett die Lastverteilungskraft. Die Startwerte sind als Referenz in denSpaltenuberschriften hinterlegt.

57

Page 63: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Aufgrund der Gewichtung bei einem α-Wert 0 kommt es zu keinerlei Verbesserung der Kom-munikationskosten. Diese bleiben konstant auf dem Anfangswert von 0,37. Dieses Verhaltenist angesichts der Wahl des α volligst korrekt. Eine minimale Verbesserung wie bei der Cluster-Topologie kann zwar vorkommen, jedoch ist dies nicht zwingend. Dagegen verbessert sich dieVerteilung um 0,2 von 0,26 auf 0,06. Das Netz ist ausbalancierter, da die Lastverteilungskraftgewichtet wurde. Im Vergleich jedoch mit der dynamischen Reibung ist die Verteilung um0,02 minimal schlechter. Die Tasks versuchen sich optimal im Netz zu verteilen. Jedoch wirdirgendwann ein Punkt erreicht, in der keine weitere Verbesserung stattfinden kann. Die Taskskonnen aufgrund ausgelasteter Knoten nicht mehr migrieren. Dadurch kommen auch wenigerMigrationen zustande, insgesamt nur 126. Aufgrund grafischer Simulationen ist zu erkennen,dass das Netz zwar ausbalancierter ist, es jedoch einige Knoten gibt, die unausgelastet sindbzw. werden. Ein solches Gefalle kann mit diesem α-Wert nicht uberwunden werden, da aus-gelastete Knoten die Wege zu weniger ausgelasteten Knoten versperren konnen. Deswegenfuhrt dies zwar zu einer verbesserten, jedoch nicht zur optimalsten Verteilung.

Ein α-Wert 1 fuhrt nun dazu, dass die Kommunikationskosten sehr minimiert werden,da die zustandige Kraft durch diese Gewichtung priorisiert wird. Somit verbessern sich dieKommunikationskosten um 0,22 von 0,37 auf 0,15. Jedoch verschlechtert sich dadurch dieVerteilung immens. Anfangs mit einem ’Unbalance Index‘ von 0,26 verschlechtert sich dieVerteilung um 0,68 auf 0,94. Aufgrund grafischer Simulationen konnen beide Effekte erklartwerden. Die Tasks ziehen sich durch ihre Kommunikation und die daraus resultierende Kraftan. Dadurch migrieren alle Tasks in Richtung Mitte der Grid-Topologie. Durch die fehlendeLastverteilungskraft fullen sich die dort befindlichen Knoten mit Tasks, bis deren Kapazitatenerschopft sind. Die Knoten an den Randern der Grid-Topologie leeren sich dabei und sind un-ausgelastet. Durch dieses Gefalle entsteht eine sehr schlechte Lastverteilung, jedoch durch diegeringe Distanz der Tasks untereinander verbessern sich die Kommunikationskosten. Durchdie sehr hohe Dynamik werden sehr viele Migrationen vollzogen. Insgesamt bei diesem α-Wertsind es ca. 3623.

Bei einem α-Wert von 0,5 werden die Kommunikationskraft und die Lastverteilungskraftgleich gewichtet. Dabei kommt es zu einer Verbesserung bei den Kommunikationskosten um0,24 auf den Wert 0,13. Im Vergleich zum α-Wert 1 ist dies ein um 0,02 besserer Wert.Die Verteilung verschlechtert sich um 0,41 auf den Wert 0,67. Dieser Wert ist allerdings um0,27 besser als bei einem α-Wert 1. Das liegt daran, dass bei dieser Einstellung beide Kraftegewichtet sind und die Lastverteilungskraft somit auf die Migrationsentscheidung Einflussnimmt.Wie auch schon in der vorherigen Topologie wird durch eine Gleichgewichtung der Krafte einenoch hohere Dynamik ausgelost. Insgesamt werden 130319 Migrationen vollzogen. AbhangigeTasks versuchen aufgrund der Kommunikationskraft auf diesselben Knoten zu migrieren. Da-durch entsteht ein Gefalle zwischen ausgelasteten und unausgelasteten Knoten. Dieses Gefallefuhrt dazu, dass der Einfluss der Lastverteilungskraft ansteigt und die Tasks dadurch wiederabwandern. Ein solches Hin und Her und ein fehlender Reibungswert fuhren zu solch einerimmens hohen Migrationsanzahl.

Fur die Variation der Reibung wird deren Wert in der Standardsimulation um 0,5 schritt-weise erhoht. Angefangen bei einer Reibung von 1,8, wird diese bis auf 3,8 angehoben. Tabelle5.4 veranschaulicht die Ergebnisse dazu. Dabei werden die Verbesserung der Kommunikations-kosten, der Verteilung und die Migrationen innerhalb der 5000 Simulationsschritte betrachtet.Die Anfangswerte sind zum Vergleich in den Spaltenuberschriften hinterlegt.

Je hoher die Reibung, desto großer muss die aggregierte Kraft sein, damit ein Task migrie-

58

Page 64: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Tabelle 5.4.: Variation der manuellen Reibung fur Grid

Reibung Kommunikationskosten (0,37) Verteilung (0,26) Migrationen

1,8 0,35(-0,02) 0,06(-0,2) 260

2,3 0,35(-0,02) 0,06(-0,2) 190

2,8 0,36(-0,01) 0,06(-0,2) 143

3,3 0,36(-0,01) 0,07(-0,19) 117

3,8 0,36(-0,01) 0,08(-0,18) 103

ren darf. Dadurch kommt es zu weniger Migrationen innerhalb der 5000 Simulationsschritte.In Tabelle 5.4 nimmt die Anzahl der Migrationen bei Erhohung der Reibung ab. Der Nachteilhierbei ist, dass durch die geringen Migrationen naturlich auch optimalere Zustande nichtgefunden werden konnen. Somit kommt es zu einer minimalen Verschlechterung sowohl beiden Kommunikationskosten als auch bei der Verteilung. In der Cluster-Topologie konnte manaufgrund der eingeschrankten Kommunikationswege sogar eine Verbesserung der Verteilungbeobachten. In der Grid-Topologie ist dies nicht der Fall. Ein Knoten besitzt dort zwischen 2und 4 Nachbarknoten. Deshalb ist ein solches Verhalten bei dieser Topologie nicht zu beob-achten.

5.2.3. Small-World-Topologie

Zum Abschluss wird ein weiteres Netz simuliert, welches vor allem im Internet wiederzufin-den ist. Es handelt sich hierbei um ein ’Small World‘. Fur dieses Netz wurde ebenfalls einmanueller Reibungswert und Gewichtungsfaktor α bestimmt. Die Reibung wurde auf 6 fest-gelegt, der α-Wert auf 0,2. Hier ist schon zu erkennen, dass sich die Werte im Gegensatz zuden schon vorgestellten Netzen erhoht haben. Im Folgenden werden anhand der bisherigenQualitatsmerkmale wie Kommunikationskosten, Verteilung und Migrationen das Verfahrenfur ein Netz mit der Große von 100 bzw. 225 Knoten evaluiert.

Manuelle Reibung

Zunachst werden mit der manuellen Reibungsbestimmung beide Netzgroßen simuliert. An-hand dieser Simulationsergebnisse wird das Verfahren evaluiert.

Abbildung 5.18(a) illustriert die Verbesserung der Kommunikationskosten im Verlauf derSimulation fur beide Netzgroßen. Auffallend hierbei ist zunachst einmal die hoheren Anfangs-kosten der Kommunikation im Vergleich zu ’Grid‘ oder ’Cluster‘. Diese belauft sich bei einerNetzgroße von 100 Knoten auf ca. 0,51, 51% der maximal auftretenden Kommunikations-kosten fur dieses Netz. Bei diesem Netz ist ebenfalls ein Unterschied zwischen den beidenAnsatzen WCA und DT zu erkennen. Durch den Einsatz der Distanztabellen verlauft dieVerbesserung an Kommunikationskosten schneller. Die Graphen zu beiden Ansatzen verlau-fen bis Simulationsschritt 3 identisch. In Schritt 4 verbessert sich der DT Graph auf 0,504,der WCA Graph auf den Wert 0,505. Im weiteren Verlauf der Simulation ist dieser Unter-schied zwischen beiden Ansatzen weiterhin zu erkennen. Ab Simulationsschritt 696 fallt derDT Graph unter den Wert 0,45, der WCA zieht erst in Schritt 1312 auf diesen Wert nach.Durch den Einsatz der DT werden weitaus bessere Ergebnisse erzielt als durch die WCA.Der DT Graph fallt steiler und liefert in denselben Simulationsschritten bessere Ergebnisse.

59

Page 65: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

0.3

0.35

0.4

0.45

0.5

0.55

0.6

1 4 16 64 256 1024 4096

Ko

ste

n

Simulationsschritte

Kommunikationskosten

WCA RM (100 Knoten)DT RM (100 Knoten)

WCA RM (225 Knoten)DT RM (225 Knoten)

(a) Verbesserung Kommunikationskosten

0

0.1

0.2

0.3

0.4

0.5

1 4 16 64 256 1024 4096

Un

ba

lan

ce

In

de

x

Simulationsschritte

Verteilung

WCA RM (100 Knoten)DT RM (100 Knoten)

WCA RM (225 Knoten)DT RM (225 Knoten)

(b) Verbesserung Verteilung

Abbildung 5.18.: Verbesserung der Kommunikationskosten und Verteilung mit manueller Rei-bung im Small-World

0

10

20

30

40

50

60

70

80

90

100

1 4 16 64 256 1024 4096

Mig

ratio

ne

n

Simulationsschritte

Anzahl Migrationen

WCA RM (100 Knoten)DT RM (100 Knoten)

WCA RM (225 Knoten)DT RM (225 Knoten)

Abbildung 5.19.: Migrationen bei manueller Reibung im Small-World

Letztendlich wird durch die Distanztabellen ein besseres Resultat umgesetzt. Es wird derEndwert von 0,404 erreicht. Bei der WCA wird der Endwert von 0,429 erzielt. Somit ist diesein Unterschied von ca. 0,02 bzw. 2%.Ahnliches kann auch bei der Netzgroße von 225 Knoten beobachtet werden. Die Graphen zudieser Netzgroße verlaufen ziemlich parallel zur kleineren Netzgroße. Der Startwert liegt beibeiden Graphen bei ca. 0,54. Durch den Einsatz der DT konnen auch hier schneller bessereErgebnisse erzielt werden, was sich auch im Endresultat bestatigt. Letztendlich verbessernsich die Kommunikationskosten bei WCA auf ca. 0,473 und bei DT auf ca. 0,457.

Bei Betrachtung der Verteilung in Abbildung 5.18(b) fallt auf, dass sowohl unter Einsatzder WCA als auch der DT eine wesentliche Verbesserung im Verlauf der Simulation bei bei-den Netzgroßen eintritt. Bei der Netzgroße von 100 Knoten starten die Graphen mit demWert von ca. 0,25. Das Netz ist also zu 25% unbalanciert. Der Verlauf beider Graphen istnahezu identisch. Bei genauerer Betrachtung fallt der DT Graph minimal steiler als der WCAGraph. Dies spiegelt sich auch bei den Endwerten wider. Durch den Einsatz der WCA wirdein ’Unbalance Index‘ von 0,066 erreicht, unter Verwendung der DT ein ’Unbalance Index‘von 0,064. Der Verlauf der Graphen ist jedoch nicht durchgehend fallend. Gerade beim DT

60

Page 66: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Graphen kommt es zu mehreren Schwankungen in der Verteilung wahrend der Simulation.Der Grund liegt in der hoheren Migrationswilligkeit der Tasks. Durch die Distanztabellenwerden bessere Zustande bei den Kommunikationskosten erreicht, jedoch werden hierfur zwi-schendurch minimal schlechtere Lastverhaltnisse in Kauf genommen.Bei der Netzgroße von 225 Knoten lasst sich ein ahnliches Verhalten beobachten. Die Graphenverlaufen zu denen fur die kleinere Netzgroße nahezu identisch. Auch hier liegt der ’Unbalan-ce Index‘ anfangs auf ca. 0,25. Durch die WCA verbessert sich die Verteilung auf ca. 0,064,durch die DT auf ca. 0,061. Diese Werte sind mit denen aus der kleineren Netzgroße ziemlichidentisch.

Die Anzahl an Migrationen ist in Abbildung 5.19 fur beide Netzgroßen zu erkennen. Der Ver-lauf der Graphen fur jede Netzgroße scheint fast nahezu identisch, jedoch werden bei Einsatzder DT mehr Migrationen vollzogen. Insgesamt sind dies bei einer Netzgroße von 100 Knotenunter DT ca. 756 Migrationen, unter WCA ca. 575 Migrationen. Bei der Netzgroße von 225Knoten werden unter WCA 1456 Migrationen und unter DT 1827 Migrationen vollzogen. DerAnstieg der Migrationen beim großeren Netz ist nahezu linear. Bei den Ansatzen beider Netz-großen ist die Zahl der Migrationen am Ende der Simulation nahezu 0. Die Distanztabellenfuhren in bestimmten Situationen dazu, dass die Krafte, welche unter der WCA negativ wa-ren, abgeschwacht und dadurch positiv werden. Demnach fuhrt dies zu der eben genanntenhoheren Migrationswilligkeit der Tasks.

Dynamische Reibung

Als nachstes wird die adaptive Reibungsbestimmung betrachtet. Dabei wird fur jeden Taskseparat unter Zuhilfenahme von vorangegangenen Migrationen ein Reibungswert bestimmt.Der Gewichtungsfaktor α bleibt hierbei unberuhrt und betragt 0,2. Im Folgenden werden dieSimulationsergebnisse vorgestellt.

0.3

0.35

0.4

0.45

0.5

0.55

0.6

1 4 16 64 256 1024 4096

Ko

ste

n

Simulationsschritte

Kommunikationskosten

WCA RD (100 Knoten) DT RD (100 Knoten)

WCA RD (225 Knoten)DT RD (225 Knoten)

(a) Verbesserung Kommunikationskosten

0

0.1

0.2

0.3

0.4

1 4 16 64 256 1024 4096

Un

ba

lan

ce

In

de

x

Simulationsschritte

Verteilung

WCA RD (100 Knoten) DT RD (100 Knoten)

WCA RD (225 Knoten)DT RD (225 Knoten)

(b) Verbesserung Verteilung

Abbildung 5.20.: Verbesserung der Kommunikationskosten und Verteilung mit dynamischerReibung im Small-World

Generell kommt es auch bei einer adaptiven Reibungsbestimmung fur beide Netzgroßensowohl bei den Kommunikationskosten als auch bei der Verteilung zu einer wesentlichen Ver-besserung.

61

Page 67: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

0

10

20

30

40

50

60

70

80

90

100

1 4 16 64 256 1024 4096

Mig

ratio

ne

n

Simulationsschritte

Anzahl Migrationen

WCA RD (100 Knoten) DT RD (100 Knoten)

WCA RD (225 Knoten)DT RD (225 Knoten)

Abbildung 5.21.: Migrationen bei dynamischer Reibung im Small-World

Abbildung 5.20(a) zeigt die Verbesserung der Kommunikationskosten fur die zwei Netz-großen. Bei einer Netzgroße von 100 Knoten starten die Graphen zu DT und WCA bei 51%(0,51) der maximal auftretenden Kommunikationskosten und verlaufen anfangs nahezu iden-tisch. Erst ab ca. Simulationsschritt 64 kann man einen steileren Verlauf des DT Graphenerkennen. Es kann also ebenfalls bei dieser Einstellung ein Unterschied zwischen den bei-den Ansatzen beobachtet werden. Der DT Graph fallt ab Simulationsschritt 1222 unter denWert von 0,35, der WCA Graph fallt erst in Schritt 2868 unter diesen Wert. Bei der ma-nuellen Reibung konnte ein solches Verhalten schon beobachtet werden. Durch den Einsatzder Distanztabellen kann auch bei der dynamischen Reibung ein Vorteil gezogen werden. AmEnde der 5000 Simulationsschritte erreicht der WCA Graph den Wert 0,345, der DT Graphden Wert 0,335. Somit wird mithilfe der Distanztabellen neben dem Erreichen besserer Er-gebnisse innerhalb der 5000 Simulationsschritte auch am Ende ein besserer Wert erreicht. Wieschon in der vorangegangenen Topologie werden durch den Einsatz der Distanztabellen mehrMigrationen vollzogen. Der Grund hierfur wurde bei der manuellen Reibung im vorherigenAbschnitt genannt. Im Vergleich mit der manuellen Reibung in Abbildung 5.18(a) ist außer-dem erkennbar, dass durch eine adaptive Reibungsbestimmung der Graph steiler fallt. Einsolches Verhalten konnte schon in der Grid-Topologie beobachtet werden. Außerdem wird einwesentlich besserer Endwert als bei der manuellen Reibung erreicht. Der WCA Graph ist umca. 0,08, der DT Graph um ca. 0,07 besser.Bei einer Netzgroße von 225 Knoten liegt der Anfangswert der Kommunikationskosten beibeiden Ansatzen bei ca. 0,54. Die beiden Graphen zeigen dieselben Eigenschaften auf wie diedes kleineren Netzes. Auch hier ist ein Unterschied zwischen WCA und DT zu erkennen unddurch die adaptive Reibungsbestimmung sind die Graphen ebenfalls steiler als bei manuellerReibung. Letztendlich erreicht der WCA Graph den Wert von ca. 0,392 und der DT Graphden Wert von ca. 0,384. Im Vergleich zur manuellen Reibung ist das bei WCA ein Unterschiedvon ca. 0,08 und bei DT ein Unterschied von ca. 0,07.

Eine wesentliche Verbesserung kann auch beim ’Unbalance Index‘ fur beide Netzgroßenbeobachtet werden. Abbildung 5.20(b) veranschaulicht diese Verbesserung anhand der beidenAnsatze WCA und DT. Bei der Netzgroße von 100 Knoten hat das Netz anfangs einen ’Un-balance Index‘ von ca. 0,25. Das Netz ist zu 25% unbalanciert und durch das Verfahren wirddie Verteilung fur beide Ansatze stark optimiert. Der Verlauf der Graphen fur WCA und DTist anfangs nahezu identisch. Am Ende der Simulation erreicht der WCA Graph einen Wert

62

Page 68: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

von 0,050 und der DT Graph den Wert 0,049. Somit verbessern sich beide Ansatze bei derdynamischen Reibung um ca. 0,2. Der DT Graph scheint im Verlauf der Simulation haufigerzu schwanken. Wenn man sich dabei die Kommunikationskosten in Abbildung 5.20(a) ansieht,werden durch die Distanztabellen bessere Werte erreicht und daher werden minimal schlech-tere Zustande bei der Verteilung in Kauf genommen. Letztendlich ist die Verbesserung beibeiden Ansatzen nahezu gleich. Im Vergleich zur manuellen Reibung ist dieser ’UnbalanceIndex‘ um ca. 0,01 bei beiden Ansatzen besser. Sowohl bei den Kommunikationskosten alsauch bei der Verteilung werden bessere Endwerte als bei der manuellen Reibung erzielt.Wie man in Abbildung 5.20(b) erkennen kann, ist der Verlauf der Graphen bei der Netzgroßevon 225 Knoten zu dem bei Netzgroße von 100 Knoten nahezu identisch. Der Startwert beiderGraphen liegt bei ca. 0,25. Beide Graphen verbessern sich auf ca. 0,049.

Die Kehrseite der weitaus besseren Ergebnisse bei den Kommunikationskosten und derVerteilung ist die wesentlich hohere Anzahl an Migrationen. In Abbildung 5.21 ist dies imVergleich zu Abbildung 5.19 deutlich zu erkennen. Durch die dynamische Reibung sind dieTasks bedeutend migrationswilliger als bei der manuellen Reibung. Dieses Verhalten konnteschon in den vorherigen Topologien beobachtet werden. Sowohl die Anfangsinitialisierung derReibung mit 0 als auch die Berechnung einer geringen Reibung fuhren zu diesem Effekt.Insgesamt werden bei der Netzgroße von 100 Knoten fur den Einsatz der WCA ca. 2194Migrationen und der DT ca. 2346 Migrationen vollzogen. Das sind knapp viermal mehr alsbei manueller Reibung. Bei einer Netzgroße von 225 Knoten werden fur den Einsatz derWCA ca. 5240 Migrationen und der DT ca. 5554 Migrationen vollzogen. Hinzu kommt noch,dass die Migrationswilligkeit bei Einsatz der Distanztabellen erhoht wird. Daher ist dieseAnzahl knapp 200 bzw. 300 Migrationen hoher als bei Einsatz der WCA. Außerdem ist inAbbildung 5.21 zu erkennen, dass gerade in den ersten 100 Simulationsschritten die meistenMigrationen vollzogen werden und sich die Anzahl dieser zum Ende hin sehr vermindert. Dieseanfangliche hohe Anzahl an Migrationen ist gerade durch die Initialisierung der Reibung mit0 zu erklaren. Im spateren Verlauf der Simulation wird die Reibung fur jeden Task angepasstund fuhrt letztendlich zu einer Minimierung der Migrationen.

Migrationen-Back-Blocker

Wie schon in der letzten Topologie wird ebenfalls fur ein ’Small-World‘ der Mechanismus’Migrationen-Back-Blocker‘ eingesetzt. Dieser ersetzt die Reibung, der Gewichtungsfaktor αbleibt jedoch auf dem Wert 0,2. Im Weiteren werden Ergebnisse der Simulationen unterEinsatz dieses Mechanismus vorgestellt.

Bei Anwendung des ’Migrationen-Back-Blocker‘ kommt es ebenfalls zu einer starken Verbes-serung sowohl bei den Kommunikationskosten als auch der Verteilung in den zwei Netzgroßen.Daran erkennt man, dass durch einen solchen trivialen Mechanismus gute Ergebnisse erreichtwerden konnen.

Abbildung 5.22(a) veranschaulicht die Verbesserung an Kommunikationskosten. Bei derNetzgroße von 100 Knoten liegt der Anfangswert bei ca. 0,51, 51% der maximal auftreten-den Kommunikationskosten bei diesem Small-World-Netz. Im Verlauf beider Graphen ist zuerkennen, dass es zu einer starken Verbesserung kommt. Der Verlauf der Graphen scheintnahezu identisch zu sein, jedoch fuhrt der Einsatz der Distanztabellen fruher zu besserenErgebnissen. Der DT Graph fallt geringfugig steiler. Dieser Effekt konnte schon in den vorhe-rigen Abschnitten beobachtet werden. Der WCA Graph fallt ab Simulationsschritt 147 unterden Wert 0,35, wobei der DT Graph schon in Schritt 139 unter diesen Wert fallt. Hier kann

63

Page 69: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

0.3

0.35

0.4

0.45

0.5

0.55

0.6

1 4 16 64 256 1024 4096

Ko

ste

n

Simulationsschritte

Kommunikationskosten

WCA MBB (100 Knoten) DT MBB (100 Knoten)

WCA MBB (225 Knoten)DT MBB (225 Knoten)

(a) Verbesserung Kommunikationskosten

0

0.1

0.2

0.3

0.4

1 4 16 64 256 1024 4096

Un

ba

lan

ce

In

de

x

Simulationsschritte

Verteilung

WCA MBB (100 Knoten) DT MBB (100 Knoten)

WCA MBB (225 Knoten)DT MBB (225 Knoten)

(b) Verbesserung Kommunikationskosten

Abbildung 5.22.: Verbesserung der Kommunikationskosten und Verteilung mit Migrationen-Back-Blocker im Small World

0

10

20

30

40

50

60

70

80

90

100

1 4 16 64 256 1024 4096

Mig

ratio

ne

n

Simulationsschritte

Anzahl Migrationen

WCA MBB (100 Knoten) DT MBB (100 Knoten)

WCA MBB (225 Knoten)DT MBB (225 Knoten)

Abbildung 5.23.: Migrationen bei Migrationen-Back-Blocker im Small World

der Vorteil der Distanztabellen deutlich festgestellt werden. Der DT Graph verbessert sichletztendlich auf 0,306, der WCA Graph auf den Wert von 0,315. Im Vergleich zur dynami-schen Reibung im vorherigen Abschnitt wird sowohl beim WCA Graph als auch beim DTGraph eine Verbesserung um 0,03 erzielt.Gleiches lasst sich bei einer Netzgroße von 225 Knoten beobachten. Der Anfangswert beiderAnsatze fur diese Netzgroße liegt bei ca. 0,54. Der Verlauf der Graphen ist analog zur kleine-ren Netzgroße steil fallend. Außerdem ist auch hier ein Unterschied zwischen WCA und DTzu erkennen. Letztendlich erfolgt bei WCA eine Verbesserung um ca. 0,23 auf den Wert vonca. 0,313 und beim DT Graph eine Verbesserung um ca. 0,24 auf 0,304.

Bei der Verteilung in Abbildung 5.22(b) kann ebenfalls eine deutliche Verbesserung bei bei-den Netzgroßen festgestellt werden. Der Startwert beider Graphen der Netzgroße 100 Knotenliegt bei ca. 0,25. Der Anfangsverlauf dieser Graphen scheint nahezu identisch zu sein. Beim’Unbalance Index‘ ist jedoch zu erkennen, dass die Graphen in der Verteilung sehr oft schwan-ken. Dieses Schwingen zwischen zwei Werten fallt in einen Bereich, der mit einer hohen Anzahlan Migrationen verknupft ist, siehe Abbildung 5.23. Durch die hohe Dynamik, welche sowohldurch diese Einstellung als auch durch die Distanztabellen entsteht, werden auch schlechtere

64

Page 70: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Zustande in Kauf genommen, um weitere Verbesserungen gerade bei den Kommunikations-kosten erzielen zu konnen. Dabei erreicht das Verfahren unter WCA einen Endwert von ca.0,059, unter DT einen Endwert von ca. 0,071.Bei der Netzgroße von 225 Knoten ist ein ahnliches Bild zu erkennen. Analog zum kleinerenNetz ist auch hier ein Schwingen beider Graphen zu beobachten, was durch die hohe Dynamikausgelost wird. Beide Graphen starten bei einem ’Unbalance Index‘ von ca. 0,25. Gerade derAnfangsverlauf der Graphen ist mit dem aus dem kleineren Netz nahezu identisch. Letztend-lich verbessert sich die Verteilung bei WCA auf den Wert von ca. 0,06, bei DT auf den Wertvon ca. 0,066.

Aufgrund einer fehlenden Reibung und lediglich der Einsatz eines solchen einfachen Mecha-nismus kommt es zu einer wesentlich hoheren Anzahl an Migrationen, zu sehen in Abbildung5.23. Diese hohe Dynamik der Tasks fuhrt dazu, dass es sowohl bei den Kommunikationsko-sten in Abbildung 5.22(a) als auch gerade bei der Verteilung in Abbildung 5.22(b) zu haufigenSchwankungen zwischen zwei Werten kommt. Die Migrationen werden außerdem im Verlaufder Simulation nicht weniger, sondern gerade durch den Einsatz der Distanztabellen erhohtsich diese zum Ende der Simulation. Aufgrund der verwendeten Netztopologie sind mehr Mi-grationswege fur die Tasks vorhanden. Dadurch konnen vermehrt Konstellationen auftreten,in denen zwar nicht auf den zuletzt besuchten Knoten zuruckmigriert wird, jedoch durchdie zahlreichen Kanten dieser Mechanismus ausgehebelt werden kann. In der Cluster-oderGrid-Topologie, welche in den vorherigen Abschnitten evaluiert wurden, werden durch diesenMechanismus die Migrationen im Verlauf der Simulation minimiert. Die Migrationswege indiesen beiden Topologien sind eingeschrankter als bei der Small-World-Topologie. Dieser Zu-stand ist bei beiden Netzgroßen zu beobachten. Insgesamt werden bei der Netzgroße von 100Knoten durch diesen Mechanismus bei der WCA ca. 26149 und bei DT ca. 41910 Migrationenvollzogen. Bei der Netzgroße von 225 Knoten sind es bei WCA ca. 61427 Migrationen undbei DT ca. 84261 Migrationen.Alleine diese Anzahl an Migrationen lasst den Schluss zu, dass fur die Small-World-Topologieder ’Migrationen-Back-Blocker‘ nicht geeignet ist. Der Aufwand an Migrationen steht in keinerRelation zu den erreichten Verbesserungen an Kommunikationskosten und Verteilung.

Variation α, Reibung

Als letzte Betrachtung wird die Variation des Gewichtungsfaktors α und der Reibung be-leuchtet. Fur die Variation des α wird eine Reibung von 0 vorausgesetzt. Bei der Variationder Reibung wird die Standardkonfiguration angewendet und lediglich die Reibung erhoht.Im Folgenden werden die Ergebnisse fur die Small-World-Topologie prasentiert.

Tabelle 5.5.: Variation des Gewichtungsfaktor α fur Small-World

α Kommunikationskosten (0,51) Verteilung (0,25) Migrationen

0 0,5(-0,01) 0,05(-0,2) 128

0,5 0,27(-0,24) 0,23(-0,02) 129214

1 0,2(-0,31) 0,93(+0,69) 14555

Tabelle 5.5 veranschaulicht die Ergebnisse bei unterschiedlichem Gewichtungsfaktor α. Re-ferenzwerte sind wiederum in den Spaltenuberschriften hinterlegt. Wie in den vorherigen

65

Page 71: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Abschnitten schon beschrieben, wird durch den α-Wert 0 die Lastverteilungskraft priorisiertund die Kommunikationskraft eliminiert. Der α-Wert 1 bewirkt das Gegenteilige.

Bei einem α-Wert 0 verbessern sich die Kommunikationskosten minimal von 0,51 auf 0,5.Da sich die Tasks entlang ihrer Kommunikationswege bewegen und die Nachrichten auf denkurzesten Wegen durch das Netz geleitet werden, kann es durchaus bei diesem α-Wert vor-kommen, dass sich die Kommunikationskosten leicht verbessern, obwohl die zustandige Kraftnicht berucksichtigt wird. Dieser Effekt konnte auch schon bei der Cluster-Topologie beobach-tet werden. Aufgrund der Priorisierung der Lastverteilungskraft kommt es bei der Verteilungzu einer Verbesserung um 0,2 auf 0,05. Das Netz ist soweit ausbalanciert wie die Tasks durchMigrationen auf Nachbarknoten erreichen konnten. Dementsprechend ist dafur eine geringeAnzahl an Migrationen notig. Insgesamt sind es bei diesem α-Wert 128.

Demgegenuber steht ein α-Wert 1. Durch maximale Bewertung der Kommunikationskraftverbessern sich die Kosten um 0,31 auf den Wert 0,2. Generell kann man sagen, dass sichdie Kosten nicht weiter minimieren lassen. Abhangige Tasks nahern sich an und bewegensich bestenfalls auf den gleichen Knoten, solange dessen Kapazitaten ausreichen. Dies fuhrtauch dazu, dass ein starkes Gefalle unter den Knoten entsteht. Daraus resultiert eine sehrschlechte Verteilung von ca. 0,93. Sollten einzelne abhangige Tasks auf einem gemeinsamenKnoten liegen und trotzdem Nachrichten von anderen bekommen, werden diese wieder vondiesem Knoten weggezogen. Solange nicht alle Tasks, die miteinander kommunizieren, aufeinem Knoten liegen, fuhrt dies zu einem regelrechten Tauziehen. Dieses Verhalten erklart dieimmens große Anzahl an Migrationen von 14555. Außerdem lasst die Migrationswilligkeit auchzum Ende der Simulationen nicht nach. Ein solches Verhalten kann in der Cluster-oder Grid-Topologie nicht beobachtet werden. Dort sammeln sich die Tasks entweder auf den bzw. umdie Clusterheads und konnen aufgrund nicht vorhandener Kapazitaten nicht weitermigrierenoder in Richtung Netzmitte, wo sie auch dort durch fehlende Kapazitaten der Nachbarknotenzum Stoppen kommen.

Bei Gleichgewichtung der beiden Krafte mit einem α-Wert 0,5 kommt es bei den Kommu-nikationskosten zu einer Verbesserung um 0,24 auf den Wert 0,27. Im Vergleich zum α-Wert1 nur um 0,07 minimal schlechter.Auch bei der Verteilung kommt es zu einer minimalen Verbesserung von 0,02 auf den ‘Unba-lance Index’ 0,23. Die Gewichtung beider Krafte fuhrt sowohl bei den Kommunikationskostenals auch der Verteilung zu einer Verbesserung. Bei den anderen Topologien konnte eine Ver-besserung beider Kriterien nicht erfasst werden. Der Grund liegt in der großeren Anzahl derMigrationswege bei dieser Topologie.Wie bei den anderen Netztopologien kann bei dieser Einstellung ebenfalls eine sehr hoheDynamik beobachtet werden. Insgesamt werden 129214 Migrationen vollzogen. Wegen derKommunikationskraft versuchen die Tasks soweit wie moglich zueinander zu migrieren. Da-durch entsteht ein Gefalle zwischen ausgelasteten und unausgelasteten Knoten. Dieses Gefallefuhrt jedoch zu einem hoheren Einfluss der Lastverteilungskraft, die die Tasks zu weiteren Mi-grationen zwingt. Folglich verursacht dies eine noch hohere Dynamik, die durch eine fehlendeReibung noch unterstutzt wird.

Als Nachstes wird die Variation der manuellen Reibung betrachtet. Die Reibung wird da-bei vom Anfangswert 6 jeweils um eins bis auf den Wert 10 erhoht. Der Gewichtungsfaktorα bleibt auf dem Wert 0,2. Die Ergebnisse zeigen die erreichten Werte fur die Kommunikati-onskosten, die Verteilung und die Migrationen innerhalb der 5000 Simulationsschritte, wobeidie Anfangswerte der Simulation in den Spaltenuberschriften hinterlegt sind. Die Ergebnissedazu werden nachfolgend vorgestellt.

66

Page 72: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

Tabelle 5.6.: Variation der manuellen Reibung fur Small-World

Reibung Kommunikationskosten (0,51) Verteilung (0,25) Migrationen

6 0,43(-0,08) 0,07(-0,18) 575

7 0,45(-0,06) 0,07(-0,18) 365

8 0,47(-0,04) 0,09(-0,16) 233

9 0,48(-0,03) 0,09(-0,16) 171

10 0,49(-0,02) 0,11(-0,14) 122

In Tabelle 5.6 ist zu erkennen, dass durch eine hohere Reibung die Anzahl der Migrationenstetig abnimmt. Gleichzeitig wird sowohl die Verbesserung der Kommunikationskosten alsauch der Verteilung minimaler. Eine hohere Migrationsschwelle fuhrt dazu, dass geringereVerbesserung nicht in Betracht gezogen werden. Die Krafte fur die Migration mussen dieReibung zuerst einmal ubersteigen. Bei hoherer Reibung gibt es immer weniger Tasks, derenGesamtkraft bei einer gewollten Migration großer ist. Je hoher die Reibung, desto geringer istdie Verbesserung an Kommunikationskosten bzw. Verteilung. Bei der Grid-Topologie konnteman dasselbe Verhalten erkennen.

5.2.4. Zusammenfassung

Dieser Abschnitt fasst die Ergebnisse aus den vorherigen Abschnitten kurz zusammen undbeleuchtet kritisch den Einsatz der unterschiedlichen Einstellungsmoglichkeiten auf die ver-schiedenen Netztopologien.

Als erstes wurden die Einstellungen auf einer Cluster-Topologie simuliert. Auffallend hierbeiwar die Tatsache, dass es zwischen dem Einsatz der Worst-Case-Annahme und dem Einsatzder Distanztabellen aufgrund der Topologie keinerlei Unterschiede gab. Somit kann der Mehr-aufwand, der durch die Distanztabellen entsteht, vermieden und die Worst-Case-Annahme furalle Einstellungen angewendet werden. Aufgrund der geringen Abweichung an zusatzlichenMigrationen zwischen manueller und dynamischer Reibung ist hinsichtlich der besseren Er-gebnisse insbesondere bei den Kommunikationskosten die dynamische Reibung der manuellenvorzuziehen. Durch den Mechanismus ’Migrationen-Back-Blocker‘ kann durch eine hohere Dy-namik vor allem bei den Kommunikationskosten bessere Ergebnisse erzielt werden als bei derdynamischen Reibung. Hier ist abzuwagen, ob die hohere Anzahl an Migrationen die besserenErgebnisse rechtfertigen. Ansonsten ware dieser Mechanismus gerade bei dieser Netztopologieeine gute Alternative. Wie man sehen konnte, tritt durch die hohere Dynamik bei den letztenzwei Einstellungen ein Effekt auf, bei dem die Verteilung sich zuerst rasch verbessert, jedochdanach minimal auf einen hoheren Wert wieder ansteigt. Dies kann durch einen geringeren Ge-wichtungsfaktor α unterbunden werden. Einerseits kann dadurch der Effekt minimiert werdenund andererseits fuhrt es zu weniger Migrationen. Nachteil hierbei ware eine geringere Ver-besserung der Kommunikationskosten, die jedoch angesichts der starken Verbesserung einenvertretbarer Verlust darstellt.

In der Grid-Topologie war ein Unterschied zwischen Worst-Case-Annahme und Distanzta-bellen zu erkennen. Bei der manuellen Reibung kann der Mehraufwand an Migrationen beiEinsatz der Distanztabellen aufgrund des besseren Ergebnisses bei den Kommunikationsko-sten und der gleichen Verbesserung bei der Verteilung in Kauf genommen werden. Die generellminimale Anzahl an Migrationen kann durch einen geringeren Reibungswert erhoht und da-

67

Page 73: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

5. Evaluierung

durch auch bessere Ergebnisse bei den Kommunikationskosten erzielt werden. Bei der dynami-schen Reibung bzw. ’Migrationen-Back-Blocker‘ werden zwar weitaus bessere Ergebnisse beiden Kommunikationskosten und eine Verbesserung bei der Verteilung erreicht, jedoch stehtdemgegenuber ein hohere Anzahl an Migrationen. Der Unterschied an Migrationen zwischenWorst-Case-Annahme und Distanztabellen ist bei der dynamischen Reibung vernachlassigbarund somit kann der Einsatz der Distanztabellen bei dieser Einstellung vorgezogen werden.Jedoch muss man abwagen, ob im Vergleich zur manuellen Reibung dieser Mehraufwand diebesseren Ergebnisse rechtfertigt. Anders sieht es schon beim ’Migrationen-Back-Blocker‘ aus.Hier ist der Einsatz der Distanztabellen aufgrund der weitaus hoheren Anzahl an Migratio-nen nicht zu empfehlen. Auch muss der Einsatz dieses Mechanismus auf diese Netztopologieaufgrund des Mehraufwands uberpruft werden. Generell ware hier die dynamische Reibungvorzuziehen. Der Effekt in der Verteilung, wie er schon im letzten Absatz erlautert wurde,kann hier durch einen geringeren Gewichtungsfaktor α ebenfalls minimiert werden.

In der Small-World-Topologie kann ebenfalls ein Unterschied zwischen Worst-Case-Annahmeund Distanztabellen ausgemacht werden. Bei einer manuellen Reibungsbestimmung werdendurchaus gute Ergebnisse sowohl bei den Kommunikationskosten als auch der Verteilungerzielt. Aufgrund des geringeren Mehraufwandes bei Einsatz der Distanztabellen ist dieserAnsatz vorzuziehen. Durch eine adaptive Reibungsbestimmung werden weitaus bessere Er-gebnisse als bei manueller Reibung erreicht, jedoch werden dabei mehr Migrationen vollzo-gen. Der Unterschied zwischen Worst-Case-Annahme und Distanztabellen ist hierbei wie-derum vernachlassigbar und somit der Einsatz der Distanztabellen zu priorisieren. Generellmuss hier ebenfalls abgewogen werden, ob der Mehraufwand der Migrationen die Verbesse-rungen rechtfertigen. Der Vorteil einer adaptiven Reibung liegt darin, dass eine muhevollemanuelle Reibungsbestimmung erspart bleibt. Im klaren Gegensatz dazu steht der Mechanis-mus ’Migrationen-Back-Blocker‘. Zusammenfassend lasst sich sagen, dass dieser Mechanismusvolligst ungeeignet fur diese Netztopologie ist.

68

Page 74: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

6. Abschlussbetrachtung

6.1. Zukunftige Arbeiten

Nun werden Moglichkeiten vorgestellt, die das entwickelte Verfahren erweitern bzw. verbessernkonnten.

Die adaptive Reibungsbestimmung hat den Vorteil, dass eine muhevolle Reibungsfindungaufgrund vorangegangener Testsimulationen wegfallt und die Tasks ihre individuelle Reibunghinsichtlich ihres Verhaltens anpassen konnen. Der Gewichtungsfaktor α ist ebenfalls ein Para-meter, der durch Testsimulationen gewonnen werden muss. Als nachster Schritt konnte dahereine dynamische Bestimmung dieses Parameters stattfinden. Dazu musste die vorliegende To-pologie analysiert und aus dem Verhaltnis der Kommunikationskraft und Lastverteilungskraftein entsprechender Parameter generiert werden.

Fur die Bestimmung der Lastverteilungskraft wurden in diesem Ansatz ein allgemeinerRessourcenwert fur die Knoten und Tasks herangezogen. Dies konnte dahingehend erweitertwerden, dass bei den Tasks zwischen Speicherverbrauch, CPU-Auslastung und Ausfuhrungs-zeiten unterschieden wird und sich daraus die Lastverteilungskraft berechnen lasst. DieseUnterscheidung kann jedoch auf relativ leichte Art und Weise in diesem Ansatz integriertwerden.

Wie aus den Auswertungen ersichtlich, wird durch die dynamische Reibungsbestimmungbzw. dem ’Migrationen-Back-Blocker‘ eine hohe Dynamik der Tasks ausgelost. Um diese hoheAnzahl an Migrationen einzudammen und bessere Ergebnisse als bei der manuellen Reibungs-bestimmung zu erzielen, wurde sich ein hybrider Ansatz zwischen dynamischer Reibung und’Migrationen-Back-Blocker‘ anbieten. Da dies bei dem vorgestellten Verfahren leicht umzuset-zen ist, werden hier noch kurz die Ergebnisse tabellarisch in Tabelle 6.1 fur das Small-Worldin der Standardsimulation vorgestellt. Der Gewichtungsfaktor α bleibt auf dem Wert von 0,2.

Tabelle 6.1.: Hybrider-Ansatz (RD/MBB) bei Small-World-Topologie

Ansatz Kommunikationskosten (0,51) Verteilung (0,25) Migrationen

WCA 0,363(-0,14) 0,057(-0,2) 1749

DT 0,354(-0,15) 0,058(-0,2) 1867

Im Vergleich zur Anwendung der dynamischen Reibung bei diesem Netz, zeigen die Wertein Tabelle 6.1 vergleichbare Verbesserungen. Der wesentliche Unterschied liegt dabei in derAnzahl der Migrationen, welche bei diesem hybriden Ansatz ca. 500 Migrationen wenigersind. Verglichen mit manueller Reibung werden bessere Ergebnisse erzielt. Auch spielt derUnterschied zwischen WCA und DT so gut wie keine Rolle.

69

Page 75: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

6. Abschlussbetrachtung

6.2. Zusammenfassung und Fazit

Im Rahmen dieser Diplomarbeit wurde ein Verfahren aufgezeigt, mit dem es moglich ist,eine Selbstorganisation in einem verteilten System zu bewerkstelligen. Effiziente Losungenlassen sich oft in der Natur dafur finden. Dabei werden Ansatze aus dem Tierbereich oder derPhysik herangezogen, in ein Modell transformiert und letztendlich auf eine Problemstellungangewendet. Bei dieser Diplomarbeit wurde ebenfalls eine solche Vorgehensweise herangezo-gen. Basierend auf einer bestehenden Arbeit wurde versucht, die Aufgabenstellung effizientumzusetzen. Dabei wurde ein physikalisches Kraftemodell eingesetzt, in dem anziehende undabstoßende Krafte Tasks zur Migration auf andere Knoten veranlassen konnen. Die Ziel-vorgaben dieser und der bestehenden Arbeit waren dabei dieselben, jedoch wurde bei dereigenen Umsetzung die bestehende Kommunikation der Tasks untereinander ausgenutzt, umdas Verfahren anzustoßen und die benotigten Informationen zu beschaffen. Die Informations-beschaffung wurde in der Arbeit von H.Heiss und M.Schmitz[HS95] nicht weiter konkretisiert.Abschließend wurde das Verfahren sowohl unter einer Worst-Case-Annahme als auch unterEinsatz von Distanztabellen simuliert und die Ergebnisse anhand von Diagrammen ausgewer-tet.

Die Umsetzung eines solchen Verfahrens hat gezeigt, dass es durchaus auf relativ leichte Artund Weise moglich ist, eine Selbstorganisation von individuellen Prozessen in einem verteiltenSystem zu realisieren. Durch die Auswertung des Verfahrens konnte außerdem gezeigt werden,dass durchwegs Verbesserungen sowohl bei den Kommunikationskosten als auch bei der Ver-teilung erzielt werden konnten. Diese belaufen sich bei der Kommunikation auf 3% - 20% undbei der Verteilung auf 12% - 20%. Dabei muss jedoch stets der Mehraufwand mit den Verbes-serungen in Relation gesetzt werden. Fur Netze mit hohem Verbesserungspotential bei denKommunikationskosten sowie bei der Verteilung werden solche Verfahren in naher Zukunftattraktiver werden. Denn die stetig wachsende Komplexitat und Große vernetzter Systemelassen Administratoren an ihre Grenzen stoßen und deswegen werden intelligente Verfahrendafur sorgen, dass sich solche Systeme selbst verwalten und sich die darin laufenden Prozesseanhand verschiedener Kriterien selbst organisieren.

Anwendungsgebiete fur solche Verfahren sind die des verteilten Rechnens. Hierbei lassensich heute schon Anwendungsmoglichkeiten finden, in denen ein dynamisches Prozessplatzie-rungsverfahren Verwendung finden konnte. Ein Beispiel dafur ist das in den letzten Jahrenaufstrebende Hype-Thema Cloud-Computing. Fur dieses Thema hat sich noch keine richtigeDefinition etabliert, jedoch kann man sagen, dass ‘(...) eine Cloud ein Pool der virtualisiertenRechnerressourcen’[WAS08] darstellt. Clouds konnen dabei Grid-Umgebungen bei der Ver-waltung von Grid-Ressourcen unterstutzen und ermoglichen dabei ‘(...) die Uberwachung derRessourcennutzung zur Unterstutzung des dynamischen Lastausgleichs und Neuzuweisungenvon Anwendungen und Ressourcen’[WAS08]. Genau in diesem Bereich kann ein dynamischesProzessplatzierungsverfahren eingesetzt werden, um die Aufgaben des dynamischen Lastaus-gleichs bzw. der Minimierung von Kommunikationskosten zu ubernehmen.[WAS08]

Wie schon in den letzten Jahren beobachtet werden konnte, steigt die Bedeutung an vernetz-ten Systemen immer weiter. Verteilte Anwendungen rucken dabei immer mehr in den Vorder-grund. Dies hat zur Folge, dass die dafur zustandigen Rechenzentren immer leistungsfahigerwerden mussen. Sind dabei die darin laufenden Anwendungen nicht effizient verteilt wor-den, stoßen solche Zentren schnell an ihre Leistungsgrenzen. Durch effiziente und vor allemverlassliche Verfahren fur die dynamische Platzierung solcher Anwendungen wird die Leistungerhoht, Kosten eingespart und die Systeme weiterhin beherrschbar gemacht.

70

Page 76: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

Literaturverzeichnis

[BIT07] BITKOM. Zukunft digitale wirtschaft. page 13, 2007.

[BNS04] Francois Bry, Wolfgang E. Nagel, and Michael Schroeder. Grid-computing.Informatik-Spektrum, pages 542–545, 2004.

[BPvR07] Uwe Brinkschulte, Mathias Pacher, and Alexander von Renteln. Towards an arti-ficial hormone system for self-organizing real-time task allocation. Lecture Notesin Computer Science, Volume 4761/2007:339–347, 2007.

[CB06] Muller-Schloer Christian and Sick Bernhard. Emergence in organic computingsystems: Discussion of a controversial concept. Autonomic and Trusted Computing,pages 1–16, 2006.

[Cora] Oracle Corporation. Java technology - sun n1.

[Corb] Oracle Corporation. Javase. http://java.sun.com/javase/.

[CSW+06] Amit Chhabra, Gurvinder Singh, Sandeep Singh Waraich, Bhavneet Sidhu, andGaurav Kumar. Qualitative parametric comparison of load balancing algorithmsin parallel and distributed computing. World Academy of Science, Engineeringand Technology, (39-42), 2006.

[Foua] Apache Software Foundation. Log4j. http://logging.apache.org/log4j/.

[Foub] Eclipse Foundation. Eclipse. http://www.eclipse.org/.

[fSidI09] Bundesamt fur Sicherheit in der Informationstechnik. Cluster-architekturen. 2009.

[GAKT05] Sven Graupner, Artur Andrzejak, Vadim Kotov, and Holger Trinks. Adaptiveservice placement algorithms for autonomous service networks. Engineering Self-Organising Systems, Volume 3464/2005:280–297, 2005.

[Gra] Kasper B. Graversen. Supercsv. http://supercsv.sourceforge.net/.

[HS95] Hans-Ulrich Heiss and Michael Schmitz. Decentralized dynamic load balancing:The particles approach. Information Sciences, 84:115 – 128, 1995.

[H.S05] H.Schmeck. Organic computing - a new vision for distributed embedded systems.In Proceedings of the Eighth IEEE International Symposium on Object-OrientedReal-Time Distributed Computing (ISORC 2005), pages 201–203, 2005.

[IBM06] IBM. An architectural blueprint for autonomic computing. http://www-01.ibm.com/software/tivoli/autonomic/, 2006.

[Kir84] Scott Kirkpatrick. Optimization by simulated annealing: Quantitative studies.Journal of Statistical Physics, 34:975–986, 1984.

I

Page 77: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

Literaturverzeichnis

[Lim] Object Refinery Limited. Jfreechart. http://www.jfree.org/jfreechart/.

[MKS09] Hausi Muller, Holger Kienle, and Ulrike Stege. Autonomic computing now you seeit, now you don’t design and evolution of autonomic software systems. Informatik,pages 32–54, 2009.

[OFN] Joshua O’Madadhain, Danyel Fisher, and Tom Nelson. Jung — the java universalnetwork/graph framework. http://jung.sourceforge.net/index.html.

[Pad07] Tales Heimfarth Universitat Paderborn. Biologically inspired methods for organi-zing distributed services on sensor networks. Dissertation, 2007.

[Sat05] Ichiro Satoh. Bio-inspired deployment of distributed applications. Lecture Notesin Computer Science, Volume 3371/2005:243–258, 2005.

[SFH04] Giovanna Di Marzo Serugendo, Noria Foukia, and Salima Hassas. Self-organisation: Paradigms and applications. Lecture Notes in Computer Science,pages 1–19, 2004.

[Ste05] Roy Sterritt. Autonomic computing. Innovations in Systems and Software Engi-neering, pages 79–88, 2005.

[Tru08] Dr. Wolfgang Trumler. Organic computing - skript zur vorlesung. 2008.

[WAS08] Prof. Dr. Christof Weinhardt, Dipl.-Inform.-Wirt Arun Anandasivam, and Dr.Benjamin Blau Dipl.-Inform. Nikolay Borissov Dipl.-Math. Thomas Meinl Dipl.-Inform.-Wirt Wibke Michalk Dr. Jochen Stoßer. Cloud-computing. Wirtschafts-informatik, pages 453–462, 2008.

[Wika] Wikipedia. Ad-hoc netzwerke. http://de.wikipedia.org/wiki/Ad-hoc-Netz.

[Wikb] Wikipedia. Benard-experiment.

[Wik10] Wikipedia. Magnetismus. http://de.wikipedia.org/wiki/Magnetismus, Juli 2010.

II

Page 78: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

Abbildungsverzeichnis

2.1. Autonomic Computing Eigenschaften nach [Ste05] . . . . . . . . . . . . . . . 52.2. Feedback-Mechanismus[MKS09] . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3. Benard Experiment als Beispiel fur starke Emergenz[CB06] . . . . . . . . . . 92.4. Eisenfeilspane richten sich nach Stabmagneten aus[Wik10] . . . . . . . . . . . 11

3.1. Hinzufugen einer neuen Flussigkeit [HS95] . . . . . . . . . . . . . . . . . . . . 223.2. Stabiler Zustand mit ausbalancierten Kraften [HS95] . . . . . . . . . . . . . . 22

4.1. Austausch von Lastinformationen durch Nachrichten . . . . . . . . . . . . . . 324.2. Aufbau Distanztabelle auf einem Knoten . . . . . . . . . . . . . . . . . . . . . 33

5.1. Screenhots der Simulationsumgebung . . . . . . . . . . . . . . . . . . . . . . . 375.2. Beispiel Cluster-Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.3. Beispiel Grid-Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.4. Beispiel Small-World-Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . 395.5. Beispiel Ad-hoc-Netzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.6. Verbesserung der Kommunikationskosten und Verteilung bei manueller Rei-

bung im Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.7. Migrationen bei manueller Reibung im Cluster . . . . . . . . . . . . . . . . . 425.8. Verbesserung der Kommunikationskosten und Verteilung bei dynamischer Rei-

bung im Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.9. Migrationen bei dynamischer Reibung im Cluster . . . . . . . . . . . . . . . . 455.10. Verbesserung der Kommunikationskosten und Verteilung bei Migrationen-Back-

Blocker im Cluster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475.11. Migrationen bei Migrationen-Back-Blocker im Cluster . . . . . . . . . . . . . 475.12. Verbesserung der Kommunikationskosten und Verteilung bei manueller Rei-

bung im Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515.13. Migrationen bei manueller Reibung im Grid . . . . . . . . . . . . . . . . . . . 515.14. Verbesserung der Kommunikationskosten und Verteilung bei dynamischer Rei-

bung im Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535.15. Migrationen bei dynamischer Reibung im Grid . . . . . . . . . . . . . . . . . 535.16. Verbesserung der Kommunikationskosten und Verteilung mit Migrationen-Back-

Blocker im Grid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.17. Migrationen bei Migrationen-Back-Blocker im Grid . . . . . . . . . . . . . . . 565.18. Verbesserung der Kommunikationskosten und Verteilung mit manueller Rei-

bung im Small-World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.19. Migrationen bei manueller Reibung im Small-World . . . . . . . . . . . . . . 605.20. Verbesserung der Kommunikationskosten und Verteilung mit dynamischer Rei-

bung im Small-World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.21. Migrationen bei dynamischer Reibung im Small-World . . . . . . . . . . . . . 62

III

Page 79: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

Abbildungsverzeichnis

5.22. Verbesserung der Kommunikationskosten und Verteilung mit Migrationen-Back-Blocker im Small World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

5.23. Migrationen bei Migrationen-Back-Blocker im Small World . . . . . . . . . . 64

IV

Page 80: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

Tabellenverzeichnis

2.1. Vergleichsmerkmale SLV und DLV nach [CSW+06] . . . . . . . . . . . . . . . 15

5.1. Variation des Gewichtungsfaktor α fur Cluster . . . . . . . . . . . . . . . . . 495.2. Variation der manuellen Reibung fur Cluster . . . . . . . . . . . . . . . . . . 505.3. Variation des Gewichtungsfaktor α fur Grid . . . . . . . . . . . . . . . . . . . 575.4. Variation der manuellen Reibung fur Grid . . . . . . . . . . . . . . . . . . . . 595.5. Variation des Gewichtungsfaktor α fur Small-World . . . . . . . . . . . . . . 655.6. Variation der manuellen Reibung fur Small-World . . . . . . . . . . . . . . . . 67

6.1. Hybrider-Ansatz (RD/MBB) bei Small-World-Topologie . . . . . . . . . . . . 69

V

Page 81: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

Abkurzungsverzeichnis

AC AcceleratorCSV Comma-Separated ValuesDLV Dynamische LastverteilungsverfahrenDT DistanztabellenEV Eager ValueGA Genetische AlgorithmenGTA Graphentheoretische AnsatzeGUI Grafische BenutzeroberflacheID IdentifikationsnummerJDK Java Developement KitLAN Local Area NetworkLV LastverteilungMBB Migrationen-Back-BlockerOS BetriebssystemRD Dynamische ReibungRM Manuelle ReibungSA Simulated AnnealingSLV Statische LastverteilungsverfahrenSUP SuppressorWCA Worst-Case-AnnahmeWSN Wireless Sensor Networks

VI

Page 82: Institut fur Informatik Universitat Augsburg · zierungsverfahrens, welches in Kapitel 5 anhand von verschiedenen Netztopologien in Simu- lationen evaluiert wird. Zum Schluss werden

Anhang

A. Inhalt der beigefugten CD

A.1. Diplomarbeit (pdf, latex)

A.2. Simulationsumgebung (Source-Code, ausfuhrbare Datei)

A.3. Verwendete Arbeiten

A.4. Simulationsergebnisse

A.5. Dokumentation (Readme, Handbuch, Javadoc der Simulationsumgebung)

VII