Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte...

21
Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware: in verschiedenen Kontexten gebrauchter Begriff, meist jedoch als Plattform zur Vereinfachung der Entwicklung verteilter Systeme Eine Middleware kann als Systemplattform für die Entwicklung lokaler und verteilter Anwendungen dienen. Beispiele für Middleware: CORBA, DCOM, RMI, JMS, OSA+, ... 3.5 Organic Computing und Middleware

Transcript of Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte...

Page 1: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte

Middleware: in verschiedenen Kontexten gebrauchter Begriff,

meist jedoch als Plattform zur Vereinfachung der

Entwicklung verteilter Systeme

Eine Middleware kann als Systemplattform für die Entwicklung lokaler und verteilter Anwendungen dienen.Beispiele für Middleware:CORBA, DCOM, RMI, JMS, OSA+, ...

3.5 Organic Computing undMiddleware

Page 2: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 2 - Prof. Dr. Uwe Brinkschulte

Präzisierung der Aufgaben im verteilten System::

• Verteiltes System ohne Middleware

Rechner

Betriebssystem

Kommunikation

VerteilteAnwendung

Rechner

Betriebssystem

Kommunikation

VerteilteAnwendung

Verteilungs-steuerung

Verteilungs-steuerung

Eigene Software zur Identifikation Lokalisierung Interaktion Fehlerbehandlung

der verteilten Objekte

3.5 Organic Computing undMiddleware

Page 3: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 3 - Prof. Dr. Uwe Brinkschulte

• Verteiltes System mit Middleware

Rechner

Betriebssystem

Kommunikation

VerteilteAnwendung

Rechner

Betriebssystem

Kommunikation

VerteilteAnwendung

Middleware

Standardisierte Middleware

Mittler zwischen verteiltenObjekten

Verbirgt die Verteilung Übernimmt die Aufgaben

der Identifikation,Lokalisierung, Interaktionund Fehlerbehandlung

3.5 Organic Computing undMiddleware

Page 4: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 4 - Prof. Dr. Uwe Brinkschulte

Typen von Middleware:Botschaftsorientiert (Message Oriented): einfachste Form, es werden lediglich Botschaften zwischen lokalen und entfernten Objekten ausgetauscht, Inhalt der Botschaften ist für die Middleware nicht von Interesse Middleware übernimmt im wesentlichen Identifikation und Lokalisierung der verteilten Objekte Beispiel. JMS

3.5 Organic Computing undMiddleware

Objekt Objekt

Rechner Rechner

Botschaft

Page 5: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 5 - Prof. Dr. Uwe Brinkschulte

Objektorientiert (Object Oriented): die Middleware erlaubt es, Methoden von lokalen und

entfernten Objekten auf gleiche Weise aufzurufen (Remote Method Invokation) Middleware übernimmt im Identifikation und Lokalisierung der verteilten Objekte und verwaltet die Methodenaufrufe Beispiel. Corba, RMI

3.5 Organic Computing undMiddleware

Objekt Objekt

Rechner Rechner

Methodenaufruf Übergabeparameter

Rückgabeparameter

Page 6: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 6 - Prof. Dr. Uwe Brinkschulte

Dienstorientiert (Service Oriented): die Middleware verwaltet Dienste (die i.A. aus mehreren Objekten bestehen). An die Dienste können Aufträge erteilt werden Middleware übernimmt im Identifikation und Lokalisierung der verteilten Dienste und verwaltet die Ausführung von Aufträgen (inkl. zusätzlicher Eigenschaften wie z.B. Priorität) Beispiel. OSA+

3.5 Organic Computing undMiddleware

Objekt Objekt

Rechner Rechner

AuftragAuftragsdaten

Ergebnisse

Page 7: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 7 - Prof. Dr. Uwe Brinkschulte

Vorteile durch den Einsatz von Middleware:•die Anwendung muss sich nicht um die Verteilung kümmern

•verteilte und lokale Anwendungen können auf gleiche Weise entwickelt werden

•bei einer Änderung der Verteilung bzw. einer Rekonfiguration muss die Anwendung nicht geändert werden

•alle für die Verteilung notwendigen Aufgaben werden von einer einheitlichen, standardisierten Software übernommen

3.5 Organic Computing undMiddleware

Page 8: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 8 - Prof. Dr. Uwe Brinkschulte

Vorteile durch den Einsatz von Middleware (fortg.):•die Portierbarkeit der Anwendung wächst

•eine heterogene Umgebung bleibt weitestgehend verborgen

•die Testbarkeit und Wartbarkeit der Anwendung wird verbessert

die Entwicklungszeiten und -kosten werden reduziert

3.5 Organic Computing undMiddleware

Page 9: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 9 - Prof. Dr. Uwe Brinkschulte

Nachteile durch den Einsatz von Middleware:

•zusätzlicher Speicher-Overhead

•zusätzlicher Verarbeitungs-Overhead

•‚Standard‘-Middleware-Architekturen sind für Echtzeitanwendungen nicht geeignet

•Die Kombinatíon einer Standard-Middleware mit einem Echtzeit-Betriebssystem ergibt kein echtzeitfähiges System

3.5 Organic Computing undMiddleware

Page 10: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 10 - Prof. Dr. Uwe Brinkschulte

Beispiel: Prioritäten-Inversion durch Unterbrechung der Prioritätenkette

Echtzeitbetriebs-system

Task APriorität: nieder

Standard - Middleware

Daten Task A

Task BPriorität: hoch

3.5 Organic Computing undMiddleware

Page 11: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 11 - Prof. Dr. Uwe Brinkschulte

Beispiel: Prioritäten-Inversion durch Unterbrechung der Prioritätenkette

Echtzeitbetriebs-system

Task APriorität: nieder

Standard - Middleware

Daten Task ADaten Task B

Task BPriorität: hoch

Die hochprioren Daten vonTask B werden durch dieniederprioren Daten von

Task A blockiert=> Prioritäten-Inversion

3.5 Organic Computing undMiddleware

Page 12: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 12 - Prof. Dr. Uwe Brinkschulte

• Wahrung der End-zu-End-Prioritäten • Definition von Zeitbedingungen bzw.

Zeitschranken • Echtzeitfähige Funktionsaufrufe • Echtzeitfähige Ereignisbehandlung • Unterstützung des Echtzeitschedulings

Anforderungen an eine Middleware für Echtzeitsysteme

3.5 Organic Computing undMiddleware

Page 13: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 13 - Prof. Dr. Uwe Brinkschulte

Wie kann Middleware bei Organic Computing helfen?

Sie kann verteilten Systemen Selbst-X Eigenschaften verleihen

Dienst A

Rechen-Ressource

1

Dienst B

Dienst C

Rechen-Ressource

2. . .

Middleware

Dienst D

Selbst-Konfiguration

Selbst-Optimierung

Selbst-Heilung

Selbst-Schutz… …

Zuordnung Dienste an RessourcenZuordnung Aufträge an Dienste

Auftrag

Vergabe von Prioritäten, GP-Werten, Bandbreiten, Taktfrequenzen, ...

Optimierung von Dienst- und Auftragszuordnung

Optimierung Prioritäten, GP-Werten, Bandbreiten, Taktfrequenzen, ...

Dienstverlagerung bei Ressourecanausfall

Aufspüren fremder Dienste und Aufträge, z.B. durch

Computerimmunologie

3.5 Organic Computing undMiddleware

Page 14: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 14 - Prof. Dr. Uwe Brinkschulte

Organic Management bei einer dienstorientierten Middleware

Auftrag

Dienst

Ressource

bestimmt, welcher Auftrag von welchem Dienst ausgeführt wird

bestimmt, welcher Dienst auf welcher Ressource abläuft

3.5 Organic Computing undMiddleware

Page 15: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 15 - Prof. Dr. Uwe Brinkschulte

Freiheitsgrade Dienst/Ressourcen-ZuordnungDie Anwendung bestimmt, welche Ressourcen oder Ressourcenklassen für einen Dienst in Frage kommenDas Organic Management wählt hieraus die aktuelle Ressource aus

Ressource 1

Ressource 2

Ressource 3

Ressource 3

. . .

Middleware, Organic Management

Dienst A

Dienst B

3.5 Organic Computing undMiddleware

Page 16: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 16 - Prof. Dr. Uwe Brinkschulte

Freiheitsgrade Auftrags/DienstzuordnungDie Anwendung bestimmt eine Menge von Diensten, die für einen Auftrag in Frage kommenDas Organic Management wählt hieraus den aktuellen Dienst aus

Auftraggeber

Dienst A Dienst C

Dienst B

Auftrag

Middleware, Organic Management

3.5 Organic Computing undMiddleware

Page 17: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 17 - Prof. Dr. Uwe Brinkschulte

Die Anwendung gibt somit den Spielraum für das Organic Management vor

=>der Entwickler gibt Randbedingungen vor, das Organic Management erledigt die Details (Selbst-X)

Vorgaben der Anwendung zur Ortsauswahl von Diensten

Vorgaben der Anwendung zur Dienstauswahl von Aufträgen

mögliche Ressourcen

mögliche Dienste

3.5 Organic Computing undMiddleware

Page 18: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 18 - Prof. Dr. Uwe Brinkschulte

Das Organic Management beobachtet den Zustand (z.B. Energievorrat, Temperatur, Auslastung, etc.) des Systems (Anwendung, Middleware, Rechenressourcen, etc.) und der Umgebung und trifft im Rahmen seines Spielraums dann EntscheidungenMögliche Techniken:Observer/Controller LCS und genetische AlgorithmenMAPEAgenten, AuktionenKünstliche Hormonsysteme

3.5 Organic Computing undMiddleware

Page 19: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 19 - Prof. Dr. Uwe Brinkschulte

Für die Verteilung des Organic Management auf die Rechenressourcen gibt es folgende Möglichkeiten:• zentral Es gibt einen Organic Manager, der auf genau einer Rechenressource läuft + einfachste Lösung - Single Point of Failure• zentral mit Redundanzen wie zentral, jedoch gibt es weitere Organic Manager in Wartestellung, die im Fehlerfall eintreten + kein Single Point of Failure - Synchronisation der redundanten Manager

3.5 Organic Computing undMiddleware

Page 20: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 20 - Prof. Dr. Uwe Brinkschulte

• teilweise dezentral Das Organic Management entsteht durch Kooperation von Instanzen auf mehreren (aber nicht allen) Rechenressourcen + kein Single Point of Failure + keine Synchronisation im Fehlerfall - Koordination unterschiedlicher Typen von Knoten

• vollständig dezentral Das Organic Management entsteht durch Kooperation von Instanzen auf mehreren (aber nicht allen) Rechenressourcen + kein Single Point of Failure + keine Synchronisation im Fehlerfall + einheitliche Knoten - erhöhter Kommunikationsaufwand

3.5 Organic Computing undMiddleware

Page 21: Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 1 - Prof. Dr. Uwe Brinkschulte Middleware:in verschiedenen Kontexten gebrauchter Begriff,

Hier wird Wissen Wirklichkeit Organic Computing – Teil 3c, Folie 21 - Prof. Dr. Uwe Brinkschulte

Beispiele:

AMUN bzw. OC Middleware, Universität Augsburg dienstorientiert, vollst. dezentral, benutzt MAPE Zyklus und künstliche HormoneCARISMA Middleware, Universität Frankfurt dienstorientiert, vollst. dezentral, benutzt Agenten und AuktionenAHS Middleware, Universität Frankfurt dienstorientiert, vollst. dezentral, basiert vollständig auf einem künstlichen Hormonsystem

3.5 Organic Computing undMiddleware