Upload
baerbel-driessen
View
107
Download
0
Embed Size (px)
Citation preview
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolution in verteilten Systemen
Der Evolutionäre Trader
Markus Völter, MATHEMA AG [email protected]
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Überblick
Evolution in der Biologie, Prinzipien Beispiel: Biston Betularia
Softwaresysteme und Evolution Abgrenzung zu genetischen Algorithmen
Service Evolution Der evolutionäre Trader Anwendungsbeispiele Erweiterungsmöglichkeiten
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolution in der Biologiemit Unterstützung von
Jens Tränkle
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolution in der Biologie
Evolution ist der Motor der Entwicklung Sämtliche biologische Entwicklung
beruht auf Evolution Offensichtlich funktioniert das!
PrinzipienMutation FitnessSelektion (Separation, gen. Isolation)
Randbedingungen Population (Genpool)Umwelt
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Prinzipien: Mutation
Ein Lebewesen ändert sich „zufällig“ in seiner Genstruktur
Es ist unklar, ob diese Änderung...sich durchsetzt...von Vorteil ist, oder von Nachteil...oder überhaupt keinen Einfluss hat
Hängt ab von Fitness/Umwelt
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Randbedingung: Umwelt
Eine Spezies befindet sich in einer bestimmten Umwelt
Diese Umwelt ändert sich möglicherweise im Laufe der Zeit
Umwelt erzeugt den Selektionsdruck
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Prinzipien: Fitness
Fitness definiert die Eignung eines Lebewesens, mit der gegebenen Umwelt zurecht zu kommen.
Sie kann explizit festgelegt werden: In Relation zum idealen Phänotyp
Man erkennt die Fitness an der Überlebensquote (bzw. der Fortpflanzungswahrscheinlichkeit bzgl. Des Genpools)
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Prinzipien: Population
Eine Menge „gleicher“ Lebewesen, deren interne genetische Struktur aber leicht unterschiedlich ist.
Änderungen treten auf entwederan einem Individuum (üblicherweise Krankheit)bei Fortpflanzung
wichtige (und dauerhafte) Änderungen treten durch die Genfrequenz auf, d.h. eine Population entwickelt sich im Laufe von Generationen
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Prinzipien: Selektion
Basierend auf der Fitness überleben Lebewesen mit einer bestimmten Genstruktur (Genotyp) eher, als andere.
Für das Überleben ist der Phänotyp verantworlich, d.h. die nach aussen sichtbaren Konsequenzen den Genotyps.
Fittere bringen ihre Gene mit höherer Frequenz in die nächste Generation ein
Selektion sorgt also dafür, dass die für eine bestimmte Umwelt besser geeigneten Lebewesen „bevorzugt“ werden, und die anderen verdrängt werden und letztlich aussterben.
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Beispiel: Biston Betularia (Englische Motte)
Zwei verschiedene Arten: Dunkel und HellDunkel/Hell abh. von einem Gen1848: <2% dunkel
1898: 95% aller Motten dunkel, in industrialisierten GebietenDeutlich weniger in ländlichen Gebieten
Änderung der Häufigkeit im Genpool der Population: Evolution
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Beispiel: Biston Betularia (fortgesetzt)
Änderung der Häufigkeit von 2% auf 95% aufgrund von Selektion:Industrielle Revolution Bäume dunkel vom Rauch
Vögel konnten die hellen bessersehen, und fraßen daher mehrhelle. Die dunklen hatten daher mehr Nachfahren: Selektion
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Definition Evolution
Biologie: Veränderung des Genpools einer Population im Laufe von Generationen
Allgemeiner: Änderung der Eigenschaften in einer Menge von Entitäten
Schrittweise:Eigenschaften mutieren (zufällig)Individuen werden selektiert (aufgrund Fitness bzgl.
der Umwelt; Selektionsdruck)Populationen entwickeln sich weiter
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Softwaresysteme und Evolution
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Traditionelles Vorgehen
Analyse – Design – Impementierung Software wird für eine bestimmte Umwelt
(Systemlandschaft) entwickeltÄnderungen bedürfen erneuter Analyse
Iterative ProzesseZiel ist immer noch ein System für eine
Systemlandschaft
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Schwachstellen des traditionellen Ansatzes
Moving Target Problem: Die Anforderungen ändern sich während der EntwicklungSystem wird nie „fertig“Instabil
Analyse ist teuer und zeitaufwendig
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Ziel: Entwickeln für eine sich ändernde Umwelt
FrameworksVariable Stellen können „konfiguriert“ werdenNachteil: Variable Stellen müssen von vornherein
bekannt sein
SystemfamilienFamilie von Systemen ist Ziel der EntwicklungZiel sind verschiedene, aber statische UmgebungenNachteil: Auch hier müssen die Unterscheidungs-
merkmale vorher bekannt sein
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Gegenhypothese: „Mob Software“
Richard P. Gabriels Vortrag auf der OOPSLA 2000Planung im Rahmen von SW-Entwicklung ist nicht
möglichAnarchie ist besser geeignet um zu „schönen“
Ergebnissen zu kommen
Linux Entwicklung:Viele Leute arbeiten „unkontrolliert“ an der
WeiterentwicklungErgebnis entsteht aus dieser „chaotischen“
Entwicklung durch „Selektion“
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Genetische Algorithmen
Anderes ZielNicht die „genetische“ Erstellung von Software ist das
Ziel, sondern:Verwendung von explizit programmierten genetischen
Vorgehensweisen zur Lösung eines Problems
Üblicherweise Such- oder Optimierungsprobleme Funktioniert nur, wenn es nicht nur die Lösung gibt,
sondern verschiedene akzeptable Lösungen (Kontinuum)
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Genetische Algorithmen (Beispiel)
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Service Evolution
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Definition Service
Eine Softwarekomponente erbringt einen bestimmten Dienst
Dieser wird mittels eines Interfaces spezifiziert Client ist nur gegen Interface programmiert, kennt die
Implementierung nicht
Beispiele:Java Interface - ObjectCORBA oder RMI ObjekteEnterprise Java BeansJini
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Definition Service (II)
Service spezifiziert üblicherweise nur die Signatur von Operationen und (in Prosa) deren Bedeutung
Es wird nicht spezifiziert: Qualität des Services, z.B.ReaktionszeitGenauigkeitZuverlässigkeitVerfügbarkeit...
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Service Evolution
...ist die
evolutionäre Verbesserung der Qualität eines Services.
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Service Evolution
evolutionäre Verbesserung der Qualität eines Services.
evolutionär: schrittweise, ungeplante Veränderung einer Menge von Individuen
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Service Evolution
evolutionäre Verbesserung der Qualität eines Services.
Verbesserung: Selektionsverfahren sorgt dafür, dass Service später besser an die Umwelt angepasst ist als vorher.
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Service Evolution
evolutionäre Verbesserung der Qualität eines Services.
Qualität des Services: Alle Freiheitsgrade, die die Spezifikation des Services noch ermöglicht.
z.B.
Performanz, Genauigkeit, Zuverlässigkeit, ...
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Merkmale: Service Evolution
„Service“ muss durch eine Menge von individuellen Service-Instanzen repräsentiert werden.
Jede Instanz muss sich verändern können.
Es muss eine Art Rückmeldung (Selektion) durch die Umgebung passieren.
Die Service-Instanzen wissen nicht unbedingt, warum sie von der Umwelt bevorzugt werden.
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Der evolutionäre Trader
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Trader (I): Was ist das?
Trader liefert Dienstinstanzen basierend auf einer beschreibenden Anfrage eines Clients
Trader
Client
S 1A
S 2A
S 3B
S 4B
S 5B
getS ervice( A , properties )
S 2
S 1, A , Props
S 2 , A , Props
S 3 , B , Props
S 4 , B , Props
S 5 , B , Props
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Trader (II): Eigenschaften
Beschreibung besteht aus Interface des DienstesEiner Menge an Properties Auch „komplexere“ Queries sind prinzpiell möglich
Trader entscheidet, welche Instanz zurückgeliefert wird, wenn mehrere auf die Suchanfrage passen
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Trader (III): Vorteile
Entkopplung der Provider von ihren BenutzernNeue Dienstprovider können dynamisch registriert und
zurückgezogen werden Lastverteilung ist möglich
Round RobinBasierend auf Lastauskunft
Basis für FailoverWenn Dienst stirbt, dann kann Client sich einen neuen
holen Findet Anwendung u.a. in:
CORBA Trader ServiceJini‘s Lookup Service
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Der evolutionäre Trader
Population Mehrere Provider pro Dienst
Umwelt muss vorhanden sein Clients
Selektion der Dienste Rückmeldung der Clients, Policy des Traders
Zufällige Mutation „Fehler“ des Traders
Weiterentwicklung Veränderung im Dienst
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Anfrage
Client stell Anfrage an den Trader
Trader
Client
S 1A
S 2A
S 3A
getS ervice( A , properties )S 1 , A , Props
S 2 , A , Props
S 3 , B , Props
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Referenz-Lieferung
Trader liefert Referenz auf Service zurück, plus ein VotingTicket
Trader
Client
S 1A
S 2A
S 3A
S 1 , A , Props
S 2 , A , Props
S 3 , B , Props
S 1
S 1 T
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Verwendung der Srv.
Client verwendet den Service, ohne den Trader zu benötigen
Trader
Client
S 1A
S 2A
S 3A
S 1 , A , Props
S 2 , A , Props
S 3 , B , Props
S 1
S 1
T
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Voting
Danach wendet sich der Client an den Trader und bewertet den Service; dazu benötigt er das VotingTicket
Trader
Client
S 1A
S 2A
S 3A
vote( , S 1 , rating )S 1 , A , Props
S 2 , A , Props
S 3 , B , Props
T
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Voting II
Speichert sich die Bewertung in einer Datenbank ab
Trader
Client
S 1A
S 2A
S 3A
S 1 , A , Props
S 2 , A , Props
S 3 , B , Props
S 1( , S 1 , rating )T
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Voting III
Trader führt Statistiken über die „Bewertung“ der Services durch die Clients
Trader
Client
S 1A
S 2A
S 3A
S 1 , A , Props
S 2 , A , Props
S 3 , B , Props
S 1ID Rating
S1S2...S3
r1r2...r3
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Anfrage (II)
Client stell Anfrage an den TraderDer Service mit dem besten Rating wird
zurückgeliefert
Trader
Client
S 1A
S 2A
S 3A
getS ervice( A , properties )S 1 , A , Props
S 2 , A , Props
S 3 , B , Props
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Information
Trader informiert die Services regelmässig über ihre Qualität, und die der anderen (anonym)
Trader
Client
S 1A
S 2A
S 3A
rating( sn)
S 1 , A , Props
S 2 , A , Props
S 3 , B , Props
E
E
E
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Entwicklungsphase
Die Services können sich nun verändern, wenn sie wissen, dass ihre Qualität schlecht ist
Sie wissen aber nicht wie sie sie verbessern können; Annahmen sind möglich
Trader
Client
S 1'A
S 2''A
S 4A
S 1 , A , Props
S 2 , A , Props
S 4 , B , Props
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Anfrage (III)
Trader liefert manchmal auch den nicht-besten Dienst zurück; dieser kann sich ja in der Zwischenzeit verbessert haben!
Trader
Client
S 1'A
S 2''A
S 4A
getS ervice( A , properties )S 1 , A , Props
S 2 , A , Props
S 4 , B , Props
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Anfrage (IV)
Wenn sehr viele clients den besten Service bekommen, wird dessen Belastung möglicherweise höher;
Damit wird sein Rating schlechter.
Andere Services bekommen wieder eine Chance.
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Benefits
Alle Vorteile des Traders Kein Koordinationsaufwand über die Art der Bewertung
Diese Koordination ist grosses Problem!!Extrem lose Kopplung
Services entwickeln sich zufällig weiterChance für unerwartete Veränderung
Dynamische, schrittweise Anpassung an eine sich verändernde UmweltClients bestimmen die Qualitäten der Services,
allerdings indirekt
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Evolutionärer Trader: Nachteile
Je nach Szenario, langsame Anpassung an sich verändernde Umwelt
Nicht jeder Client bekommt immer den besten ServiceQualität der „Dienste“ kann sich ändern, auch nach
unten
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Anwendungsbeispiele
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Beispiel: Matrix Calculation Service
Dienst zur Berechnung von Matrixoperationen multiplizieren, dividieren, addieren, ...
Qualitätsaspekte:GenauigkeitPerformanz
Rating: z.B. Zahl zwischen 0 und 100
Weiterentwicklung: Verbesserung dieser Aspekte durch Programmierung
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Beispiel: Radarstellungen
Radarstellung bietet Dienst:Scannen eines Geibietes
Überschneiden: Also mehrere „gleiche“ Dienste
Untersch. Qualität:Wetter, Jamming, Position
Rating durch die CCCClients
Verbesserung d. Qual.:Anderes BandReparaturVerlegung
Radar
Radar
RadarCCC
CCC
CCC
Netz
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Erweiterungsmöglichkeiten
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Erweiterung: Verhungern lassen
Wenn die verschiedene Dienste unter der Kontrolle des Traders laufen, können den schlechteren Diensten die Resourcen beschränkt werden:
Handler ThreadsThread Priorität,etc.
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Erweiterung: „Sozialhilfe“
Trader kann den schlechten Diensten mit Absicht bessere Ratings zukommen lassen, um im Falle von Ausfällen des besten noch ein Backup zu haben.
Insbesondere interessant im Zusammenhang mit „Verhungern lassen“
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Erweiterung: Benachrichtigung bei Änderung
Trader liefert manchmal auch die nicht-optimalen Provider zurück, da die sich potentiell geändert haben können.
Evolution ist sehr langsam.
Neue Services (oder geänderte) benachrichtigen den Trader über die Änderung
Trader gibt denen gezielt mehr Chancen
Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG
Das war‘s!
Vielen Dank.
Fragen? Kritik? Anregungen?