Erzeugung von Sicherungspunkten in verteilten Jackal-Anwendungen

Student:Christian Iwainsky
Title:Erzeugung von Sicherungspunkten in verteilten Jackal-Anwendungen
Type:study thesis
Advisors:Klemm, M.; Philippsen, M.
State:submitted on March 29, 2006
Prerequisits:

Dem Benutzer eines Rechnerbündels stellen sich diverse Probleme. Neben möglichen Probleme bei der Parallelisierung der Applikation zur Entwicklungszeit, stehen dem Benutzer weitere Probleme bei der Ausführung der Applikation auf einem Rechnerbündel im Wege. Ein Hauptproblem bei der Ausführung besteht in der Angabe der benötigten Zeit der Applikation auf dem Rechnerbündel. Diese Zeit wird von der Ressourcenverwaltung des Systems benötigt um den verschiedenen konkurrierenden Applikationen die jeweils angegebene Zeit exklusiv zur Verfügung zu stellen.

Macht der Benutzer eine zu kleine Zeitangabe, so dass die Applikation nicht rechtzeitig fertig gerechnet hat, so wird diese terminiert. Ist die Schätzung zu hoch, so wird die Ausführung der Applikation möglicherweise verzögert, weil kein geeigneter, für diese Zeitspanne freier Teil des Rechnerbündels verfügbar ist. Die tatsächliche Ausführungszeit hängt dabei von vielen Faktoren ab: Last auf dem Rechnerbündel, Kommunikationsverhalten der Applikation, Last auf dem Netzwerk zwischen den Knoten, usw. Eine exakte Schätzung ist somit kaum möglich.

Aus Sicht des Betreibers eines Rechnerbündels sind dagegen langlaufende Applikationen, die eine hohe Zahl von Knoten benötigen, ebenfalls problematisch. Durch die exklusive Reservierung der Knoten kommt es vor, dass ein Teil der zu reservierenden Knoten lange Zeit unbenutzt bleiben, da möglicherweise keine andere Applikation zwischenzeitlich gerechnet werden kann, ohne dass diese mit der Reservierung kollidieren würde.

Als möglichen Ansatz zur Verbesserung der Situation lassen sich Applikationen kurz vor Ablauf der Reservierung sichern. Wird die Applikation mittels einer erneuten Reservierung wieder lauffähig, so kann der erzeugte Sicherungspunkt geladen werden und die Applikation weiter ausgeführt. Damit läßt sich die zeitlich lange Reservierung einer Applikation in mehrere kleinere Reservierungen zerlegen.

Das Framework dieser Arbeit wird Jackal bilden. Jackal ist eine Implementierung eines Software-DSM-Systems (DSM=Distributed Shared Memory) für die Programmiersprache Java. Ein DSM-System simuliert auf dem verteilten Speicher eines Rechnerbündels einen gemeinsamen Adressraum. Damit erscheint das Rechnerbündel als eine Art von Multi-Prozessorsystem mit einem gemeinsamen Speichersubsystem.

Topic:

Im Rahmen der Studienarbeit soll das Laufzeitsystem von Jackal um eine Komponente zum Erzeugen von verteilten Sicherungspunkten erweitert werden; hierzu sind mindestens zwei Algorithmen zum Erzeugen der Sicherungspunkte zu implementieren. Die Implementierung mehrerer Verfahren dient dabei der Gegenüberstellung und der Prüfung auf Eignung der Verfahren.

Als Ausgangspunkt der Arbeit dient eine Analyse und Einordung existierenden Algorithmen zur Erzeugung von Sicherungspunkten. Diese sind in das in den Voraussetzungen geschilderte Problemfeld zu setzen und in diesem Kontext auf ihre Eignung zu prüfen. Hierdurch sollen zwei Algorithmen für eine anschließende Implementierung ausgewählt werden.

Die in der Analysephase ausgewählten Algorithmen sind in das Laufzeitsystem von Jackal einzuarbeiten. Hierzu ist eine fertige Bibliothek (bspw. BLCR) zu verwenden, die bereits einzelne Prozesse sichern und wiederaufsetzen kann. Mittels des Algorithmus zum Erzeugen verteilter Sicherungspunkte und der Bibliothek sollen dann verteilte Sicherungspunkte von Jackal-Applikationen bestehend aus beliebig vielen Prozessen erzeugt werden können.

Abschließend sollen die implementierten Verfahren miteinander durch Experimente und Messungen verglichen werden. Die ebenfalls im Rahmen der Arbeit zu entwickelnden Experimente sollen zeigen, welcher der Algorithmen für das Problem des Wiederaufsetzens einer Applikation nach Ablauf der Reservierung im Rechnerbündel am besten geeignet ist. Denkbare Beurteilungskriterien sind u.a. Netzwerklast, Dauer der Sicherung usw.

Meilensteine

  • Analyse und Einordnung von existierenden Algorithmen zur Erzeugung von Sicherungspunkten im Kontext des Jackal-Projektes
  • Implementierung zweier Verfahren in Jackals Laufzeitsystem unter Zuhilfenahme einer existierenden Bibliothek
  • Vergleichende Messungen
  • Beurteilung der implementierten Verfahren
  • Erstellung der Ausarbeitung
watermark seal