Westfälische Wilhelms-Universität Münster: Forschungsbericht 2003-2004 - Institut für Informatik

Forschen

Druckkopf Universität Münster
Logo Universität Münster
A–Z Suchen
 
Startseite Universität Münster

Forschungsbericht
2003 - 2004

 

 
Inhaltsverzeichnis
 
Evangelisch-Theologische Fakultät
Katholisch-Theologische Fakultät
Rechtswissenschaftliche Fakultät
Wirtschafts- wissenschaftliche Fakultät
Medizinische Fakultät
Erziehungswissenschaft und Sozialwissenschaften
Psychologie und Sportwissenschaft
Geschichte / Philosophie
Philologie
Mathematik und Informatik
Physik
Chemie und Pharmazie

Biologie

Geowissenschaften
Forschungszentren
Sonderforschungsbereiche
Graduiertenkollegs
Forschergruppen
Zentrale Betriebseinheiten
 

Startseite

Kontakt

Impressum

 

Institut für Informatik

Tel. (0251) 83-38447
Fax: (0251) 83-33755
e-mail: ifi-sekretariat@math.uni-muenster.de
www: wwwmath1.uni-muenster.de:8010/
Einsteinstraße 62
48143 Münster
Direktoren: Prof. Dr. Achim Clausing, Prof. Dr. Sergei Gorlatch,
Prof. Dr. Klaus Hinrichs, Prof. Dr. Xiaoyi Jiang,
Prof. Dr. Herbert Kuchen, Prof. Dr. Wolfram-M. Lippe,
Prof. Dr. Gottfried Vossen

Forschungsschwerpunkte 2003 - 2004  
 zurück    weiter

Prof. Dr. habil. Sergei Gorlatch
Ein Java-basiertes Grid-System mit Skeletten

 
Bei sog. "Computational Grids" wird die Rechenleistung vieler Hochleistungsrechner, die über ein Netzwerk verbunden sind, zu einem verteilten Rechnerverbund zusammengefasst. Der Vorteil solcher "Verbundrechner" ist, dass bei relativ geringen Kosten äußerst leistungsfähige Recheneinheiten entstehen, die die Leistung einzelner Superrechner weit übertreffen können. Ein Nachteil ist jedoch, dass in Grids häufig sehr unterschiedliche Rechnerarchitekturen miteinander verbunden werden, so dass Anwendungen hochgradig portabel entwickelt werden müssen, um auf allen teilnehmenden Rechnern ausführbar zu sein. Gleichzeitig müssen die Anwendungen die Besonderheiten der einzelnen Rechner berücksichtigen, um eine möglichst gute Rechenleistung zu erzielen. Dieser Widerspruch zwischen Portabilität einerseits, und Effizienz andererseits erfordert neue Programmiermodelle für Computational Grids.

Der von der Arbeitsgruppe von Prof. Gorlatch verfolgte Ansatz für die Anwendungsprogrammierung in Grids basiert auf algorithmischen Skeletten. Dabei handelt es sich um vordefinierte Berechnungs- und Kommunikationsmuster, die auf den Grid Servern implementiert werden und dem Anwendungsprogrammierer zur Verfügung gestellt werden. Mit Hilfe anwendungsspezifischer Codes werden Skelette an konkrete Anwendungen angepasst. Ein einfaches Beispiel ist das Pipeline-Muster, bei dem die Kommunikation und Synchronisation zwischen einzelnen Pipelinestufen auf dem Server als Skelett bereitgestellt wird, während die Anwendung die verschiedenen Stufen der Pipeline implementiert und dem Skelett als Parameter übergibt. Skelette eignen sich besonders gut für Grid-Computing, da ihre parallele Implementierung vor dem Anwendungsprogrammierer verborgen bleibt. Somit können Server mit sehr unterschiedlicher Hardware-Architektur einheitlich angesprochen werden, und es ist möglich, optimierte Implementierungen einzelner Skelette und portable Anwendungsprogrammierung zu verbinden.

Es wurde ein experimentelles, Java-basiertes Grid-Programmiersystem entwickelt, um die Verwendung paralleler Programmskelette in Grid-Systemen zu untersuchen. Skelette sind typische parallele Programmmuster, die auf Hochleistungsrechnern im Grid implementiert werden und von Clients aus per Fernaufruf angesprochen werden können.

Eine wesentliche Herausforderung beim Grid Computing ist die effiziente Zuordnung von Ressourcen zu Anwendungen, da Teilanwendungen auf verschiedenen Rechnern auf Grund der Heterogenität des Grids unterschiedlich viel Zeit in Anspruch nehmen. Ein Hauptziel des Projekts ist es deshalb, eine leistungsorientierte Auswahl von Grid-Servern zu ermöglichen indem die Laufzeit von Skeletten auf unterschiedlichen Servern vorhergesagt wird [1, 2, 4]. Es wurde ein Verfahren zur Laufzeitvorhersage für Skelette in Grids entwickelt, bei dem zunächst die Laufzeit der Codeparameter eines Skelettes an Hand der Struktur des Codes und gemessener Zeitwerte für die Ausführung von Bytecodebefehlen auf dem Server bestimmt wird [3,5]. Mit Hilfe von analytischen Laufzeitvorhersagefunktionen für die einzelnen Skelette wird anschließend die Gesamtlaufzeit eines Skelettes bestimmt.

Des Weiteren wurden Verfahren entwickelt, um Skelette effizient über mehrere Rechner im Grid zu verteilen [6]. Hierzu stehen auf dem Client Bibliotheksfunktionen zur Verfügung, die die gleichen Schnittstellen implementieren wie die serverseitigen Skelette. Aufgabe dieser Bibliotheksfunktionen auf dem Client ist es, die Berechnungen möglichst effizient auf verschiedene Server zu verteilen. Dabei kommen je nach Skelett unterschiedliche Lastverteilungsstrategien zum Einsatz, die speziell für die konkreten Skelette entwickelt wurden und die vorhergesagte Performance auf den unterschiedlichen Servern verwenden, um eine möglichst effiziente Abarbeitung zu erreichen.

Im Bereich Service-basierter Grid-Computing Ansätze gewinnen Grid-Workflow Werkzeuge zunehmend an Bedeutung, die es erlauben den Daten- und Kontrollfluss von Grid-Anwendungen darzustellen und die Ausführung von Jobs oder Diensten auf Grid-Servern zu steuern und zu überwachen. Zur Erstellung von Workflow-Beschreibungen wird meist eine graphische Beschreibungssprache verwendet, basierend auf gerichteten azyklischen Graphen oder anderen graphischen Notationen, z.B. Petri-Netzen.

Im Projekt wurde eine auf farbigen Petri-Netzen basierende Beschreibungssprache für skelettbasierte Programme entwickelt und ein prototypisches Programmierwerkzeug erstellt. Gegenüber traditionellen gerichteten Graphen oder einfachen Petri-Netzen hat die Verwendung farbiger Petri-Netze den Vorteil, dass nicht nur die Struktur des Programms dargestellt werden kann, sondern mit Hilfe verschiedener Farbmengen unterschiedliche Aspekte eines Programms einheitlich beschrieben werden können. So können beispielsweise Zeitwerte als Farbmenge verwendet und den Transitionen die Performancevorhersagefunktionen der Skelette zugeordnet werden. Mit Hilfe einer Erreichbarkeitsanalsyse kann dann die maximale Ausführungsdauer der Anwendung abgeschätzt werden, ohne dass die Struktur des Petri-Netzes angepasst werden müsste.

Drittmittelgeber:

Europäische Kommission: Network of Excellence "CoreGRID"; DAAD-Projekt VIGONI; DFG-Projekt COFFEE

Beteiligte Wissenschaftler:

Prof. Dr. habil. Sergei Gorlatch, Dipl.-Inf. Martin Alt

Veröffentlichungen:

[1] Alt, M. and Gorlatch, S.: Future-Based RMI: Optimizing compositions of remote method calls on the Grid, in Euro-Par 2003, edited by H. Kosch, L. Böszörményi, and H. Hellwagner, vol. 2790 of Lecture Notes in Computer Science, pp. 682-693, Springer-Verlag, 2003.

[2] Alt, M. and Gorlatch, S.: Using Skeletons in a Java-based Grid system, in Euro-Par 2003, edited by H. Kosch, L. Böszörményi, and H. Hellwagner, vol. 2790 of Lecture Notes in Computer Science, pp. 682-693, Springer-Verlag, 2003.

[3] Alt, M. and Gorlatch, S.: A prototype Grid system using Java and RMI, in Parallel Computing Technologies (PACT 2003), Nizhni Novgorod, Russia, edited by V. Malyshkin, vol. 2763 of Lecture Notes in Computer Science, pp. 401-414, Springer-Verlag, 2003.

[4] Alt, M. and Gorlatch, S.: Algorithmic skeletons for metacomputing, in Fifth International Workshop on Advanced Parallel Processing Technology, vol. 2934 of Lecture Notes in Computer Science, pp. 363-372, Springer-Verlag, 2003.

[5] Alt, M. and Gorlatch, S.: Adapting Java RMI for grid computing, Futur Generation Computer Systems, accepted for publication, 2004.

[6] Alt, M. and Gorlatch, S.: Towards High-Level Grid Programming and Load-Balancing: A Barnes-Hut Case Study, submitted to Euro-Par 2005.

 

Zurückblättern

 Diese Seite:  :: Seite drucken   :: Seite empfehlen   :: Seite kommentieren

© 2005 Universität Münster - Dezernat 6.3. + Forschungsberichte

   :: Seitenanfang Seitenanfang

© Universität Münster
Schlossplatz 2 · 48149 Münster
Tel.: +49 251 83-0 · Fax: +49 (251) 83-3 20 90
E-Mail: verwaltung@uni-muenster.de