Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Evolution in verteilten Systemen Der Evolutionäre Trader Markus Völter, MATHEMA AG

Ähnliche Präsentationen


Präsentation zum Thema: "Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Evolution in verteilten Systemen Der Evolutionäre Trader Markus Völter, MATHEMA AG"—  Präsentation transkript:

1 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Evolution in verteilten Systemen Der Evolutionäre Trader Markus Völter, MATHEMA AG

2 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

3 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Evolution in der Biologie mit Unterstützung von Jens Tränkle

4 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! Prinzipien Mutation Fitness Selektion (Separation, gen. Isolation) Randbedingungen Population (Genpool) Umwelt

5 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

6 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

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

8 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 entweder an 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

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

10 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Beispiel: Biston Betularia (Englische Motte) Zwei verschiedene Arten: Dunkel und Hell Dunkel/Hell abh. von einem Gen 1848: <2% dunkel 1898: 95% aller Motten dunkel, in industrialisierten Gebieten Deutlich weniger in ländlichen Gebieten Änderung der Häufigkeit im Genpool der Population: Evolution

11 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 besser sehen, und fraßen daher mehr helle. Die dunklen hatten daher mehr Nachfahren: Selektion

12 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

13 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Softwaresysteme und Evolution

14 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 Prozesse Ziel ist immer noch ein System für eine Systemlandschaft

15 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Schwachstellen des traditionellen Ansatzes Moving Target Problem: Die Anforderungen ändern sich während der Entwicklung System wird nie fertig Instabil Analyse ist teuer und zeitaufwendig

16 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Ziel: Entwickeln für eine sich ändernde Umwelt Frameworks Variable Stellen können konfiguriert werden Nachteil: Variable Stellen müssen von vornherein bekannt sein Systemfamilien Familie von Systemen ist Ziel der Entwicklung Ziel sind verschiedene, aber statische Umgebungen Nachteil: Auch hier müssen die Unterscheidungs- merkmale vorher bekannt sein

17 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Gegenhypothese: Mob Software Richard P. Gabriels Vortrag auf der OOPSLA 2000 Planung im Rahmen von SW-Entwicklung ist nicht möglich Anarchie ist besser geeignet um zu schönen Ergebnissen zu kommen Linux Entwicklung: Viele Leute arbeiten unkontrolliert an der Weiterentwicklung Ergebnis entsteht aus dieser chaotischen Entwicklung durch Selektion

18 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Genetische Algorithmen Anderes Ziel Nicht 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)

19 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Genetische Algorithmen (Beispiel)

20 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Service Evolution

21 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 - Object CORBA oder RMI Objekte Enterprise Java Beans Jini

22 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. Reaktionszeit Genauigkeit Zuverlässigkeit Verfügbarkeit...

23 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Service Evolution...ist die evolutionäre Verbesserung der Qualität eines Services.

24 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

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

26 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,...

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

28 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Der evolutionäre Trader

29 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Trader (I): Was ist das? Trader liefert Dienstinstanzen basierend auf einer beschreibenden Anfrage eines Clients

30 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Trader (II): Eigenschaften Beschreibung besteht aus Interface des Dienstes Einer Menge an Properties Auch komplexere Queries sind prinzpiell möglich Trader entscheidet, welche Instanz zurückgeliefert wird, wenn mehrere auf die Suchanfrage passen

31 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Trader (III): Vorteile Entkopplung der Provider von ihren Benutzern Neue Dienstprovider können dynamisch registriert und zurückgezogen werden Lastverteilung ist möglich Round Robin Basierend auf Lastauskunft Basis für Failover Wenn Dienst stirbt, dann kann Client sich einen neuen holen Findet Anwendung u.a. in: CORBA Trader Service Jinis Lookup Service

32 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

33 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Evolutionärer Trader: Anfrage Client stell Anfrage an den Trader

34 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Evolutionärer Trader: Referenz-Lieferung Trader liefert Referenz auf Service zurück, plus ein VotingTicket

35 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Evolutionärer Trader: Verwendung der Srv. Client verwendet den Service, ohne den Trader zu benötigen

36 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

37 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Evolutionärer Trader: Voting II Speichert sich die Bewertung in einer Datenbank ab

38 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

39 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Evolutionärer Trader: Anfrage (II) Client stell Anfrage an den Trader Der Service mit dem besten Rating wird zurückgeliefert

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

41 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

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

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

44 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 weiter Chance für unerwartete Veränderung Dynamische, schrittweise Anpassung an eine sich verändernde Umwelt Clients bestimmen die Qualitäten der Services, allerdings indirekt

45 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 Service Qualität der Dienste kann sich ändern, auch nach unten

46 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Anwendungsbeispiele

47 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Beispiel: Matrix Calculation Service Dienst zur Berechnung von Matrixoperationen multiplizieren, dividieren, addieren,... Qualitätsaspekte: Genauigkeit Performanz Rating: z.B. Zahl zwischen 0 und 100 Weiterentwicklung: Verbesserung dieser Aspekte durch Programmierung

48 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 CCC Clients Verbesserung d. Qual.: Anderes Band Reparatur Verlegung

49 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Erweiterungsmöglichkeiten

50 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 Threads Thread Priorität, etc.

51 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

52 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

53 Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Das wars! Vielen Dank. Fragen? Kritik? Anregungen?


Herunterladen ppt "Evolution in verteilten Systemen, Copyright © 2001, MATHEMA AG Evolution in verteilten Systemen Der Evolutionäre Trader Markus Völter, MATHEMA AG"

Ähnliche Präsentationen


Google-Anzeigen