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