T i - Eingebettete Systeme - Goethe

Werbung
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
AoiViΦ
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 )
TiM
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
TiE
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
TiE
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
TiE
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 Ω
TiM
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
TiE
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  TiE
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
TiE


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:
KDij = 1 + Anzahl Knoten zwischen Ti auf K und Tj auf dem zugehörigen Knoten
Gewichtete Kommunikationsdistanz:
 KDij  VGij, wenn KDij  VGij  1
GKDij  
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
 GKDij
TjVi
vi
Vi
GKDij
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  TiE
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  TiE
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  TiE

Beispiel:
  LD 
i
La 
K  TiE


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
11
wS H  SHa  wEV  wCD
19
7
QUmax 


 0,905
wS H  wEV  wCD
111
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
Herunterladen