230 likes | 347 Views
Adaptive Dienstplatzierung in eingebetteten Netzen. Abschlussvortrag Bachelorarbeit Christian Brennstuhl. Überblick. Dienstorientierte Architektur in eingebetteten Netzen Problemstellung: Dienstplatzierung Definition Platzierung Qualitätsberechnung einer Platzierung
E N D
Adaptive Dienstplatzierung in eingebetteten Netzen Abschlussvortrag Bachelorarbeit Christian Brennstuhl
Überblick • Dienstorientierte Architektur in eingebetteten Netzen • Problemstellung: Dienstplatzierung • Definition Platzierung • Qualitätsberechnung einer Platzierung • Algorithmus: Vollständige Platzierungsgenerierung • Algorithmus: SimulatedAnnealing • Evaluierung • Integration in den Embedded System Planner (Demo) • Erweiterungsmöglichkeiten
Dienstorientierte Architektur in eingebetteten Netzen • Eingebettetes Netz besteht aus Knoten und Verbindungen
Dienstorientierte Architektur in eingebetteten Netzen • Soft- und Hardware wird in Dienste abstrahiert • Anwendungen entstehen durch das Verschalten von Dienstinstanzen • Datenströme verbinden die Dienstinstanzen
Definiton Platzierung • Zuordnung von Dienstinstanzen zu Knoten • Speicher und von Knoten wird berücksichtigt • Knoteneinschränkungen für Dienste werden berücksichtigt
Problemstellung Dienstplatzierung • Hohe Anzahl an verschiedenen Platzierungen • Unterschiedliche Qualität der Platzierungen • Verschiedene Kriterien zur Qualitätsbestimmung Algorithmen für das Finden der besten bzw. einer möglichst guten Platzierung
Qualitätsberechnung einer Platzierung • Berechnen der Bewertungskriterien (z.B. durchschnittliche Knotenauslastung, durchschnittliche Verbindungsauslastung, maximaler Energieverbrauch) • Normalisierung der Bewertungskriterien auf das Intervall [0;1] => vergleichbare Qualitätswerte für jedes Kriterium • Berechnen einer Gesamtqualität anhand einer Gewichtung über die Bewertungskriterien
Vollständige Platzierungsgenerierung • Alle potenziellen Platzierungen werden nacheinander generiert und bewertet • Garantie die beste Lösung zu finden • sehr zeitaufwändig in großen Netzwerken
SimulatedAnnealing • SimulatedAnnealing ist ein heuristisches Optimierungsverfahren • verbleibt nicht in lokalen Extrema • findet eine möglichst gute Platzierung in angemessener Zeit => Besser geeignet für große Netzwerke
SimulatedAnnealing • Nachfolgerfunktion RandomNode
SimulatedAnnealing • Nachfolgerfunktion NeighborNode
SimulatedAnnealing • Nachfolgerfunktion: NeighborNeighborNode
Evaluierung • Vollständige Platzierungsgenerierung • Ausführungszeit: 6m 40s für 106 mögliche Platzierungen • SimulatedAnnealing • insgesamt 75 Tests • sämtliche Kombinationen aus 3 Nachfolgerfunktionen, 5 Testnetzwerken und 5 Temperaturfunktionen • 100 Durchläufe bei jedem Test • Durchschnittsqualität der Ergebnisplatzierungen und Standardabweichung als Vergleichswerte
Evaluierung • Vergleich Temperatur- und Nachbarfunktionen • Netzwerk mit 40 Knoten, 20 Instanzen und 12 Anwendungen
Evaluierung • Vergleich Ausführungszeit • Ausführungszeit steigt proportional zur Netzwerkgröße (doppelte Knoten und Instanzenzahl entspricht ca. doppelter Ausführungszeit) • Ausführungszeit steigt proportional zum Wiederholungslimit (doppelte Wiederholungszahl entspricht ca. doppelter Ausführungszeit)
Erweiterungsmöglichkeiten • SimulatedAnnealing • weitere Temperatur- und Nachfolgerfunktionen möglich • alternative Startplatzierungen • Andere Optimierungsverfahren • AntColonyOptimization, Spring Embedder etc.