Forschungs- und Entwicklungsprojekt: Compilerunterstützung der Programmierung (massiv-)paralleler und verteilter Systeme:

Prozeßverlagerung in heterogenen Rechnernetzen
basierend auf einer speziellen Übersetzungstechnik

Prof. Dr. Jürgen Eickel
Dr. Christoph Pleier


Diese Forschungsarbeit wurde dokumentiert in

Christoph Pleier: Prozeßverlagerung in heterogenen Rechnernetzen basierend auf einer speziellen Übersetzungstechnik; Herbert Utz Verlag Wissenschaft, 1996. (ISBN 3-89675-117-4)


Zusammenfassung:

Heutzutage werden immer mehr Rechner, sowohl im wissenschaftlichen und industriellen als auch im privaten Bereich miteinander verbunden. Durch die Verbindung können einerseits Informationen aller Art ausgetauscht und andererseits entfernte Rechner zur Programmausführung verwendet werden. Bei der entfernten Ausführung ist eine Verlagerung von laufenden Programmen von einem Rechner auf einen anderen aus mehreren Gründen sinnvoll: Dadurch kann im Rechnernetz unter anderem eine möglichst optimale Lastverteilung oder eine Vergrößerung des Rechnerpotentials für die entfernte Programmausführung erreicht werden. Da bei der Vernetzung von Rechnern in der Regel unterschiedlichste Rechenanlagen verbunden werden, ist es wichtig, daß die Verlegung der in Ausführung befindlichen Programme zwischen unterschiedlichen Rechensystemen erfolgen kann und somit eine heterogene Verlagerung möglich ist.

Ziel dieser Arbeit war es, ein möglichst allgemeines Konzept zur heterogenen Verlagerung laufender Programme zu entwickeln, weitgehend zu realisieren, praktisch zu erproben und zu bewerten. Dazu werden zur Einführung in die Arbeit die Motivation und die grundlegende Aufgabenstellung dargestellt. Ferner werden die relevanten Begriffe präzisiert und ein Literaturüberblick gegeben. Hierbei werden die existierenden Ansätze zur Verlagerung laufender Programme zwischen gleichartigen und zwischen unterschiedlichen Rechensystemen klassifiziert und evaluiert, wobei der Schwerpunkt bei den heterogenen Ansätzen liegt.

Im Hauptteil der Arbeit wird das entwickelte Konzept zur Verlagerung laufender, imperativer Programme in heterogenen Rechnernetzen beschrieben. Zur möglichst allgemeinen und präzisen Darstellung wird dazu eine modelltheoretische Beschreibung benützt. Dazu wird ein auf operationaler Semantik basierendes Zustandmodell verwendet und ein allgemeiner Interpreter für zuweisungsorientierte Programme definiert. Das entwickelte Konzept basiert auf einer speziellen Übersetzungstechnik: Ein Programm, das heterogen verlagert werden soll, wird derart in zwei Maschinenprogramme, eines für den Quell- und eines für den Zielrechner der Verlagerung, übersetzt, daß ein heterogener Prozeßzustandstransfer möglich ist. Das Programm kann dann an bestimmten Positionen verlagert werden. Dabei muß der Prozeßzustand ermittelt, transformiert, übertragen und rekonstruiert werden. Nach einer Verlagerung muß zudem ein transparenter, weiterer Programmlauf sichergestellt werden.

Zur praktischen Erprobung und Bewertung wurde das Konzept weitgehend in einem Prototyp realisiert und auf mehrere, teilweise sehr komplexe Programme angewendet, insbesondere auch auf sich selbst. Nach der Beschreibung der Implementierung und der Analysemethoden werden die Testergebnisse veranschaulicht und bewertet.

Die im Rahmen dieser Forschungen erlangten Erfahrungen zeigen, daß eine Verlagerung laufender Programme zwischen unterschiedlichen Rechnern basierend auf einer speziellen Übersetzungstechnik gut machbar ist. Dazu müssen jedoch Einschränkungen bei der Programmierung sowie etwas höhere Programmlaufzeiten akzeptiert werden.


Christoph Pleier, 8.8.1996