Author: | Jörg Schneider | ISBN: | 9783638283588 |
Publisher: | GRIN Verlag | Publication: | June 16, 2004 |
Imprint: | GRIN Verlag | Language: | German |
Author: | Jörg Schneider |
ISBN: | 9783638283588 |
Publisher: | GRIN Verlag |
Publication: | June 16, 2004 |
Imprint: | GRIN Verlag |
Language: | German |
Diplomarbeit aus dem Jahr 2004 im Fachbereich Informatik - Programmierung, Note: 1,3, Technische Universität Berlin (Kommunikations- und Betriebssystem - Fak. IV Elektrotechnik und Informatik), Sprache: Deutsch, Abstract: Für die Lösung von rechenintensiven Problemen werden häufig Parallelrechner eingesetzt. Diese werden in der Regel so gebaut, dass nicht alle Prozessoren die selben Ressourcen nutzen oder dass der Rechner gleich aus vielen in sich abgeschlossenen Rechnern - Cluster von Rechnern - besteht. Da nicht nur die dazu notwendige Kommunikation zwischen zwei Programmteilen stark von den jeweils ausf¨uhrenden Prozessoren abhängt, muss ein Programm an die Struktur dieses parallelen Rechners angepasst werden. Diese Aufgabe soll dem Programmierer eine Zuordnungseinheit abnehmen, die entscheidet, welches Teilprogramm zu welcher Zeit auf welchem Teilsystem ausgeführt wird. Diese Entscheidung ist allerdings schwierig zu treffen, wenn Informationen über das Programm kaum und vor allem über den zukünftigen Ablauf nicht bekannt sind. Wenn die Anpassung an die Struktur des Rechners erst kurz vor der Ausführung des Programms oder während des Programmlaufes stattfindet, so kann das Programm ohne Modifikationen auf Rechnern mit unterschiedlicher Architektur eingesetzt werden. Auf dieseWeise wird nicht nur der Programmierer entlastet, sondern auch mehr Flexiblität bei der Ausführung erreicht. Es ist also ein Weg zu suchen, der ausgehend von Informationen aus vergangenen Programmläufen und dem bisherigen Verlauf des Programms den zukünftigen Programmablauf mit einer Vorhersage skizziert. Die in dieser Arbeit beschriebene Vorhersage kann dann als Basis für eine Zuordnungseinheit dienen. Die Informationen über den aktuellen Programmzustand sollen von einer getrennten Analyseanwendung bereitgestellt werden.Wie das Programm beobachtet werden kann und welche Werte gemessen werden können, wurde dazu in [Gra04] untersucht. Da die Programmabläufe sich klassischer Weise als Graph darstellen lassen, ist eine Möglichkeit, diese Graphen mit Hilfe eines Graphtransformationssystems auf dem laufenden Stand zu halten. Graphtransformationssysteme beschreiben das regelbasierte Modifizieren von graphartigen Strukturen. Sie sind als Spezifikationstechnik formal definiert. Allerdings ist es leicht vorstellbar, dass sich mit solchen Regelsystemen auch programmieren lässt. Es soll daher auch untersucht werden, inwieweit sich die Regeln, mit denen sich der Aufbau der Vorhersage modellieren lässt, auch zur Umsetzung in einem Vorhersageprogramm nutzen lassen. [...]
Diplomarbeit aus dem Jahr 2004 im Fachbereich Informatik - Programmierung, Note: 1,3, Technische Universität Berlin (Kommunikations- und Betriebssystem - Fak. IV Elektrotechnik und Informatik), Sprache: Deutsch, Abstract: Für die Lösung von rechenintensiven Problemen werden häufig Parallelrechner eingesetzt. Diese werden in der Regel so gebaut, dass nicht alle Prozessoren die selben Ressourcen nutzen oder dass der Rechner gleich aus vielen in sich abgeschlossenen Rechnern - Cluster von Rechnern - besteht. Da nicht nur die dazu notwendige Kommunikation zwischen zwei Programmteilen stark von den jeweils ausf¨uhrenden Prozessoren abhängt, muss ein Programm an die Struktur dieses parallelen Rechners angepasst werden. Diese Aufgabe soll dem Programmierer eine Zuordnungseinheit abnehmen, die entscheidet, welches Teilprogramm zu welcher Zeit auf welchem Teilsystem ausgeführt wird. Diese Entscheidung ist allerdings schwierig zu treffen, wenn Informationen über das Programm kaum und vor allem über den zukünftigen Ablauf nicht bekannt sind. Wenn die Anpassung an die Struktur des Rechners erst kurz vor der Ausführung des Programms oder während des Programmlaufes stattfindet, so kann das Programm ohne Modifikationen auf Rechnern mit unterschiedlicher Architektur eingesetzt werden. Auf dieseWeise wird nicht nur der Programmierer entlastet, sondern auch mehr Flexiblität bei der Ausführung erreicht. Es ist also ein Weg zu suchen, der ausgehend von Informationen aus vergangenen Programmläufen und dem bisherigen Verlauf des Programms den zukünftigen Programmablauf mit einer Vorhersage skizziert. Die in dieser Arbeit beschriebene Vorhersage kann dann als Basis für eine Zuordnungseinheit dienen. Die Informationen über den aktuellen Programmzustand sollen von einer getrennten Analyseanwendung bereitgestellt werden.Wie das Programm beobachtet werden kann und welche Werte gemessen werden können, wurde dazu in [Gra04] untersucht. Da die Programmabläufe sich klassischer Weise als Graph darstellen lassen, ist eine Möglichkeit, diese Graphen mit Hilfe eines Graphtransformationssystems auf dem laufenden Stand zu halten. Graphtransformationssysteme beschreiben das regelbasierte Modifizieren von graphartigen Strukturen. Sie sind als Spezifikationstechnik formal definiert. Allerdings ist es leicht vorstellbar, dass sich mit solchen Regelsystemen auch programmieren lässt. Es soll daher auch untersucht werden, inwieweit sich die Regeln, mit denen sich der Aufbau der Vorhersage modellieren lässt, auch zur Umsetzung in einem Vorhersageprogramm nutzen lassen. [...]