1 / 85

6. Organic Computing

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

anitra
Télécharger la présentation

6. Organic Computing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 6.1 Grundlagen des Organic Computing • In sich selbst organisierenden Systemen kann oft emergentes Verhaltenbeobachtet 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, ...)

  6. 6.1 Grundlagen des Organic Computing Verbreiteter technischer Ansatz: Observer/Controller Struktur • Rückführung (Verwandtschaft zur Regelungstechnik) • Kontrolle emergenten Verhaltens Controller Observer System

  7. 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-Aktor-Netzwerke http://www.grk1194.uni-karlsruhe.de/home.php • DFG Schwerpunktprogramm 1183 Organic Computing http://www.organic-computing.de/SPP

  8. 6.1 Grundlagen des Organic Computing • DFG Schwerpunktprogramm 1183 “Organic Computing” Quelle: DFG Forschungsschwerpunkt 1183

  9. 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

  10. 6.2 Organic Computing und Systems on Chip 6.2.1 Autonomic Systems on Chip (ASoC) • Problem: hohe Integrationsdichten verursachen zunehmend transiente Fehler während des Betriebs • Idee: 2 Ebenen • Funktionale Ebene: Eigentliche Chip-Funktionalität • Autonomic Ebene: Überwachung der funktionalen Ebene (Univ. München, Tübingen, FZI Karlsruhe)

  11. 6.2 Organic Computing und Systems on Chip Entwurfsprozess: • Abbildung der Anwendungs- anforderungen auf die Architektur-Charakteristiken • Auswahl der funktionalen Elemente • Auswahl dazu passender Autonomic Elemente • Parametrierung der Elemente • Ableitung eines Modells zur Systemevaluation • Fortlaufende Verfeinerung

  12. 6.2 Organic Computing und Systems on Chip 6.2.2 Connective Autonomic Real-time Systems on Chip (CARSoC) • vernetzte Systems on Chip • Mehrfädiger Prozessor- kern (SMT) • Echtzeit- scheduling • lokale und globale Regel- kreise für Organic Management • dezentrale Regelkreise (Univ. Augsburg, Karlsruhe, Frankfurt)

  13. 6.2 Organic Computing und Systems on Chip CARSoC Hardware

  14. 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, z.B. durch Computerimmunologie Optimierung von Dienst- und Auftragszuordnung Optimierung Prioritäten, GP-Werten, Bandbreiten, Taktfrequenzen, ... Dienstverlagerung bei Ressourecanausfall Vergabe von Prioritäten, GP-Werten, Bandbreiten, Taktfrequenzen, ... • Selbst-Konfiguration • Selbst-Optimierung • Selbst-Heilung • Selbst-Schutz Zuordnung Dienste an Ressourcen Zuordnung Aufträge an Dienste Dienst A Dienst C Dienst B Dienst D … … Auftrag Middleware Rechen-Ressource1 Rechen-Ressource2 . . .

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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 Anzahlvon Ausführungspfaden. Beispiel:

  20. 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

  21. 6.3 Organic Computing und Middleware Die Anwendung gibt somit den Spielraum für den Organic Manager vor 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)

  22. 6.3 Organic Computing und Middleware Zuordnung der Ausführungspfade an Ressourcen über einen Entscheidungsbaum AP1 AP1 AP1 R1 R2 kn11 kn12 kn13 R3 AP2 AP2 AP2 R1 R2 R1 kn23 kn21 kn22 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

  23. 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

  24. 6.3 Organic Computing und Middleware Erweiterungsmöglichkeit : Vorhersage des Zustandes von Ressourcen nach virtueller Ausführung eines Ausführungspfades Vorhersage Virtueller Zustand Anfangszustand R 1 R 2 R 3 R 1 R 2 R 3

  25. 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 • rold, rnew: Alter und neuer Zustandsverktor einer Ressource

  26. 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

  27. 6.3 Organic Computing und Middleware Res. n Res. 2 A A Res. 3 Res.1 Koord. A A Phase 1: Ausschreibung einer Ausführungspfades (Aufgabenbeschreibung und Parameter)

  28. 6.3 Organic Computing und Middleware Res. n Res. 2 B2 Bn Res. 3 Res. 1 B3 Koord. B1 Phase 2: Eingang der Gebote

  29. 6.3 Organic Computing und Middleware Res. n Res. 2 Res. 3 Res. 1 Koord. K Phase 3: Zuschlag an eine (oder mehrere) Ressourcen (Kontrakt)

  30. 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)

  31. Environment / Task ← Learning/ Adaptation ↓ Algo-rithm ↓ Brain Level Mod. 1 Mod. 2 Environment/ Task Organ Level ControlLoop OrganicManager ControlLoop PC PC PC PC Cell Level PC PC PC Processing Cells 6.3 Organic Computing und Middleware 6.3.2 DodOrg - Digital On Demand Computing Organismvon der Biologie zu einem Organic Computing System Body / Emotions ParasympatheticNervous System SympatheticNervousSystem Sinus Node AtrioventricularNode Low Power – Fail Safe – Real Time MyocardialCell

  32. 6.3 Organic Computing und Middleware DodOrg-Komponenten • Anwendung • Middleware • Monitoring • Power Management • Prozessorzellen

  33. 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

  34. 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

  35. 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Zwei Wirkmechanismen: • Direkte Wirkung von Hormonen auf eine Zelle ohne weitere Rück- oder Wechselwirkung (Steuerung) • Verknüpfung und Wechselwirkung mehrere Hormongruppen untereinander, z.B. um eine negative Rückkopplung zu erreichen (Regelung) Endokrines Gewebe - - - + - + Endokrines Gewebe - + + + Zelle Zelle Zelle Zelle Zelle direkte Wirkung indirekte Wechselwirkung Wechselwirkung

  36. 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

  37. 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

  38. 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

  39. 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Prinzip der geschlossenen Rückführung, Gegenspieler

  40. 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 wird durch Addition bzw. Subtraktion der für Task Ti auf K empfangenen Acceleratoren und Suppressoren vom lokalen Eignungswert berechnet. Wird an Task Tiauf allen Knoten gesendet.

  41. 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Suppressoren: Übernahme-Suppressor wird an Task Tiauf allen Knoten ausgesandt, wenn KTask Ti übernommen hat => bestimmt somit, wie oft Task Ti im System übernommen wird Last-Suppressor 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 wird vom lokalen Monitoring lokal an einen Knoten gesendet und wirkt dort auf alle Tasks => kennzeichnet den allgemeine Zustand eines Knoten bei der Taskvergabe.

  42. 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Acceleratoren: Organ-Accelerator 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 Angebots-Accelerator 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 wird vom lokalen Monitoring lokal an einen Knoten gesendet und wirkt dort auf alle Tasks => Gegenspieler zum Monitor-Suppressor

  43. 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 Selbst-Optimierung gleicht das Verfahren automatisch die Auswirkungen von ausgefallenen Aufgaben bzw. Knoten durch Umverteilung an.

  44. 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen Live-Demo

  45. 6.4 Ein künstliches Hormonssystem zur Taskzuordnung in verteilten eingebetteten Systemen 6.4.4 Dynamik des Hormonsystems Hormonzyklus: 3 Fälle: • 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

  46. 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 Kriterium für sichere Entscheidung im Hormonzyklus Bedingung hierfür: tSE ≥ tES + 2 tK

  47. 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

  48. 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:

  49. 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: m2Zyklen bis zur Übernahme aller Aufgaben

  50. 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

More Related