910 likes | 1.14k Views
Aktuelle Themen bei Eingebetteten Systemen – Organic Computing SS 2010 Prof. Dr. Uwe Brinkschulte. Teil 2 Selbstorganisation und Emergenz. 2. Selbstorganisation und Emergenz. 2.1 Definition und Grundlagen der Selbstorganisation 2.2 Adaptive und Selbstorganisierende Systeme
E N D
Aktuelle Themen bei Eingebetteten Systemen – Organic Computing SS 2010 Prof. Dr. Uwe Brinkschulte Teil 2 Selbstorganisation und Emergenz Organic Computing – Teil 2, Folie 1 - Prof. Dr. Uwe Brinkschulte
2. Selbstorganisation und Emergenz 2.1 Definition und Grundlagen der Selbstorganisation 2.2 Adaptive und Selbstorganisierende Systeme 2.3 Selbst-X Eigenschaften 2.4 Definition von Emergenz 2.5 Negative und positive Emergenz 2.6 Herausforderungen Organic Computing – Teil 2, Folie 2 - Prof. Dr. Uwe Brinkschulte
2.1 Definition und Grundlagen der Selbstorganisation Was ist Selbstorganisation? Einige Definitionen: "The ability of certain non-equilibrium systems to develop structures and patterns in the absence of external control or manipulation" www.geos.ed.ac.uk/homes/mnaylor/glossary.html Organic Computing – Teil 2, Folie 3 - Prof. Dr. Uwe Brinkschulte
2.1 Definition und Grundlagen der Selbstorganisation "A process of attraction and repulsion in which the internal organization of a system, normally an open system, increases in complexity without being guided or managed by an outside source" En.wikipedia.org/wiki/self-organisation "The essence of self-organization is that system structure often appears without explicit pressure or involvement from outside the system. …resulting from the interaction among the components…" http://www.calresco.org/sos/sosfaq.htm Organic Computing – Teil 2, Folie 4 - Prof. Dr. Uwe Brinkschulte
2.1 Definition und Grundlagen der Selbstorganisation Zusammengefasst: 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 Organic Computing – Teil 2, Folie 5 - Prof. Dr. Uwe Brinkschulte
2.1 Definition und Grundlagen der Selbstorganisation • 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, ...) Organic Computing – Teil 2, Folie 6 - Prof. Dr. Uwe Brinkschulte
2.1 Definition und Grundlagen der Selbstorganisation Beispiele: Vogelschwärme Ameisenkolonien Organic Computing – Teil 2, Folie 7 - Prof. Dr. Uwe Brinkschulte
2.1 Definition und Grundlagen der Selbstorganisation Beispiele: Fischmuster Galaxien Organic Computing – Teil 2, Folie 8 - Prof. Dr. Uwe Brinkschulte
2.1 Definition und Grundlagen der Selbstorganisation Beispiele: Internet Verkehrsstau Organic Computing – Teil 2, Folie 9 - Prof. Dr. Uwe Brinkschulte
2.1 Definition und Grundlagen der Selbstorganisation Beispiel: Ameisenstrassen Zwei Wege Unbekannte Entfernung Ameisen sehen schlecht Trotzdem finden sie den kürzeren Weg Wie? Nest Futterquelle Organic Computing – Teil 2, Folie 10 - Prof. Dr. Uwe Brinkschulte
2.1 Definition und Grundlagen der Selbstorganisation Beispiel: Ameisenstrassen Sie erforschenbeide Wege Sie benutzenPheromone zurMarkierung(Rückweg) Auf dem kürzerenWeg sammeln sichmehr Pheromone Ameisen folgen denstärkeren Pheromonen Immer mehrAmeisen nehmen den kürzeren Weg Die Pheromone auf demlängeren Weg verblassen Nest Futterquelle Organic Computing – Teil 2, Folie 11 - Prof. Dr. Uwe Brinkschulte
2.1 Definition und Grundlagen der Selbstorganisation Dies ist Selbstorganisation, da • eine einzelne Ameise niemals den kürzesten Weg finden würde • sie nur auf ihre sichere Rückkehr ins Nest bedacht ist (Pheromone) • sie hierzu einfachen lokalen Regeln folgt • sich nur in der Gruppe der Effekt des Findens kürzester Wege ergibt Organic Computing – Teil 2, Folie 12 - Prof. Dr. Uwe Brinkschulte
2.1 Definition und Grundlagen der Selbstorganisation Wann ist etwas selbstorganisiert? Das kann eine Frage des Betrachtungs-Standpunktes sein. Scheduling-Beispiel: In einem System sollen Aufträge nach ihrer Wichtigkeit (Priorität) geordnet werden => die Ordnung des Systems soll erhöht werden 2 8 1 5 3 1 2 3 5 8 Organic Computing – Teil 2, Folie 13 - Prof. Dr. Uwe Brinkschulte
1. Zentraler Scheduler außerhalb des Systems 2.1 Definition und Grundlagen der Selbstorganisation System System 1 2 3 5 8 2 8 1 5 3 Scheduler Scheduler Selbstorganisation? Nein! Organic Computing – Teil 2, Folie 14 - Prof. Dr. Uwe Brinkschulte
2. Zentraler Scheduler innerhalb des Systems 2.1 Definition und Grundlagen der Selbstorganisation System System 1 2 3 5 8 2 8 1 5 3 Scheduler Scheduler Selbstorganisation? Vielleicht? Organic Computing – Teil 2, Folie 15 - Prof. Dr. Uwe Brinkschulte
3. Dezentrales Scheduling durch Kommunikation der Aufträge untereinander 2.1 Definition und Grundlagen der Selbstorganisation System System 1 2 3 5 8 2 8 1 5 3 Selbstorganisation? Ja! => wir brauchen eine präzisere Definition! Organic Computing – Teil 2, Folie 16 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Definition eines Systems1) • Ein System erzeugt eine Ausgabe aus gegenwärtigen und vergangenen Eingaben. • Das Verhalten des Systems, welche diese Ausgabe aus den Eingaben erzeugt, kann sich hierbei über die Zeit ändern 1) Die folgenden Definitionen lehnen sich an Gero Mühl (On the Definitions of Self-Managing and Self- Organizing Systems, SAKS 2007) und Hartmut Schmeck (Tutorial on Organic Computing, SASO 2009) an Organic Computing – Teil 2, Folie 17 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Formal: • Ein System ist gekennzeichnet durch ein Tripel bestehend aus der Eingabe I, der Ausgabe O und dem Verhalten B B I x O I B O o(t) = b(t, i(0 ... t)) mit b B,o O und i I Organic Computing – Teil 2, Folie 18 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Beispiel: System „Wegsteuerung“ eines autonomen Fahrzeugs berechnet aus den Eingabedaten von Kameras (Sensoren) Ausgabedaten an Motoren (Aktoren), um einen bestimmten Weg zu fahren Kamera-daten Weg-steuerung Motordaten Organic Computing – Teil 2, Folie 19 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Definition eines adaptiven Systems • Ein adaptives System ist ein System, bei dem das Ein- /Ausgabeverhalten variablen Erwartungen entspricht • Das heißt, ein adaptives System passt sich an geänderte Erwartungen an Formal: b(t) E(t) mit Erwartung E(t) I x O Organic Computing – Teil 2, Folie 20 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Beispiel: Eine Erwartung an die Wegsteuerung des vorigen Beispiels ist die Präzision. Diese kann sich bei einem adaptiven System mit der Zeit ändern, z.B. bei Einfahrt in schwieriges Gelände t < t1: Präzision = 20 cm t t1: Präzision = 5 cm Organic Computing – Teil 2, Folie 21 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Bei adaptiven Systemen ist es durchaus möglich, dass das Ein-/Ausgabeverhalten auch erst verzögert wieder den Erwartungen entspricht. Das heißt, es kann eine Zeitspanne geben, in der das Verhalten nicht den Erwartungen entspricht: b(t) E(t) b(t) E(t) b(t) E(t) t t1 t2 E(t) ändert sich Organic Computing – Teil 2, Folie 22 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Es stellt sich nun die Frage, woher das adaptive System von den geänderten Erwartungen erfährt? Offensichtlichste Methode: die Erwartungen sind Teil der Eingabe Organic Computing – Teil 2, Folie 23 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Definition eines managbaren Systems • Ein managbares System ist ein adaptives System, bei dem das Systemverhalten über die Eingabe gezielt geändert werden kann • Man unterscheidet nun zwischen regulärer Eingabe, welche Eingabe des Systemverhaltens ist und Steuerungseingabe, welche das Systemverhalten verändert Organic Computing – Teil 2, Folie 24 - Prof. Dr. Uwe Brinkschulte
Formal: • Ein managbares System ist gekennzeichnet durch ein Tripel bestehend aus der Eingabe I, der Ausgabe O und dem Verhalten B, wobei sich die Eingabe I unterteilt in die reguläre EingabeR und die Steuerungseingabe C 2.2 Adaptive und selbst- organisierende Systeme I = R C R B O I C o(t) = b(t, i(0 ... t)) mit b B,o O und i I Organic Computing – Teil 2, Folie 25 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Beispiel: Die gewünschte Präzision wird der Wegsteuerung durch eine Steuerungsvariable mitgeteilt Kamera-daten Weg-steuerung Motordaten Präzision Organic Computing – Teil 2, Folie 26 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Es stellt sich als nächstes die Frage, wie die Steuerungs-eingaben erzeugt werden? Diese können durch externes Wissen (z.B. durch den Menschen) erzeugt oder aber auch aus den regulären zur Verfügung stehenden Eingaben sowie den Ausgaben abgeleitet werden. Organic Computing – Teil 2, Folie 27 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Definition eines Selbstmanagbaren Systems • Ein selbstmanagbares System ist ein managbares System, bei dem die Steuereingaben allein aus gegenwärtigen oder vergangenen regulären Eingaben abgeleitet werden können Formal: c(t) = F(r(0 ... t), o(0 … t)) mit F: Controller-Funktion Organic Computing – Teil 2, Folie 28 - Prof. Dr. Uwe Brinkschulte
Beispiel: Die gewünschte Präzision kann aus gegenwärtigen und vergangenen Kameraeingaben sowie Motordaten selbst ermittelt werden, d.h. schwieriges Gelände wird auf Grund von Kamera- und Motordaten erkannt. 2.2 Adaptive und selbst- organisierende Systeme Kamera-daten Weg-steuerung Motordaten Präzisionserkennung Präzision Organic Computing – Teil 2, Folie 29 - Prof. Dr. Uwe Brinkschulte
Definition eines Selbstgemanagten Systems • Ein selbstgemanagtes System ist ein selbstmanagbares System, bei dem die Controller-Funktion inhärenter Bestandteil des Systems ist. Formal: 2.2 Adaptive und selbst- organisierende Systeme B‘ C = 0 F C B‘ O R R B O O R Organic Computing – Teil 2, Folie 30 - Prof. Dr. Uwe Brinkschulte
Beispiel: Präzisionserkennung ist Bestandteil der Wegsteuerung. 2.2 Adaptive und selbst- organisierende Systeme Präzisionserkennung Kamera-daten Weg-steuerung Motordaten Organic Computing – Teil 2, Folie 31 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Bisher: Blackbox Ansatz Zur Definition von Selbstorganisation müssen wir jedoch in das System hineinschauen: Selbstorganisation bedeutet, dass sich auch die Struktur des Systems sich den Erwartungen anpasst Organic Computing – Teil 2, Folie 32 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Definition eines Selbstorganisierenden Systems1) • Ein selbstorganisierendes System ist ein selbstmanagendes System, dessen Struktur sich den Erwartungen anpasst. • Die Steuerung von Selbstmanagement und Strukturanpassung ist hierbei dezentral. 1) Nach Gero Mühl (On the Definitions of Self-Managing and Self-Organizing Systems, SAKS 2007) Organic Computing – Teil 2, Folie 33 - Prof. Dr. Uwe Brinkschulte
Beispiel: Die Softwarekomponenten der Wegsteuerung und Präzisions-erkennung verteilen sich selbstständig und dezentral auf die zur Verfügung stehenden Prozessoren 2.2 Adaptive und selbst- organisierende Systeme Präzisionserkennung Kamera-daten Weg-steuerung Motordaten Prozessor 1 Prozessor n . . . Organic Computing – Teil 2, Folie 34 - Prof. Dr. Uwe Brinkschulte
Hierarchie von adaptiven bis selbstorganisierenden Systemen: 2.2 Adaptive und selbst- organisierende Systeme Selbstorganisierende Systeme Selbstgemanagte Systeme Selbstmanagbare Systeme Managbare Systeme Adaptive Systeme Organic Computing – Teil 2, Folie 35 - Prof. Dr. Uwe Brinkschulte
2.2 Adaptive und selbst- organisierende Systeme Kann man Selbstorganisation quantifizieren? Kann man einen Grad der Selbstorganisation definieren? z.B. zu 100% selbstorganisiert zu 50% selbstorganisiert zu 10% selbstorganisiert zu 0% selbstorganisiert Organic Computing – Teil 2, Folie 36 - Prof. Dr. Uwe Brinkschulte
Definition des Grades der Selbstorganisation/Selbstmanagements1) 2.2 Adaptive und selbst- organisierende Systeme B‘ F Ce Ci B O O R R Erweiterung des selbstgemanagten, selbstorganisierenden Systems: externe (Ce) und interne (Ci) Steuerungseingaben 1) Angelehnt an Hartmut Schmeck (Tutorial on Organic Computing, SASO 2009) Organic Computing – Teil 2, Folie 37 - Prof. Dr. Uwe Brinkschulte
Es sei nun: Vi: interne Variabilität des Systems, also die Anzahl Bits der internen Steuerungseingabe Ci(= ld(Anzahl interner Systemzustände)) Ve : externe Variabilität des Systems, also die Anzahl Bits der externen Steuerungseingabe Ce(= ld(Anzahl externer Systemzustände)) mit Vi≥ Ve gilt R: Reduktion der Komplexität, R = Vi - Ve 2.2 Adaptive und selbst- organisierende Systeme Organic Computing – Teil 2, Folie 38 - Prof. Dr. Uwe Brinkschulte
Damit lässt sich für statische Systeme (konstante Variabilität) der Grad der Selbstorganisation bzw. des Selbstmanagements definieren: S: Grad von SO/SM, S = (Vi - Ve) / Vi = R / Vi Beispiel: Vi = 12 Bit, Ve = 5 Bit => S = (12 - 5) / 12 = 0.58 = 58% 2.2 Adaptive und selbst- organisierende Systeme Organic Computing – Teil 2, Folie 39 - Prof. Dr. Uwe Brinkschulte
Dies lässt sich auch auf dynamische Systeme (veränderliche Variabilität) erweitern. Es sei: vi(t): interne Variabilität zum Zeitpunkt t ve(t): externe Variabilität zum Zeitpunkt t Beispiel: 2.2 Adaptive und selbst- organisierende Systeme vi t ve t Organic Computing – Teil 2, Folie 40 - Prof. Dr. Uwe Brinkschulte
Die Reduktion der Komplexität über einen Zeitraum t1 … t2 definiert sich zu: 2.2 Adaptive und selbst- organisierende Systeme vi /ve t Der Grad von SO/SM über einen Zeitraum t1 … t2 definiert sich zu: t1 t2 Organic Computing – Teil 2, Folie 41 - Prof. Dr. Uwe Brinkschulte
Für zeitdiskrete Systeme mit einer Abtastperiode t ergibt sich die Reduktion der Komplexität in einem Zeitraum n1t ... n2t : 2.2 Adaptive und selbst- organisierende Systeme Der Grad von SO/SMdefiniert sich zu: Organic Computing – Teil 2, Folie 42 - Prof. Dr. Uwe Brinkschulte
Wichtige Selbst-X Eigenschaften für Organic Computing 1. Selbstkonfiguration • Beschreibt die Eigenschaft eines Systems, selbsttätig eine initiale, funktionsfähige Konfiguration zu finden. • Diese muss nicht optimal sein, aber einen ordnungsgemäßen Betrieb ermöglichen • Selbstkonfiguration kann zentral durch einen im System enthaltenen Konfigurationsmanager oder dezentral durch Interaktion der Systemkomponenten erfolgen (vgl. vorige Betrachtung zur Selbstorganisation 2.3 Selbst-X Eigenschaften Organic Computing – Teil 2, Folie 43 - Prof. Dr. Uwe Brinkschulte
Beispiel: initiale Taskzuordnung in einem verteilten System 2.3 Selbst-X Eigenschaften . . . Task 1 Task 2 Task 3 Task 4 Task m Prozessor 1 Prozessor 2 Prozessor n . . . Organic Computing – Teil 2, Folie 44 - Prof. Dr. Uwe Brinkschulte
Taskzuordnung erfolgt z.B. nach: • Verfügbarkeit von Ressourcen (Schnittstellen, Geräten, …) • Eignung der Prozessoren (Taktrate, Speicher, …) • Auslastung der Prozessoren (Taskanzahl, …) • … 2.3 Selbst-X Eigenschaften Prozessor 1 Prozessor 2 Prozessor n . . . Task 4 Task 2 Task m Task 3 Task 1 Organic Computing – Teil 2, Folie 45 - Prof. Dr. Uwe Brinkschulte
2. Selbstoptimierung • Beschreibt die Eigenschaft eines Systems, selbsttätig eine bessere Konfiguration als die gegenwärtige zu finden. • Dies kann entweder dazu dienen, bestimmte Systemparameter zu verbessern (z.B. Performanz, Energieverbrauch, …) oder einem drohenden Defekt zuvor zukommen (z.B. Hotspots) • Selbstkonfiguration kann zentral oder dezentral erfolgen 2.3 Selbst-X Eigenschaften Organic Computing – Teil 2, Folie 46 - Prof. Dr. Uwe Brinkschulte
2.3 Selbst-X Eigenschaften Beispiel: Optimierung der Taskzuordnung in einem verteilten System Entlastung von Prozessor 2 zur Vermeidung eines Hotspots Prozessor 1 Prozessor 2 Prozessor n . . . Task 4 Task 2 Task m Task 3 Task 1 Organic Computing – Teil 2, Folie 47 - Prof. Dr. Uwe Brinkschulte
Taskverschiebung erfolgt z.B. nach: • Performanz • Energievorrat • Temperatur • … 2.3 Selbst-X Eigenschaften Prozessor 1 Prozessor 2 Prozessor n . . . Task m Task 4 Task 2 Task 3 Task 1 Organic Computing – Teil 2, Folie 48 - Prof. Dr. Uwe Brinkschulte
3. Selbstheilung • Beschreibt die Eigenschaft eines Systems, selbsttätig Defekte auszugleichen und wieder eine ablauffähige Konfiguration herzustellen. • Defekte können in der Hardware oder Software auftreten. • Selbstheilung kann zentral oder dezentral erfolgen, allerdings birgt die zentrale Variante das Risiko eines Single-Point-of- Failure • Bei Ausfall eines zentralen Selbstheilungsmanagers verliert das System die Fähigkeit zur Selbstheilung => redundante Ausfallmanager oder dezentrale Lösung 2.3 Selbst-X Eigenschaften Organic Computing – Teil 2, Folie 49 - Prof. Dr. Uwe Brinkschulte
Beispiel: Selbstheilung durch neue Taskzuordnung bei Ausfall eines Prozessors 2.3 Selbst-X Eigenschaften Prozessor 1 Prozessor 2 Prozessor n . . . Task m Task 4 Task 2 Task 3 Task 1 Organic Computing – Teil 2, Folie 50 - Prof. Dr. Uwe Brinkschulte