Systemsoftware und Verteilte Systeme

Analyse und Optimierung eines Genetischen Algorithmus zur Erzeugung speziallisierter Replikationsstrategien

Individuelles Projekt

Abgeschlossen am 04. Oktober 2003 durch Jann Popinga.                                     PDF-Dokument

Ansprechpartner:

Themengebiete

  • Fehlertoleranzverfahren
  • Evolutionäre Algorithmen

Hintergrund

Datenreplikation wird eingesetzt, um ein eventuelles Fehlschlagen von Zugriffen auf dringend benötigte Daten möglichst auszuschließen (hohe Zugriffsverfügbarkeit), aber auch um die Zugriffszeiten auf diese Daten zu reduzieren. In der Abteilung Systemsoftware und verteilte Systeme wurden kürzlich ein CORBA-basierter sowie ein JAVA-Prototyp zur konsistenten Datenreplikation erstellt, die zur Verwaltung replizierter WWW-Dokumente eingesetzt werden. Diese Prototypen beinhalten eine Komponente, die es erlaubt, beliebige, sogenannte Coterie-basierte Replikationsverfahren zu spezifizieren und damit Dokumente im WWW zu verwalten. Die Komponente stellt somit ein Rahmenwerk für Coterie-basierte Replikationsverfahren dar. Die Spezifikation einer gewünschten speziellen Replikationsstrategie wird durch Angabe eines azyklischen Graphen (in Textform gemäß einer formalen Sprache) vorgenommen.

Desweiteren wurde ein erster Prototyp eines auf genetischen Algorithmen basierenden automatischen Designers für solche speziellen azyklischen Graphen entwickelt. Unter Angabe gewisser Parameter wie Intervall der gewünschten Operationsverfügbarkeiten und Operationskosten (für Lese- und Schreiboperationen), Anzahl von Replikaten u.a., versucht der automatische Designer, eine Replikationsstrategie in Form eines azyklischen Graphen zu finden, die die gewüschten Eigenschaften besitzt.

Aufgabenbeschreibung

Die Aufgabe, die im Rahmen des Individuellen Projektes gelöst werden soll, ist die Analyse sowie Optimierung des rudimentär arbeitenden Prototypen Automatischer Designer. Dabei ist zu erwarten, daß durch Analyse der bisherigen Arbeitsweise des Prototypen und seines Verhaltens beim Erstellen von Lösungen, Aufschlüsse bzgl. notwendiger Verbesserungen erzielt werden. Diese sind dann in den bestehenden Prototypen zu integrieren und sein verbessertes Arbeiten zu dokumentieren. Bei der Analyse sollen insbesondere Aussagen darüber getroffen werden können, welchen Einfluß einzelne Individuen auf die Entwicklung nachfolgender Populationen haben und ob die gewählte Startpopulation "potent"' genug ist, Nachkommen mit gewünschten Eigenschaften zu erzeugen. Eine Optimierung soll aufgedeckte Defizite des gegenwärtigen Prototyps kompensieren. Die insgesamt erzielte Verbesserung des Prototyps ist durch Vorher/Nachher-Syntheseläufe bzgl. einer Referenzproblemmenge darzustellen und zu bewerten.

Vorkenntnisse

  • Programmierkenntnisse in C bzw. C++
  • Datenbankkenntnisse

Kommentar

Das Individuelle Projekt enthält praktische Anteile.