Objektorientierte parallele Ein-/Ausgabe auf Höchstleistungsrechnern

DSpace Repository


Dateien:

URI: http://nbn-resolving.de/urn:nbn:de:bsz:21-opus-23517
http://hdl.handle.net/10900/48932
Dokumentart: PhDThesis
Date: 2006
Language: German
Faculty: 7 Mathematisch-Naturwissenschaftliche Fakultät
Department: Sonstige - Informations- und Kognitionswissenschaften
Advisor: Rosenstiel, Wolfgang
Day of Oral Examination: 2006-06-28
DDC Classifikation: 004 - Data processing and computer science
Keywords: Objektorientierung
Other Keywords: parallele E/A , Nachrichtenaustausch , MPI-IO
parallel I/O , object-oriented , message-passing , MPI-IO
License: http://tobias-lib.uni-tuebingen.de/doku/lic_mit_pod.php?la=de http://tobias-lib.uni-tuebingen.de/doku/lic_mit_pod.php?la=en
Order a printed copy: Print-on-Demand
Show full item record

Inhaltszusammenfassung:

Unterschiedliche Leistungssteigerungen bei Prozessoren und Festplatten einerseits und gestiegene Anforderungen an Genauigkeit, Interaktivität und Visualisierung paralleler Simulationen andererseits führten in den letzten Jahren dazu, dass sich die Ein-/Ausgabe von Daten auf Höchstleistungsrechnern zum Flaschenhals entwickelt hat. Auf Systemebene wird dies durch eine Vielzahl von Festplatten und parallelen Dateisystemen kompensiert. Damit jedoch die Anwendungsebene von dieser aggregierten Bandbreite profitieren kann, müssen geeignete Schnittstellen zur parallelen Ein-/Ausgabe vorhanden sein. Als weit verbreiteter Standard hat sich die auf Nachrichtenaustausch basierende Bibliothek MPI-IO etabliert. Diese prozedurale Bibliothek kann jedoch die Anforderungen der wachsenden Anzahl objektorientierter paralleler Anwendungen nicht erfüllen. Der darüber hinaus hohe Funktionsumfang führt zu einer komplexen und umfangreichen Programmierung für den Anwender. Mit TPO-IO wurde eine objektorientierte, benutzerfreundliche und sehr effiziente Schnittstelle entwickelt, die auf MPI-IO aufsetzt und es ermöglicht, neben Objekten und Standard-Datentypen auch Container der Standard Template Library persistent zu machen. Dabei folgen Funktionsumfang und Namenskonventionen soweit wie möglich und sinnvoll dem Standard MPI-2. Das Design der Schnittstelle vereinfacht und restrukturiert erheblich die Funktionalität von MPI-IO und stellt sich dem Benutzer deutlich transparenter und übersichtlicher dar. Leistungsstarke Techniken, wie z.B. die freie Definition einer beliebigen Sicht eines Prozesses auf die Daten, kollektive Zugriffe mehrerer Prozesse auf eine Datei und asynchrone Ein-/Ausgabe, wurden auf objektorientierte Konstrukte übertragen und zur Steigerung der Benutzerfreundlichkeit teilweise bereits innerhalb der Schnittstelle automatisiert. Synthetische Leistungsmessungen zeigen einen im Vergleich zum Gewinn der objektorientierten Darstellung geringen Verlust von TPO-IO gegenüber MPI-IO. Darüber hinaus konnte die Schnittstelle bereits in drei Anwendungen unserer Arbeitsgruppe erfolgreich eingesetzt werden. Es handelt sich dabei um zwei Teilchenmethoden und einer Methode aus dem Bereich der Gensequenzanalyse.

Abstract:

Different improvements between processor and harddisk performance and the fast growing requirements of parallel simulations regarding accuracy, interactivity and visualization in past years led to an I/O-bottleneck in high performance computer systems. On system level this problem is compensated by the usage of multiple harddisks and parallel file systems. However, the application level can only profit by the aggregated bandwith, if adequate interfaces for parallel I/O are available. MPI-IO is the widely-used and accepted standard for such a message-passing based interface. However, the procedural interfaces can not fulfill the demands of object-oriented parallel applications. Moreover, extensive functionality leads to complex and unstructured applications. TPO-IO is an object-oriented, user-friendly and very efficient interface, which is set up on top of MPI-IO. It enables the user to make all kind of objects, standard datatypes and containers of the Standard Template Library (STL) persistent. The functionality and naming conventions follow as far as possible and meaningful MPI-2. Design and interface of TPO-IO ease and restructure the functionality of MPI-IO and lead to a more transparent and well structured source code. Special techniques, like definitions of different views on the data by each process, collective accesses of multiple processes on the same file and asynchronous I/O, were adapted to object-oriented concepts and partially automated within TPO-IO to increase the usability. Synthetic benchmarks show an only marginal loss in performance between TPO-IO and MPI-IO in respect to the profit of an object-oriented interface. Moreover, the interface was successfully implemented and tested in three different applications: Two particle simulations and a gene sequence analysis application.

This item appears in the following Collection(s)