next up previous contents
Nächste Seite: Anwendungsbeispiele Aufwärts: Objektorientierte Modellierung Vorherige Seite: Paralleler Ablauf   Inhalt

Implementierung

Der Prototyp ist in der Programmiersprache C++ implementiert. Die Verwaltung der Daten geschieht unter Verwendung der Standard Template Library (STL) und den in Abschnitt 6.4 beschriebenen geometrisch sortierten Datenstrukturen. Zur Kommunikation der Prozesse wird, um eine möglichst große Portabilität zu erhalten, sowohl das Message-Passing Interface (MPI) als auch die Parallel Virtual Machine (PVM) verwendet.

Die Wahl der Programmiersprache C++ geschah aus verschiedenen Gründen. Zum einen gibt es nur stabil laufende Netzgeneratoren, zu denen man auch den kompletten Quellcode erhält, in der Programmiersprache C. Des weiteren steht MPI bis heute nur in den Programmiersprachen C und FORTRAN zur Verfügung. PVM lässt die Wahl offen, ob FORTRAN, C oder JAVA verwendet wird.

Durch die Wahl von PVM als auch von MPI wird eine möglichst große Portabilität des Programmcodes angestrebt. Die Wahl der Bibliothek geschieht durch Präprozessordirektiven.

Ausführbare Programme existieren für Sun Workstationcluster, den Parsytec PowerXPlorer als auch für Linux-Netzwerke. Zur Übersetzung des Codes können sowohl Compiler der Hardwarehersteller als auch Compiler aus dem GNU-Projekt verwendet werden. Die unterschiedlichen Hardwaretopologien sowie die leicht unterschiedlichen Implementierungen der Bibliotheken und Compiler ergeben für die gleichen Problemstellungen teilweise sehr unterschiedliche Rechenzeiten. Die resultierenden Finite-Elemente-Netze sind die gleichen.


next up previous contents
Nächste Seite: Anwendungsbeispiele Aufwärts: Objektorientierte Modellierung Vorherige Seite: Paralleler Ablauf   Inhalt