Standardsoftware
Nicht jeder, der eine Aufgabe zu bewältigen hat, die ein HPC-System voraussetzt, möchte sofort in die parallele Programmierung einsteigen. Es lohnt sich, zunächst zu prüfen, ob nicht bereits eine gute Software für das Problem existiert. Wenn eine Software das Message Passing Interface (MPI) voraussetzt oder zumindest fähig ist MPI zu nutzen, ist das ein guter Hinweis dafür, dass sie im Cluster lauffähig ist. Von dieser Art gibt es bereits jede Menge Software und manche Projekte erschließen dem Clustercomputing sogar ganz neue Bereiche.
Dist CC [15] ist beispielsweise ein Projekt, das einen verteilten Compiler bereitstellt. Er spart Kosten, weil der Entwickler nicht mehr auf das Übersetzen warten muss. Um große Statistiken auf einem Cluster auszuwerten, eignet sich der freie S-Plus-Klon R [16].
Der Bereich der physikalischen Mechanik-Simulation kann durch FEM-Programme (Finite Elemente Methode) abgedeckt werden. Elmer [17] ist eine freie Software, die Strömungs- und Strukturmechanik mit der FE-Methode simulieren kann und Cluster-fähig ist. Einen anderen Bereich der Simulation deckt das Weather Research and Forcasting Model [18].
Auch für rein naturwissenschaftliche Zwecke sind viele freie Simulationscodes verfügbar. Clustal [19] und Emboss [20] sind ganze Suiten für molekulargenetische Simulationen. APBS [21] ist dagegen eine Software, die elektrochemische Eigenschaften und Prozesse von Biomolekülen berechnen kann (siehe Abbildung 4). Aus dem Bereich der Physik kommt die Cernlib [22], die die gleichnamige Forschungseinrichtung frei für die Belange physikalischer Labors anbietet.
Um einen Cluster in eine Renderfarm zu verwandeln, existieren ebenfalls freie Projekte. Povray [23] lässt sich schon seit vielen Jahren verteilt ausführen, und der freie 3D-Modeller Blender kann entweder in das Povray-Format exportieren oder mittels Dr. Queue [24] selbst parallel rendern.
Abbildung 4: Ein in VMD dargestelltes Molekül von einem Protein. VMD kann direkt mit der Simulations-Software APBS zusammenarbeiten.
Paralleles Programmieren
Ist ein sehr spezifisches Problem zu lösen, bietet es sich oft an, die Software selbst zu schreiben oder ein bestehendes Programm selbst zu parallelisieren. Für verteilte Computersysteme gibt es dafür zwei Paradigmen. Das ist zum einen das Message Passing Interface (MPI), ein komplettes Programmiermodell, das die Kommunikation zwischen parallelen Prozessen gestattet. MPI bildet oft sogar die Treiberschnittstelle für Hochgeschwindigkeits-Netzwerke, die in großen Parallelrechnern zum Einsatz kommen. Freie MPI-Implementierungen sind Open MPI [25] oder MPICH2 [26].
Das andere stark vertretene Paradigma ist Open MP. Sein Programmiermodell ist in erster Linie auf die parallele Programmierung von Multicore-Systemen ausgelegt. Über spezielle Pragma-Direktiven, die der Programmierer direkt in den Code des Programms schreibt, teilt er dem Compiler mit, was der automatisch parallelisieren kann. Viele Compiler, auch der GCC, verstehen heutzutage bereits von Haus aus Open-MP-Direktiven. (jcb)
| Der Autor |
|---|
| Dominic Eschweiler ist wissenschaftlicher Mitarbeiter am Supercomputing Centre des Forschungszentrums in Jülich. Er befasst sich mit der automatischen Leistungsanalyse hoch skalierender paralleler Codes.
|
Diesen Artikel als PDF kaufen
Express-Kauf als PDF
Umfang: 5 Heftseiten
Preis € 0,99
(inkl. 19% MwSt.)
Als digitales Abo
Weitere Produkte im Medialinx Shop »
Versandartikel
Onlineartikel
Alle Rezensionen aus dem Linux-Magazin
- Buecher/07 Bücher über 3-D-Programmierung sowie die Sprache Dart
- Buecher/06 Bücher über Map-Reduce und über die Sprache Erlang
- Buecher/05 Bücher über Scala und über Suchmaschinen-Optimierung
- Buecher/04 Bücher über Metasploit sowie über Erlang/OTP
- Buecher/03 Bücher über die LPI-Level-2-Zertifizierung
- Buecher/02 Bücher über Node.js und über nebenläufige Programmierung
- Buecher/01 Bücher über Linux-HA sowie über PHP-Webprogrammierung
- Buecher/12 Bücher über HTML-5-Apps sowie Computer Vision mit Python
- Buecher/11 Bücher über Statistik sowie über C++-Metaprogrammierung
- Buecher/10 Bücher zu PHP-Webbots sowie zur Emacs-Programmierung
Insecurity Bulletin
Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...





