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. Herbert Kuchen
Parallel Programmierung mit Algorithmischen Skeletten

 
Die parallel Programmierung von Rechnern mit einem gemeinsamen Speicher erfolgt heute vorwiegend auf der Grundlage von Nachrichtenaustausch und dafür geschaffenen Bibliotheken wie MPI. Hiermit lassen sich zwar effiziente und plattformunabhängige Programmsysteme erstellen, allerdings ist das Programmierniveau noch vergleichsweise niedrig und die Programmierung entsprechend aufwändig und fehleranfällig. Demzufolge gibt es viele Ansätze, die parallele Programmierung zu vereinfachen und das Programmierniveau anzuheben.

Im Rahmen dieses Projekts werden hier insbesondere sogenannte algorithmische Skelette betrachtet. Dabei handelt es sich um typische parallele Programmiermuster, die den Benutzern als polymorphe Funktionen höherer Ordnung zur Verfügung gestellt werden. Sie sind für alle in Frage kommenden Plattformen effizient parallel implementiert, so dass sich das Problem, eine parallele Applikation zu erstellen, darauf beschränkt, die vorgegebenen Skelette in geeigneter Weise und Reihenfolge aufzurufen.

Das Konzept der algorithmischen Skelette stammt ursprünglich aus der funktionalen Programmierung, aber auch imperative Gastsprachen wie z. B. Skil wurden bereits erprobt. Der große Durchbruch der Skelette ist dennoch bisher ausgeblieben. Zwei wesentliche Gründe hierfür sind die fehlende Standardisierung der Skelette und die Notwendigkeit, für die Verwendung der Skelette eine neue Programmiersprache zu lernen. Zu letzterem sind nur wenige Anwender bereit; sie bevorzugen stattdessen die Programmiersprachen, die sie kennen und in vielen parallelen Anwendungen erprobt haben, wie z. B. C. und C++. Im Rahmen des laufenden Projekts wurden die Skelette daher in Form einer für Sprachen wie C++ und C verwendbaren Bibliothek verfügbar gemacht. Weiterhin wurde der bereitgestellte Satz an Skeletten nach einer vorherigen intensiven Diskussion in der einschlägigen Community festgelegt, so dass der vorliegende Ansatz als Vorschlag für eine Standardisierung zu verstehen ist.

Die genannte Bibliothek bietet neben datenparallelen auch taskparallele Skelette und ermöglicht, diese auf der Grundlage einer 2-Ebenen-Architektur zu verknüpfen. Genauer gesagt, kann eine taskparallele Berechnung Prozesse enthalten, die intern datenparallel arbeiten. Anhand von ausgewählten Benchmarks wurde nachgewiesen, dass das so erreichbare, höhere Programmierniveau nicht auf Kosten der Effizienz geht, sondern dass sich eine Performance erzielen lässt, die mit der von handgeschiebenem C++-Code mit MPI-Aufrufen vergleichbar ist. Unter den betrachteten Benchmarks waren Beispielprobleme wie das Gauß'sche Eliminationsverfahren, Samplesort, Matrixmultiplikation, FFT, Raytracing und Kantendetektion in Bildern.

In der Zukunft wird der Satz an Skeletten ergänzt und die Zusammenarbeit der task- und datenparallelen Skelette verbessert werden. Weiterhin sollen Werkzeuge für das Programmieren mit algorithmischen Skeletten entwickelt werden. Hierzu zählt u. a. ein Optimierer für Folgen von Skeletten.

Beteiligte Wissenschaftler:

Prof. Dr. Herbert Kuchen, Dipl. Inform. Jörg Striegnitz (Forschungszentrum Jülich)

Veröffentlichungen:

A. Schütte: Algroithmische Skelette für überlappend partitionierte Matrizen, Diplomarbeit, Institut für Wirtschaftsinformatik, 2003.

M. Harpenschläger: Algorithmische Skelette für dünnbesetzte Matrizen, Diplomarbeit, Institut für Wirtschaftsinformatik, 2003.

H. Kuchen, J. Striegnitz: Features from Functional Programming for a C++ Skeleton Library, Concurrency and Computation: Practice and Experience, Wiley, 2003.

H. Kuchen: Optimizing Sequences of Skeleton Calls, in D. Batory, C. Consel, C. Lengauer, M. Odersky (Eds.): Domain-Specific Program Generation, LNCS 3016, S. 254-273, Springer-Verlag, 2004.

 

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