6. Organic Computing Organic Computing: Forschungsinitiative für eingebettete Systeme 6.1 Grundlagen des Organic Computing 6.2 Organic Computing und Systems on Chip 6.3 Organic Computing und Middleware 6.4 Ein künstliche Hormonsystem zur Taskzuordnung in verteilten eingebetteten Systemen Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 6. Organic Computing Selbstorganisation und Organic Computing Problem: Durch steigende Komplexität werden Entwicklung, Wartung und Betrieb von eingebetteten Systemen immer schwieriger Idee: Systeme „lebensähnlicher“ zu gestalten => Organic Computing Realisierung von Eigenschaften organischer Einheiten wie: Selbstorganisation Selbstkonfiguration Selbstoptimierung Selbstheilung Selbstschutz Selbsterklärung Selbstbewusstsein Selbst-X Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 2 6.1 Grundlagen des Organic Computing Ein Organic Computing System ist kein biologisches, sondern immer noch ein technisches System Es verwendet aber in biologischen Systemen beobachtete Prinzipien wie dynamische Anpassung an die Umgebungsbedingungen durch die genannten Selbst-X Eigenschaften Das Ziel von Organic Computing ist somit die technische Nutzung von Prinzipien aus der Biologie Hierdurch soll die Entwicklung komplexer eingebettere Systeme verbessert und erleichtert werden Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 3 6.1 Grundlagen des Organic Computing Einige wichtige Begriffe: Selbstorganisation bezieht sich auf einen Prozess, bei dem sich die interne Ordnung eines Systems selbsttätig und ohne äußeren Eingriff erhöht. Selbstorganisation benutzt üblicherweise vier grundlegende „Zutaten“: Positive Rückkopplung Negative Rückkopplung Gleichgewicht von Nutzung und Erforschung Vielfältige Interaktionen Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 4 6.1 Grundlagen des Organic Computing In sich selbst organisierenden Systemen kann oft emergentes Verhalten beobachtet werden Beispiele: das Auffinden kürzester Wege durch Ameisenkolonien „Stöckchen sammeln“ von Termiten In der Biologie ist Selbstorgansiation meist verbunden mit: Morphogenese, (Entwicklung und Wachstum lebender Organismen) Homeostase (Selbsterhaltende Natur von Systemen von der Zelle bis zum Organismus) Schwarmverhalten (Vögel, Fische, ...) Selbstorganisation findet sich auch in der Physik: z.B. Strukturbildung in der Astrophysik (Sterne, Galaxien, ...) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 5 6.1 Grundlagen des Organic Computing Verbreiteter technischer Ansatz: Observer/Controller Struktur Controller Observer System Rückführung (Verwandtschaft zur Regelungstechnik) Kontrolle emergenten Verhaltens Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 6 6.1 Grundlagen des Organic Computing Forschungsaktivitäten / Stand der Forschung G. Jetschke. Mathematik der Selbstorganisation, Harry Deutsch Verlag, Frankfurt, 1989 R. Whitaker. Self-Organization, Autopoiesis, and Enterprises, http://www.acm.org/sigs/sigois/auto/Main.html/ IBM. Autonomic Computing, http://www.research.ibm.com/autonomic/ EU-Program FET – Complex Systems: http://www.cordis.lu/ist/fet/co.htm BMBF Programm "Technische Anwendung der Selbstorganisation„ http://www.bmbf.de/foerderungen/5150.php SFB 637: Selbststeuerung logistischer Prozesse http://www.sfb637.uni-bremen.de Graduiertenkolleg 1194 Selbstorganisierende Sensor-AktorNetzwerke http://www.grk1194.uni-karlsruhe.de/home.php DFG Schwerpunktprogramm 1183 Organic Computing http://www.organic-computing.de/SPP Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 7 6.1 Grundlagen des Organic Computing DFG Schwerpunktprogramm 1183 “Organic Computing” Quelle: DFG Forschungsschwerpunkt 1183 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 8 6.2 Organic Computing und Systems on Chip Künftige Systems On Chip (SoC) sind gekennzeichnet durch: zunehmende Komplexität auf dem Chip (Integrationsdichte) zunehmende Komplexität der Vernetzung (verteilte SoC) zunehmende Komplexität der Aufgaben (Software) die daraus resultieren Probleme im Bereich Konfiguration, Wartung, Fehleranfälligkeit, ... machen künftige SoC zu einem idealen Kandiaten für Organic Computing Techniken Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 9 6.2 Organic Computing und Systems on Chip 6.2.1 Autonomic Systems on Chip (ASoC) o Problem: hohe Integrationsdichten verursachen zunehmend transiente Fehler während des Betriebs o Idee: 2 Ebenen Autonomic Ebene AE AE AE AE ... ... AE AE o Funktionale Ebene: Eigentliche Chip-Funktionalität Prozessorkern o Autonomic Ebene: Überwachung der funktionalen Ebene ROM ... Ein-/Ausgabe Prozessorkern RAM ... Netzwerk Funktionale Ebene (Univ. München, Tübingen, FZI Karlsruhe) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte AE (Autonomic Element) Schnittstelle Aktuator Evaluator Monitor 10 6.2 Organic Computing und Systems on Chip Entwurfsprozess: Architektur-Charakteristiken o Abbildung der Anwendungsanforderungen auf die Architektur-Charakteristiken Funktionale Elemente (FE) Autonomic Elemente (AE) o Auswahl der funktionalen Elemente o Auswahl dazu passender Autonomic Elemente Anwendungs- und AnforderungsCharakteristiken Parameterauswahl FE / AE ParameterEvaluation o Parametrierung der Elemente Modell FE / AE o Ableitung eines Modells zur Systemevaluation o Fortlaufende Verfeinerung Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Evaluation 11 6.2 Organic Computing und Systems on Chip 6.2.2 Connective Autonomic Real-time Systems on Chip (CARSoC) o vernetzte Systems on Chip Mehrfädiger Prozessorkern (SMT) Echtzeitscheduling lokale und globale Regelkreise für Organic Management dezentrale Regelkreise (Univ. Augsburg, Karlsruhe, Frankfurt) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 12 6.2 Organic Computing und Systems on Chip CARSoC Hardware Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 13 6.3 Organic Computing und Middleware Wie kann Middleware bei Organic Computing helfen? Sie kann verteilten Systemen Selbst-X Eigenschaften verleihen Aufspüren fremder Dienste und Aufträge, Optimierung Vergabe Optimierung Dienstverlagerung vonPrioritäten, Prioritäten, von DienstGP-Werten, GP-Werten, bei und z.B. durchDienste Computerimmunologie Zuordnung anan Ressourcen Zuordnung Aufträge Dienste Bandbreiten, Bandbreiten, Auftragszuordnung Ressourecanausfall Taktfrequenzen, Taktfrequenzen,...... Dienst A Dienst C … Auftrag Dienst B Dienst D … Selbst-Konfiguration Selbst-Optimierung Selbst-Heilung Selbst-Schutz Middleware Rechen-Ressource 1 Rechen-Ressource 2 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte ... 14 6.3 Organic Computing und Middleware Organic Management Auftrag bestimmt, welcher Auftrag von welchem Dienst ausgeführt wird Dienst bestimmt, welcher Dienst auf welcher Ressource abläuft Ressource Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 15 6.3 Organic Computing und Middleware 6.3.1 OSA+ als „organische Middleware“, neue Konzepte, Organic Manager Die Anwendung bestimmt, welche Ressourcen oder Ressourcenklassen für einen Dienst in Frage kommen Der Organic Manager wählt hieraus durch Auswertung einer Kosten/Nutzenfunktion die aktuelle Ressource aus Dienst A Dienst B Knoten 1: Kosten/Nutzen Knoten 2: Kosten/Nutzen Knoten 3: Kosten/Nutzen Knoten 3: Kosten/Nutzen Knoten 4: Kosten/Nutzen ... Knoten n: Kosten/Nutzen Middleware, verteilter Organic Manager (Ortsauswahl von Diensten auf Grund von Kosten/Nutzen und Parameter aus dem Monitoring wie Knotenauslastung, Energievorrat, ...) Ressource 1 Ressource 2 Ressource 3 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte ... Ressource 3 16 6.3 Organic Computing und Middleware Die Anwendung bestimmt eine Menge von Diensten, die für einen Auftrag in Frage kommen Der Organic Manager wählt hieraus durch Auswertung einer Kosten/Nutzenfunktion den aktuellen Dienst aus Dienst A Dienst C Auftraggeber Auftrag Dienst A: Kosten/Nutzen Dienst B : Kosten/Nutzen Dienst C: Kosten/Nutzen Dienst B Middleware, verteilter Organic Manager (Dienstauswahl für Jobs auf Grund von Kosten/Nutzen und Parameter aus dem Monitoring wie Knotenauslastung, Energievorrat, ...) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 17 6.3 Organic Computing und Middleware Die Anwendung kann darüber hinaus Abhängigkeiten definieren: Dienstabhängigkeit: Auftrag X und Y müssen vom selben Dienst ausgeführt werden Ressourcenabhängigkeit: Auftrag X und Y müssen auf der selben Ressource ausgeführt werden Zeitliche Abhängigkeit: Auftrag X muss vor Auftrag Y ausgeführt werden Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 18 6.3 Organic Computing und Middleware Ausführungspfad: Ein Ausführungspfad besteht aus einer Menge von Aufträgen, welche genau auf einer Ressource in einer vorgegebenen Reihenfolge ausgeführt werden müssen. Mission: Eine Mission besteht aus einer Anzahl von Ausführungspfaden. Mission Ausführungspfad Ausführungspfad Beispiel: Auftrag fahreZu(Lager) Auftrag lade(auf) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Auftrag fahreZu(Ziel) Auftrag lade(ab) 19 6.3 Organic Computing und Middleware Die Middleware erhält von der Anwendung die Ausführungspfade einer Mission Bsp: Beladung von Paletten durch Roboter mit gleichzeitiger Prozessvisualisierung Ausführungspfad 1: Fahre zum Lager, Greife Produkt 1, Fahre zur Ziel, Lade Produkt 1 ab Ausführungspfad 2: Fahre zum Lager, Greife Produkt 2, Fahre zur Ziel, Lade Produkt 2 ab Ausführungspfad 3: Visualisiere Position der Roboter Ausführungspfad 4: Visualisiere Füllgrad Lager .... Die Ausführungspfade und elementaren Aufträge werden vom Organic Management nach Auswertung der Kosten/Nutzenfunktionen den Diensten und Ressourcen zugeordnet Bsp: Ausführungspfad 1 Roboter A, Fahre zum Lager Dienst Energieeffizientes Fahren, ... Ausführungspfad 2 Roboter B, Fahre zum Lager Dienst Schnelles Fahren, ... Ausführungspfad 3 PDA, Visualisiere Position Dienst Prozessvisualisierung Ausführungspfad 4 PDA, Visualisiere Füllgrad Dienst Prozessvisualisierung Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 20 6.3 Organic Computing und Middleware Die Anwendung gibt somit den Spielraum für den Organic Manager vor Vorgaben der Anwendung zur Dienstauswahl von Aufträgen mögliche Dienste mögliche Ressourcen Vorgaben der Anwendung zur Ortsauswahl von Diensten Weiterhin kann sie die Parameter der Kosten/Nutzenfunktion beeinflussen oder hier eigene Module (Verhandlungsstrategien) definieren => der Entwickler gibt Randbedingungen vor, das Organic Management erledigt die Details (Selbst-X) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 21 6.3 Organic Computing und Middleware Zuordnung der Ausführungspfade an Ressourcen über einen Entscheidungsbaum AP1 kn11 AP2 R1 kn12 R2 AP1 kn13 R3 AP2 AP2 R1 kn21 AP1 R2 kn22 kn23 R1 knij: Kosten/Nutzen-Parameter Selbst-Konfiguration Dynamischer Vorgang, Neuzuordnung auf Grund vom Monitoring gemeldeter Ereignisse möglich (z.B. Energieknappheit, Ressourcenausfall, ...) Selbst-Optimierung, Selbst-Heilung Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 22 6.3 Organic Computing und Middleware Echtzeitaspekte: Baumaufbau kann jederzeit unterbrochen werden Muss eine Zuordnung getroffen werden, bevor der Baumaufbau abgeschlossen ist => Auswahl der momentan besten Lösung => Suboptimales Verhalten, aber Einhaltung der Zeitbedingungen Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 23 6.3 Organic Computing und Middleware Erweiterungsmöglichkeit : Vorhersage des Zustandes von Ressourcen nach virtueller Ausführung eines Ausführungspfades Anfangszustand R1 R2 Vorhersage R3 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Virtueller Zustand R1 R2 R3 24 6.3 Organic Computing und Middleware Möglichkeiten der Zustandsvorhersage: Vorgabe relativer Werte durch die Anwendung die Änderung von Zustandswerten wird vorgegeben Vorgabe absoluter Werte durch die Anwendung neue Zustandswerte werden vorgegeben Die Zustandswerte werden vom Organic Management selbst berechnet z.B. durch Linearisierung rnew rold ( M * cJob dJob) rold, rnew: Alter und neuer Zustandsverktor einer Ressource Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 25 6.3 Organic Computing und Middleware Zuordnung der Ausführungspfade an Ressourcen über Auktionsmechansmen Es werden die bekannten Prinzipien von Auktionen benutzt: Ausschreibung Gebote Zuschlag and den Meistbietenden Ausführungspfade werden vom Koordinator (Empfänger der Mission) ausgeschrieben Die Gebote werden von den Ressourcen in Abhängigkeit ihrer Eignung für die ausgeschriebenen Ausführungspfade und ihres aktuellen Zustandes abgegeben Der Koordinator gibt den Zuschlag an den (oder die) Meistbietenden Protokolle: z.B. ContractNet Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 26 6.3 Organic Computing und Middleware Res. n Res. 2 A A Res. 3 Res.1 A Koord. A Phase 1: Ausschreibung einer Ausführungspfades (Aufgabenbeschreibung und Parameter) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 27 6.3 Organic Computing und Middleware Res. n Res. 2 B2 Bn Res. 3 Res. 1 B3 Koord. B1 Phase 2: Eingang der Gebote Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 28 6.3 Organic Computing und Middleware Res. n Res. 2 Res. 3 Res. 1 K Koord. Phase 3: Zuschlag an eine (oder mehrere) Ressourcen (Kontrakt) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 29 6.3 Organic Computing und Middleware Echtzeitaspekte: Vorgabe eines Zeitlimits für die Auktion Angebote nach Verstreichen des Zeitlimits werden ignoriert => obere Zeitschranke für die Zuteilung kann angegeben werden => möglicherweise suboptimale Lösung (wie bei Baum-Variante) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 30 6.3 Organic Computing und Middleware 6.3.2 DodOrg - Digital On Demand Computing Organism von der Biologie zu einem Organic Computing System Body / Emotions Myocardial Cell Brain Level Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Learning/ Adaptation ← ↓ Mod. 1 Control Loop PC PC Algorithm ↓ Mod. 2 Environment / Task Organic Manager Control Loop PC PC PC PC Processing Cells Low Power – Fail Safe – Real Time Atrioventricular Node Organ Level Sinus Node Sympathetic Nervous System Cell Level Parasympathetic Nervous System Environment / Task 31 6.3 Organic Computing und Middleware Anwendung DodOrgKomponenten Tasks •Anwendung •Monitoring •Power Management •Prozessorzellen Monitoring •Middleware PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ PZ Power Management Middleware Virtuelle Organe Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 32 6.3 Organic Computing und Middleware • Die Middleware von DodOrg nutzt ein künstliches Hormonsystem zur Zuordnung von Task an Prozessorzellen • Ausbildung „virtueller Organe“ • Hormonbasierte Regelschleifen wirken als Mechanismus zur Selbst-Konfiguration, Selbst-Optimierung und Selbst-Heilung Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 33 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen 6.4.1 Natürliches Hormonsystem Auch „endokrine System“ genannt: System zur Steuerung und Regelung vielfältiger Körperfunktionen, z.B. Verdauung, Wachstum, Fortpflanzung Grundkonzept: chemische Botenstoffe (Hormone) werden von endokrinem Gewebe (z.B. Drüsen) produziert und wirken in der Nachbarschaft oder werden vom Blutkreislauf im ganzen Körper verteilt Die Wirkung erfolgt entweder über entsprechende Rezeptoren an der Zellmembran oder über das Eindringen des Hormons in die Zelle Die Reaktion einer Zelle auf ein Hormon hängt allein von dieser Zelle ab Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 34 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Zwei Wirkmechanismen: a. Direkte Wirkung von Hormonen auf eine Zelle ohne weitere Rück- oder Wechselwirkung (Steuerung) b. Verknüpfung und Wechselwirkung mehrere Hormongruppen untereinander, z.B. um eine negative Rückkopplung zu erreichen (Regelung) Endokrines Gewebe - + + Endokrines Gewebe + Zelle Zelle direkte Wirkung - - Zelle - + Zelle indirekte Wechselwirkung Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte + Zelle Wechselwirkung 35 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Eigenschaften: • Flexible Struktur • Dezentralisiert • Zellen reagieren nach lokalen Regeln • Globales Verhalten ergibt sich als Summe des lokalen Verhaltens • Geschlossene Rückführungsschleifen • Selbstorganisierend (keine zentrale Steuerinstanz) • Robust und fehlertolerant => Vorbild für ein technisches System Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 36 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen 6.4.2 Künstliches Hormonsystem Nachbildung der Hormone durch kurze Botschaften (künstliche Hormone) Künstliche Hormone werden lokal in der Nachbarschaft (lokaler Multicast) oder im gesamten System (Broadcast) verteilt Lokale Reaktion der Komponenten (künstliche Zellen) auf die künstlichen Hormone Die Reaktion der künstlichen Zelle auf ein künstliches Hormon hängt allein von der künstlichen Zelle ab Gegenspieler bei den künstlichen Hormonen erlauben geschlossene Rückführungen Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 37 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Anwendung: Taskzuordnung in einem verteilten System Künstliche Zellen: Rechenknoten (z.B. in einem Sensor-/Aktor-Netzwerk) Künstliche Hormone: Eignungswerte E: Geben an, wie gut ein Knoten für eine Aufgabe geeignet ist Suppressoren S: Hemmen die Ausführung einer Aufgabe auf einem Knoten. Supressoren werden vom Eignungswert subtrahiert. Acceleratoren A: Begünstigen die Ausführung einer Aufgabe auf einem Knoten. Acceleratoren werden zum Eignungswert addiert 38 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Prinzip der geschlossenen Rückführung, Gegenspieler Für i, γ empfangene Eignungswerte Emiγ Für i, γ empfangene Suppressoren Siγ Für i,γ empfangene Acceleratoren Aiγ Notation: Σ + + Lokaler Eignungswert Eiγ Von i, γ gesendeter modifizierten Eignungswert Emiγ b a>b a ? Von i, γ gesendete Suppressoren Siγ Übernehme Task Ti auf Kγ Von i, γ gesendete Acceleratoren Aiγ Task Ti auf Kγ γ Hi Hormon für Task Ti auf Knoten Kγ Hi γ: Hormon von Task Ti auf Knoten Kγ, lateinische Buchstaben stehen für Task-Indizes, griechische Buchstaben für Knoten-Indizes Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 39 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen 6.4.3 Künstlichen Hormone Eignungswerte: Lokaler Eignungswert Ei ursprüngliche Eignung von K für Task Ti => Taskverteilung nach den Fähigkeiten der Knoten Modifizierter Eignungswert EmiiΩ wird durch Addition bzw. Subtraktion der für Task Ti auf K empfangenen Acceleratoren und Suppressoren vom lokalen Eignungswert berechnet. Wird an Task Ti auf allen Knoten gesendet. Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 40 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Suppressoren: Übernahme-Suppressor SüiiΩ wird an Task Ti auf allen Knoten ausgesandt, wenn K Task Ti übernommen hat => bestimmt somit, wie oft Task Ti im System übernommen wird Last-Suppressor SliM wird nur lokal an den K gesendet, welcher Task Ti übernommen hat. Wirkt dort auf alle Tasks => bestimmt somit, wieviele Tasks ein Knoten übernehmen kann. Monitor-Suppressor SmMM wird vom lokalen Monitoring lokal an einen Knoten gesendet und wirkt dort auf alle Tasks => kennzeichnet den allgemeine Zustand eines Knoten bei der Taskvergabe. Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 41 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Acceleratoren: Organ-Accelerator AoiViΦ wird an alle zu Task Ti verwandten Tasks auf benachbarten Knoten ausgesandt, wenn K die Task Ti übernommen hat => Ansiedlung verwandter Tasks in der Nähe, Organbildung i Angebots-Accelerator Aai begünstigt das Verbleiben einer Task auf dem bisherigen Knoten, wenn die Task im Zuge der Selbstoptimierung neu angeboten wird. Wird nur lokal für Task Ti gesendet => kennzeichnet die Kosten einer Taskmigration. Monitor-Acclerator AmMM wird vom lokalen Monitoring lokal an einen Knoten gesendet und wirkt dort auf alle Tasks => Gegenspieler zum Monitor-Suppressor Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 42 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Eigenschaften dieses Verfahrens selbst-organisierend Es existiert keinerlei äußere Organisationsinstanz, welche in die Aufgabenverteilung eingreift. Diese erfolgt einzig aus der Interaktion der einzelnen Knoten. selbst-konfigurierend Das Verfahren bestimmt selbsttätig eine Anfangsverteilung, welche die Fähigkeiten (z.B. Rechenkapaziät, Speicher, ...) sowie den Zustand (z.B. Betriebstemperatur, Energievorrat, ...) der heterogenen Knoten berücksichtigt. selbst-optimierend Die Verteilung passt sich im Betriebs selbstständig an sich ändernde Bedingungen und Zustände der Knoten (z.B. schwindende Energie, steigende Temperatur) an. selbst-heilend Durch das Fehlern von zentralen Instanzen sowie die Fähigkeit zur SelbstOptimierung gleicht das Verfahren automatisch die Auswirkungen von ausgefallenen Aufgaben bzw. Knoten durch Umverteilung an. Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 43 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Live-Demo Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 44 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen 6.4.4 Dynamik des Hormonsystems Hormonzyklus: 3 Fälle: tES Sende Hormone (S) tSE Entscheide (E) Alle Eignungswerte konstant => eingeschwungener, stabiler Zustand Der Eignungswert eines Knotens sinkt => Übernahme der Aufgabe, wenn der gesunkene Eignungswert dafür ausreicht, alle anderen Knoten kennen den höheren oder gesunkenen Wert Der Eignungswert eines Knotens steigt => Übernahme der Aufgabe, wenn der gestiegene Eignungswert dafür ausreicht ist kritisch, da eventuell noch nicht alle Knoten diesen gestiegenen Wert kennen Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 45 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen => Übernahme der Aufgabe nur, wenn der gestiegene Eignungswert sicher an alle Knoten kommuniziert ist bzw. ein Suppressor für diese Aufgabe von einem anderen Knoten empfangen wurde K ... tSE S neu E iΩ i Em SüiiΩ tK K ... ... tK E tES S ... K übernimmt Task Ti eventuell auf Basis von Bedingung hierfür: tSE ≥ tES + 2 tK tK : Kommunikationszeit alt EmiiΩ Kriterium für sichere Entscheidung im Hormonzyklus Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 46 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen 6.4.4.1 Zeitverhalten der Selbstkonfiguration Jeder Knoten prüft die Übernahme einer Aufgabe pro Zyklus Anderenfalls wären die Organ-Accleratoren wirkungslos => Präzisierter Hormonzyklus tES (= 0) Sende Hormone für alle für K relevanten Tasks Tj M Warte (tSE) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte Entscheide über Task Ti i:= i+1 47 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Bei m Aufgaben haben alle Knoten nach m Zyklen alle Aufgaben überprüft Durch den dynamischen Einfluss von Acceleratoren und Suppressoren ist es möglich, dass jedoch noch nicht alle Aufgaben übernommen wurden, Beispiele: K prüft die Übernahme von Task Ti, Sieger ist K t K prüft die Übernahme von Task Ti, Sieger ist K K prüft die Übernahme von Task Ti, Sieger ist K K erhöht seinen Eignungswert für Ti auf Grund eines empfangenen Accelerators K prüft die Übernahme von Task Ti, Sieger ist K t K prüft die Übernahme von Task Ti, Sieger ist K K prüft die Übernahme von Task Ti, Sieger ist K K erniedrigt seinen Eignungswert für Ti auf Grund eines empfangenen Supressors Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 48 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Die Gesamtzahl der Zyklen ist jedoch trotzdem begrenzt, da Acceleratoren und Suppressoren nur bei Übernahme einer Aufgabe ausgestossen werden => in jedem Durchlauf von m Zyklen wird mindestens 1 Aufgabe übernommen => Zeitverhalten im schlimmsten Fall: m2 Zyklen bis zur Übernahme aller Aufgaben Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 49 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Verbesserung des Zeitverhaltens 1. Verfeinerung des Hormonzyklus: Berücksichtigung von Acceleratoren, welche den Eignungswert für eine Task erhöhen, in der Prüfreihenfolge des Hormonzyklus (analog Beispiel 1, Folie 15) Erhöht sich ein gesendeter Wert einer Task über alle bisher empfangenen Werte, so wird die normale Prüfreihenfolge verlassen und diese Task als nächste geprüft tES = 0 nein Sende Hormone für alle für K relevanten Tasks Tj M Warte (tSE) Entscheide über Task Ti i:= i+1 Erhöhter Eignungswert für Task Tk gesendet, Tk Siegerkandidat? Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte ja Entscheide über Task Tk 50 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Zeitverhalten des verfeinerten Zyklus, schlimmster Fall: Eignungswert von Task Ti erhöht sich in Zyklus m durch Accelerator Dieser Accelerator wurde durch die Übernahme einer von m-1 anderen Tasks verursacht => Task Ti wird im nächsten Zyklus (m+1) erneut geprüft Eignungswert von Task Ti erhöht sich in Zyklus m+1 durch Accelerator Dieser Accelerator wurde durch die Übernahme einer von m-2 anderen Tasks verursacht => Task Ti wird im nächsten Zyklus (m+2) erneut geprüft Eignungswert von Task Ti erhöht sich in Zyklus m+2 durch Accelerator Dieser Accelerator wurde durch die Übernahme einer von m-3 anderen Tasks verursacht … Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 51 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Zyklus 1: ... ... T1 Zyklus m: Zyklus m+1: Zyklus m+2: ... ... T1 T1 T1 Zyklus 2m-1: T1 Tm-2 Tm-1 Tm ... ... Tm-2 Tm-1 Tm-2 Tm-1 Tm-2 Tm Tm genommen, Accelerator gesendet Tm-1 genommen, Accelerator gesendet Tm-2 genommen, Accelerator gesendet ... ... T1 genommen, Accelerator gesendet Worst-Case Zeitverhalten = 2m-1 Zyklen Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 52 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen 2. Verfeinerung des Hormonzyklus: Berücksichtigung von Suppressoren, welche den Eignungswert für eine Task erniedrigen, in der Prüfreihenfolge des Hormonzyklus (analog Beispiel 2, Folie 48) Erniedrigt sich ein empfangener Wert einer Task unter alle bisher empfangenen sowie den eigenen Wert, so wird die normale Prüfreihenfolge verlassen und diese Task als nächste geprüft tES = 0 nein Sende Hormone für alle für K relevanten Tasks Tj M Warte (tSE) Erniedrigter Eignungswert für Task Tk empfangen, Tk Siegerkandidat? Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte ja Entscheide über Task Ti i:= i+1 Entscheide über Task Tk 53 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Aus analoger Überlegung ergibt sich das gleiche Zeitverhalten wie für Verfeinerung 1: Mit Verfeinerung 1 und 2: Generelles Zeitverhalten des Hormonzyklus 2m-1 Zyklen bis zur Übernahme aller Tasks Anmerkung: für die hier betrachtete Anwendung ist Verfeinerung 2 unnötig, da Suppressoren hier niemals auf andere Tasks wirken sondern nur für Tasks ausgeschüttet werden, die bereits übernommen sind. Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 54 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Weitere Präzisierungen für Verfeinerung 1: Bisherige Annahme: alle Tasks sind mit allen verwandt, d.h. eine Task kann von m-1 anderen Tasks Acceleratoren empfangen In der Regel ist eine Task Ti jedoch nur mit vi anderen Tasks verwandt, vi ≤ m-1 Sie kann nur von vi anderen Tasks Acceleratoren empfangen Die Taskübernahme ist nach m + vmax mit vmax : max(vi ) TiM Zyklen beendet Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 55 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Weitere Präzisierungen für Verfeinerung 1: Bisherige Annahme: alle Knoten bewerben sich um alle Tasks Bewirbt sich ein Knoten K jedoch nur um m Tasks, m ≤ m Die Taskübernahme ist nach mmax + vmax mit mmax max (m ) PE Ω Zyklen beendet Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 56 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Beispiel: 10 Tasks Verwandt: T1 ... T10 T1 ... T4, T5 ... T10 m = 10 vmax = max(v1, ..., v10) = max(4,4,4,4,6,6,6,6,6,6) = 6 Es ergeben sich also: mit 2m - 1 mit m + vmax = 20-1 = 10 + 6 = 19 Zyklen als Obergrenze = 16 Zyklen als Obergrenze Bewerben sich weiterhin nur K1, K2 um T1 ... T5 und K3, K4 um T6 ... T10 mmax = max(m1, ..., m4) = max(5,5,5,5,) = 5 so ergeben sich: mit mmax + vmax = 5 + 6 = 11 Zyklen als Obergrenze Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 57 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Anzahl Zyklen Simulationsergebnisse Anzahl Tasks Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 58 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen 6.4.4.2 Zeitverhalten der Selbstoptimierung Eine Selbstoptimierung findet nur statt, wenn ein Knoten eines Task zur Verschiebung anbietet => der Zeitpunkt der Optimierung wird vom Knoten gewählt Weiterhin betreibt der alte Knoten die Task bis sie auf dem potenziellen neuen Knoten ausgeführt wird => maximale Ausfallzeit = Zeit für Zustandstransfer Schlimmster Fall für die Dauer der Selbstoptimierung: alle Tasks werden gleichzeitig angeboten => gleiches Zeitverhalten wie bei der Selbstkonfiguration mmax + vmax Zyklen (wird hingegen z.B. nur eine Task angeboten, so wird sie gemäß Verfeinerung 1 bereits im nächsten Zyklus übernommen) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 59 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen 6.4.4.3 Zeitverhalten der Selbstheilung Annahme: es bleiben in der Ausfallsituation noch genügend Knoten übrig, sodass alle Aufgaben übernommen werden können im wesentlichen gleiches Zeitverhalten wie bei der Selbstkonfiguration oder Selbstoptimierung, hinzu kommt lediglich die Zeit um den Ausfall zu erkennen Dies geschieht durch Überschreitung der Verfallszeit eines künstlichen Hormons (a Zyklen) Selbstheilung beendet spätestens nach mmax + vmax + a Zyklen Fällt nur ein Knoten aus, so müssen nur die dort ausgeführten e Task neu vergeben werden. Es ergeben sich somit hierfür e + max (vi)+ a Zyklen Ti E λ Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 60 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen 6.4.5 Datenaufkommen der Hormonausschüttung Ein Knoten K sendet pro Zyklus: Broadcast an alle anderen Knoten: 1 modifizierter Eignungswert Em jjΩ pro beworbener Task Tj iΩ Sü 1 Übernahme-Supressor i pro übernommener Task Ti Multicast an Nachbarn: 1 Organ-Accelerator Aoi pro verwandter Task einer übernommenen Task Ti ViΦ Alle anderen Hormone werden nur lokal versandt bzw. genutzt Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 61 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Datenstruktur eines künstlichen Hormons: Hormontyp, Knoten-Id, Task-Id, Wert Eignungswert, Absenderinformation Suppressor, Accelerator Eignungswerte, Suppressoren und Acceleratoren benötigen neben dem eigentlichen Wert noch eine Absenderinformation, um alte Hormonwerte durch neue, aktuellere eines Absenders ersetzen zu können. Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 62 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Broadcast: Db = De · k + Ds · e mit Multicast: Db : De: Ds: k: Broadcast-Datenmenge von K Datenmenge zur Übertragung eines Eignungswertes Datenmenge zur Übertragung eines Suppressors Anzahl der Tasks, um die sich K beworbenen hat und welche noch nicht vollständig im gesamten System übernommen wurden e: Anzahl aller auf dem Prozessorelement K ausgeführten Tasks Dm Da v i TiE mit Dm: Multicast-Datenmenge Da: Datenmenge zur Übertragung eines Accelerators vi: Anzahl aller zu einer Task Ti verwandten Tasks. Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 63 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen => Datenaufkommen eines beliebigen Knotens zu Beginn und im eingeschwungenen Zustand: Anfang Anfang Db De k e = 0 zu Anfang Dm 0 Ende Db Ds e Ende Dm Da k = 0 am Ende v i TiE Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 64 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Das gesamte Hormon-Datenaufkommen an einem beliebigen Knoten K ergibt sich aus der Summe der Broadcasts aller Prozessorelemente sowie der Summe der Multicasts seiner Nachbarn: D Db Dm K Ω mit D: K Φ Gesamte Datenmenge an K Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 65 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen => Gesamtes Datenaufkommen an einem beliebigen Knotens zu Beginn und im eingeschwungenen Zustand Anfang D K Ω Anfang Db K Φ Anfang Dm De k K Ω Ende D K Ω Ende Db K Φ Ds e K Ω Da Ende Dm v K Φ Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte TiE i 66 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Bildung eines oberen Grenzwertes durch Ersetzen der Summen der individuellen Datenaufkommen durch Produkte der maximalen Datenaufkommen mit der Anzahl der verursachenden Elemente: Anfang Dmax max( Anfang Db ) max( ) max( Anfang Dm ) K Ω K Ω K Ω De kmax Ende Dmax max( Ende Db ) max( ) max( Ende Dm ) K Ω K Ω K Ω Ds emax max Da emax vmax mit: k max : max( k ) Maximum aller k emax : max(e ) Maximum aller e max : max( ) größte Anzahl miteinander verwandten Tasks größte vmax : max(vi ) Anzahl benachbarter Knoten K Ω K Ω K Ω TiM Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 67 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Ein Beispiel: Eignungswerte, 2 Bit Hormontyp Suppressoren 8 Bit Knoten-Id 7 Bit Task-Id 7 Bit Wert 24 Bit (Eignungswert/Suppressor/Accelerator) (max. 256 Knoten) (max. 128 Tasks) (128 Hormonabstufungen) De = Ds = 24 Bit Acceleratoren 2 Bit Hormontyp 8 Bit Knoten-Id 7 Bit Task-Id 7 Bit Verwandte Task-Id vi-mal wiederholt 7 Bit Wert 17 + vi · 14 Bit Da = 17 + vmax · 14 Bit (schlimmster Fall: vi = vmax) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 68 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Werte für Knoten, Tasks, … = 64 (Anzahl PEs) max = 9 (Anzahl zu einem Knoten benachbarte Knoten) kmax = 32 (max. Anzahl von einem Knoten beworbener Tasks) emax = 2 (max. Anzahl von einem Knoten übernommene Tasks) vmax = 8 (max. Anzahl zu einer Task verwandte Tasks) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 69 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Mit diesen Werten ergibt sich: Anfang Ende Dmax 64 24 32 Bit 49152 Bit 6144 Bytes Dmax 64 24 2 9 2 (17 8 14) Bit 5394 Bit 674,25 Bytes Bei einer angenommenen Zykluszeit von 100msec (tSE + tES) ergibt sich daher ein Hormon-Datendurchsatz von: Anfang Ende DS max 10 6144 Bytes/sec 60 kBytes/sec DS max 10 674,25 Bytes/sec 6,58 kBytes/sec Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 70 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Eigenschaften des künstlichen Hormonsystems: + + + + + + algorithmisch einfaches Verfahren benötigt nur wenig Rechenleistung vollständig dezentrale Lösung rein lokale Entscheidungsverfahren selbstkonfigurierend, selbstoptimierend, selbstheilend definiertes Zeitverhalten - Datenaufkommen wächst mit der Anzahl Knoten - Broadcast wird benötigt (Multicast zu Nachbarn eher unkritisch) - Zykluszeit hängt von der maximalen Kommunikationszeit im Netz ab Mögliche Abhilfe bei größeren Netzen: Clusterbildung, Hierarchien Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 71 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen 6.4.6 Güte der Taskzuordnung Drei Teilbereiche der Güte: • Belastung der einzelnen Prozessorelemente • Berücksichtigung der Eignung eines Prozessorelements für eine Task • Kommunikationsdistanzen zwischen verwandten Tasks Gütemaß für eine Task Ti auf einem Knoten K QUi wS H SHi wEV EVi wCD CDi wS H wEV wCD Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 72 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen QUi Güte (Quality) von Ti auf K, Wertebereich [0 ... 1] SHi Anteil (Share) von K, der Ti zur Verfügung steht, Wertebereich [0 ... 1] EVi Eignung (EagerValue) von K, für Ti im Verhältnis zur bestmöglichen Eignung eines Knoten für Ti, Wertebereich [0 ... 1] CDi Kommunikationsdistanzmaß (Communication Distance) von Ti auf K zu den verwandten Tasks, Wertebereich [0 ... 1] wSH Gewicht (Weight) von SHi an der Güte wEV Gewicht (Weight) von EVi an der Güte wCD Gewicht (Weight) von CDi an der Güte Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 73 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Gütemaß für einen Knoten K QU i QU QU QUi E e TiE e Güte von K, Güte von Ti auf K Menge aller auf K ausgeführten Tasks Anzahl aller auf K ausgeführten Tasks Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 74 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Gütemaß für das gesamte System QU i QU QU QU QUi m K TiE m e QU K m Güte der gesamten Taskzuordnung Güte von K, Güte von Ti auf K Menge aller Knoten im System Anzahl aller Tasks im System Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 75 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Berechnung des Anteils SHi 1 SHi LDi TiE 1 sonst wenn LD 1 i T i E LDi : Auslastung von Knoten K durch Task Ti, E : Anzahl auf K ausgeführter Tasks SliM wenn SliM Ei LDi Ei 1 sonst SliM : Last-Suppressor für Ti auf K, Ei lokaler Eignungswert von K für Ti Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 76 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Berechnung des Anteils EVi EVi Ei max( Ei ) K Quotient des lokalen Eignungswertes Ei einer Task Ti auf Knoten K zu dem bestmöglichen Eignungswert dieser Task auf einem Knoten Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 77 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Berechnung des Anteils CDi Berechnung über die Kommunikationsdistanz: KDij = 1 + Anzahl Knoten zwischen Ti auf K und Tj auf dem zugehörigen Knoten Gewichtete Kommunikationsdistanz: KDij VGij, wenn KDij VGij 1 GKDij 1 sonst VGij Verwandtschaftsgrad von Ti und Tj, Wertebereich [0 .. 1] (je enger verwandt zwei Task sind, desto öfter kommunizieren sie miteinander) Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 78 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Berechnung des Anteils CDi CDi vi GKDij TjVi vi Vi GKDij Anzahl der zu Task Ti verwandten Tasks Menge zu Task Ti verwandten Tasks Gewichtete Kommunikationsdistanz zwischen Ti auf K und Tj Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 79 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Bestimmung einer Obergrenze für das Gütemaß: Wie weit ist die Taskzuteilung mittels künstlicher Hormone von einer optimalen Zuteilungsstrategie entfernt? Einfachste Obergrenze: QU 1 Müssen mehr Tasks zugeteilt werden als Prozessorkapazität verfügbar ist, so kann auch eine optimale Taskzuteilungsstrategie den Wert QU = 1 nicht mehr erreichen Dies geschieht genau dann, wenn die Summe der Belastung durch alle Tasks größer wird als die Anzahl der Knoten: LD i K TiE Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 80 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Beispiel: 14 Tasks => m = 14 Jede Task benötige 0,5 Knoten => LDi = 0,5 5 Knoten sind verfügbar => = 5 => LD 7 5 i K TiE Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 81 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Möglichst gleiche Verteilung der Last => minimale Prozessorbelastung Bei Gleichverteilung ergibt sich eine durchschnittliche Prozessorlast von LD i La K TiE Beispiel: LD i La K TiE 7 5 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 82 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Somit ergibt sich der Anteil eines Knotens, welcher einer Task zur Verfügung steht, zu: 1 wenn La 1 SHa La 1 sonst Beispiel: 5 SHa 7 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 83 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Setzen wir weiterhin die anderen Güteanteile EV und CD auf ihren Maximalwert von 1, so ergibt sich die Obergrenze der Gesamtgüte zu: QU max m( wS H SHa wEV EV wCD CD ) wS H wEV wCD m wS H SHa wEV wCD wS H wEV wCD Beispiel: 5 11 wS H SHa wEV wCD 19 7 QUmax 0,905 wS H wEV wCD 111 21 1 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 84 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Live-Demo Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 85