Sie sind auf Seite 1von 13

Xpert.

press
Die Reihe Xpert.press vermittelt Professionals
in den Bereichen Softwareentwicklung,
Internettechnologie und IT-Management aktuell
und kompetent relevantes Fachwissen ber
Technologien und Produkte zur Entwicklung
und Anwendung moderner Informationstechnologien.
Christian Benjamin Ries
BOINC
Hochleistungsrechnen mit
Berkeley Open Infrastructure for Network Computing
Christian Benjamin Ries
Bielefeld
Deutschland
ISSN I439-3428
ISBN 978-3-642-23382-I 978-3-642-23383-8 (eBook)
DOI I0.I007/978-3-642-23383-8
Bibliograsche Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliograe;
detaillierte bibliograsche Daten sind im Internet ber http://dnb.d-nb.de abrufbar.
Springer Vieweg
Springer-Verlag Berlin Heidelberg 20I2
Dieses Werk ist urheberrechtlich geschtzt. Die dadurch begrndeten Rechte, insbesondere die der ber-
setzung, des Nachdrucks, des Vortrags, der Entnahme von Abbildungen und Tabellen, der Funksendung,
der Mikroverlmung oder der Vervielfltigung auf anderen Wegen und der Speicherung in Datenver-
arbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfltigung
dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen der gesetzlichen
Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik Deutschland vom9. September I963 in der
jeweils geltenden Fassung zulssig. Sie ist grundstzlich vergtungspichtig. Zuwiderhandlungen unter-
liegen den Strafbestimmungen des Urheberrechtsgesetzes.
Die Wiedergabe vonGebrauchsnamen, Handelsnamen, Warenbezeichnungenusw. indiesemWerk berech-
tigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen imSinne der Waren-
zeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wren und daher von jedermann benutzt
werden drfen.
Gedruckt auf surefreiem und chlorfrei gebleichtem Papier
Springer Vieweg ist eine Marke von Springer DE. Springer DE ist Teil der Fachverlagsgruppe Springer
Science+Business Media www.springer-vieweg.de
Fr meine Familie,
fr meine Nchsten,
fr mich!
Vorwort
Wenn Sie nach einemBuch ber BOINC suchen, so wird es Ihnen sicherlich schwer-
fallen, etwas Passendes zu nden. Ich habe es whrend meiner ersten Schritte mit
BOINC getan und war verblfft: Alles was ich fand waren kleinere Abschnitte
in dicken Bchern ber vllig andere Technologien. Erstaunlich, denn immerhin
existiert BOINC ofziell schon seit Februar 2002. Aber ganz allein ist man dann
doch nicht; BOINC besitzt eine wunderbare, hilfsbereite Community und ein stel-
lenweise nicht mehr ganz aktuelles Wiki, bedauerlicherweise ohne tiefer gehende
Erklrungen und Beispiele der Programmierschnittstelle. Whrend der ersten Ent-
wicklungsarbeiten laufen Sie daher mglicherweise gegen die Wand und Sie wissen
nicht warum. Mit diesem Buch mchte ich versuchen, Ihnen die ersten Schritte mit
BOINC zu vereinfachen, und liefere Ihnen einen nachvollziehbaren Entwicklungs-
weg, von der Idee bis zum lauffhigen BOINC-Projekt.
Meinen ersten Kontakt mit BOINC hatte ich 2007, damals noch freiwilliger Pro-
jektteilnehmer und ich habe ein wenig Rechenleistung fr das Lsen von wissen-
schaftlichen Fragestellungen zur Verfgung gestellt. Nach meinem Erststudium der
Informationstechnik an der Fachhochschule Bielefeld habe ich mich direkt in den
Masterstudiengang Optimierung und Simulation an derselben Hochschule einge-
schrieben. Seither ist BOINC ein groer Teil meines Lebens und hat mich bis heute
fast tglich beschftigt. In meiner Masterarbeit habe ich mich grndlich mit den
Funktionen und technischen Rafnessen von BOINC auseinandergesetzt, um soge-
nannte ISV-Anwendungen (Independent-Software-Vendor) mit BOINC zu verheira-
ten, zu verteilen und Rechner Dritter fr die Abarbeitung von Simulationsmodellen
einzubeziehen mit einigem Erfolg.
Seither bin ich wissenschaftlicher Mitarbeiter an der Fachhochschule Bielefeld
und promoviere in Kooperation mit der Glynd O wr University in Wales im Bereich
des Computing Engineering. Meine Promotionsarbeit beschftigt sich mit der Erfor-
schung von Anstzen fr einen modellgetriebenen Entwicklungsansatz, um dadurch
die Arbeit mit BOINC efzient und so einfach wie mglich zu gestalten. Die Ent-
wicklungszeit soll gering und die Wartungsarbeiten minimal sein.
Wir beschftigen uns in diesemBuch in vier Abschnitten mit BOINC, so dass Sie
in die Lage versetzt werden eigene BOINC-Projekte zu realisieren. Teil I (Grund-
vii
viii Vorwort
lagen) liefert Ihnen eine Erluterung der unterschiedlichen aktuellen Entwicklungs-
anstze und Informationen darber, was mit BOINC mglich ist. Teil II (Technik)
erlutert, wie Sie die BOINC-Quellen fr ein eigenes BOINC-Projekt herunterladen
und kompilieren. Teil III (BOINC) stellt die Programmierschnittstelle von BOINC
vor, zeigt Ihnen Listings zahlreicher Funktionen und in welchem Kontext diese
genutzt werden knnen, weiterhin wird der Unterschied zwischen den Implemen-
tierungen von Linux, Macintosh und Windows in Augenschein genommen. Teil IV
(Praxis) prsentiert Praxisbeispiele von vier BOINC-Projekten. Von der Webseite
zum Buch http://www.visualgrid.de/buch knnen alle Quellen heruntergeladen und
von Ihnen modiziert und verwendet werden. Die BOINC-Quellen sind nicht zu
hundert Prozent frei von Fehlern. Aus diesem Grund gibt es zustzlich ein Blog
http://wp.visualgrid.de mit Eintrgen zu diesen Fehlern und mglichen Lsungen.
Weitere Informationen bezglich meiner Arbeiten mit BOINC nden Sie auf meiner
Webseite www.christianbenjaminries.de.
Bedanken mchte ich mich bei meinen Mentoren Prof. Dr. rer. nat. Christian
Schrder und Prof. Dr. Vic Grout. Dank gebhrt Alexandra Marcelina Boggasch
und meiner Familie fr die seelische Untersttzung in den letzten Monaten und Jah-
ren. Ein Dank an die Arbeitsgruppe Computational Materials Science and Engi-
neering (CMSE): Thomas Hilbig, Thomas Englisch, Mikhail Tolstykh und Lisa
Teich. Vielen Dank an das Bundesministerium fr Bildung und Forschung (BMBF)
und an die Arbeitsgemeinschaft industrieller Forschungsvereinigungen Otto von
Guericke e.V. (AiF) fr die Mglichkeit der freien Entfaltung innerhalb meiner
Arbeiten.
Seit dem ersten Tag bin ich begeistert von BOINC und der Idee, meine Berech-
nungsprobleme auf der ganzen Erde verteilt zu lsen. Ich hoffe, dass ich Ihnen mit
diesem Buch die ersten Schritte mit der Arbeit mit BOINC erleichtere und mg-
lichst gute Tipps geben kann, so dass auch Ihre Projekte von Erfolg gekrnt sind.
Zuletzt noch ein kleiner Hinweis auf unser BOINC-Projekt an der Fachhochschule
Bielefeld http://spin.fh-bielefeld.de. Wir wrden uns sehr freuen, Sie in unserem
Team begren zu drfen!
Bielefeld, Mrz 2012 Christian Benjamin Ries
Inhaltsverzeichnis
Teil I Grundlagen
1 Clustertechnologien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Geschichte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Infrastruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Varianten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.1 High-Performance-Computing . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.2 Grid-Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.3 Cloud-Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2 BOINC ist Public-Resource Computing . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Was ist umsetzbar? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 Einsatzbereiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4 Forschergruppen und ihre Erfolge . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.1 SETI@home: Sind wir allein im All? . . . . . . . . . . . . . . . . . . . 20
2.4.2 Einstein@home: Weltraumforschung . . . . . . . . . . . . . . . . . . . 21
2.4.3 Visu@lGrid: Model-Driven-Engineering . . . . . . . . . . . . . . . . 22
2.4.4 Dem Dieb auf der Spur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Teil II Technik
3 Berkeley Open Infrastructure for Network Computing . . . . . . . . . . . . . 27
3.1 Einfhrung in BOINC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2 Aufgaben des BOINC-Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3 Aufgaben des BOINC-Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.4 Performancebewertung, Credit-Berechnung . . . . . . . . . . . . . . . . . . . . 32
3.5 Verwendung des BOINC-Managers . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
ix
x Inhaltsverzeichnis
4 Architektur des BOINC-Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1 Architektur und Prinzipien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.1.1 Projekt- und Serverseite von BOINC . . . . . . . . . . . . . . . . . . . 35
4.1.2 Aufgaben eines BOINC-Projektservers . . . . . . . . . . . . . . . . . 38
4.2 Komponenten der Serverseite von BOINC . . . . . . . . . . . . . . . . . . . . . 41
4.2.1 Verarbeitungsschritte eines BOINC-Projektes . . . . . . . . . . . . 41
4.2.2 Feeder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2.3 Transitioner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.2.4 Validator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.2.5 Assimilierer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.2.6 File Deleter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.7 Scheduler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.8 Webseite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.3 BOINC-Komponenten der Clientseite . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.1 BOINC-Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.3.2 Slot-System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3.3 BOINC-Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
5 Serverinstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1 BOINC-Projekte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 Ausgangspunkt fr eine BOINC-Server-Installation . . . . . . . . . . . . . 66
5.2.1 Testumgebung mit VirtualBox . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.2.2 Kickstart-Installation eines Ubuntu-Servers . . . . . . . . . . . . . . 67
5.3 Software- und Bibliotheksabhngigkeiten . . . . . . . . . . . . . . . . . . . . . . 69
5.4 BOINC-Quellen herunterladen und kompilieren . . . . . . . . . . . . . . . . 72
5.5 Struktur der BOINC-Quellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.6 Ein erstes Projekt erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.6.1 Installationsskript ausfhren . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.6.2 Eine erste wissenschaftliche Applikation hinzufgen . . . . . . 82
5.7 Datenbank das Gedchtnis eines BOINC-Projektes . . . . . . . . . . . . 97
5.7.1 Struktur der Datenbank. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.8 BOINC in einem Cluster installieren . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6 Serveradministration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.1 Status der Serverkomponenten ermitteln und deuten . . . . . . . . . . . . . 103
6.2 Informationen ber die wissenschaftlichen Applikationen . . . . . . . . 103
6.3 Administrationswebseite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3.1 Bereiche der Administrationswebseite . . . . . . . . . . . . . . . . . . 104
6.3.2 Informationen mit regulren Ausdrcken abfragen . . . . . . . . 106
Inhaltsverzeichnis xi
Teil III BOINC
7 Programmiergrundlagen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1 Voraussetzungen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.2 Allgemeine Terminologien und Qualittssicherung . . . . . . . . . . . . . . 112
7.2.1 Rckgabewerte im BOINC-Framework . . . . . . . . . . . . . . . . . 112
7.2.2 Namensgebung von Funktionen und Konstanten . . . . . . . . . . 113
7.3 Programmierung einer wissenschaftlichen Applikation . . . . . . . . . . . 114
7.3.1 Programmierrahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
7.3.2 Wissenschaftliche Applikationen initialisieren . . . . . . . . . . . 116
7.3.3 Beenden einer wissenschaftlichen Applikation . . . . . . . . . . . 121
7.3.4 Kommunikation zum BOINC-Client mglich? . . . . . . . . . . . 122
7.3.5 Slot-Mechanismus: Virtuelle Dateinamen . . . . . . . . . . . . . . . 123
7.3.6 Dateioperationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
7.3.7 Dateien sperren Sperrung erstellen und aufheben . . . . . . . 133
7.3.8 Dateien mit XML-Baum erstellen und verarbeiten . . . . . . . . 134
7.3.9 Berechnungsfortschritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
7.3.10 Atomare Bereiche und Funktionen . . . . . . . . . . . . . . . . . . . . . 141
7.3.11 Flexible Arbeitszeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
7.3.12 Prfung der Netzwerkverbindung . . . . . . . . . . . . . . . . . . . . . . 144
7.3.13 Statusmeldungen und Informationsaustausch . . . . . . . . . . . . 145
7.3.14 Kommunikation zwischen Anwendungen . . . . . . . . . . . . . . . 146
7.4 Mehrkernprozessoren fr Berechnungen nutzen . . . . . . . . . . . . . . . . 149
7.4.1 Initialisierung. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
7.4.2 Prozesse verwalten und steuern . . . . . . . . . . . . . . . . . . . . . . . . 150
7.5 Grakkartenprozessor fr Berechnungen nutzen . . . . . . . . . . . . . . . . 152
7.5.1 GPU-Entwicklungsumgebung: CUDA . . . . . . . . . . . . . . . . . . 152
7.5.2 BOINC mit GPUs initialisieren . . . . . . . . . . . . . . . . . . . . . . . . 155
7.5.3 Mehr Rechenkraft nutzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
7.5.4 CUDA-Applikation kompilieren . . . . . . . . . . . . . . . . . . . . . . . 159
8 Die Welt ist bunt auch BOINC! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1 Ein wenig OpenGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.1 OpenGL-Bibliotheken fr Linux . . . . . . . . . . . . . . . . . . . . . . . 161
8.1.2 OpenGL-Bibliotheken fr Windows . . . . . . . . . . . . . . . . . . . . 162
8.1.3 OpenGL-Bibliotheken fr MacOS X . . . . . . . . . . . . . . . . . . . 162
8.2 BOINC-Grakschnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
8.2.1 Funktionen der BOINC-Grakschnittstelle . . . . . . . . . . . . . . 163
8.3 Hilfefunktionen fr den OpenGL-Umgang . . . . . . . . . . . . . . . . . . . . . 168
8.3.1 HLS/RGB-Konvertierungen . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.3.2 Text in der Grakszene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
8.3.3 OpenGL-Helfer: Progressbar, Panels, Stareld . . . . . . . . . . . 171
8.4 Entwicklung eines Bildschirmschoners . . . . . . . . . . . . . . . . . . . . . . . . 172
8.4.1 Bewegungen in der OpenGL-Szene . . . . . . . . . . . . . . . . . . . . 173
xii Inhaltsverzeichnis
9 Der BOINC-Server als Schaltzentrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
9.1 Sicherheitsaspekte und Authentizierung . . . . . . . . . . . . . . . . . . . . . . 177
9.2 Arbeitspakete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
9.2.1 Skript zur Erstellung von Arbeitspaketen . . . . . . . . . . . . . . . . 178
9.2.2 Erstellung von Arbeitspaketen . . . . . . . . . . . . . . . . . . . . . . . . . 180
9.2.3 Arbeitspakete aus der Ferne erstellen . . . . . . . . . . . . . . . . . . . 188
9.3 Individuelle Dmonen implementieren . . . . . . . . . . . . . . . . . . . . . . . . 192
9.3.1 Validierer Prfung der Ergebnisse . . . . . . . . . . . . . . . . . . . . 192
9.3.2 Assimilierer Ergebnisse abspeichern . . . . . . . . . . . . . . . . . . 199
9.4 Trickle-Messages: eine asynchrone Kommunikation . . . . . . . . . . . . . 202
9.4.1 Aktivieren von Trickle-Messages . . . . . . . . . . . . . . . . . . . . . . 203
9.4.2 Kommunikationsprotokoll von Trickle-Messages . . . . . . . . . 204
9.4.3 Sequenz einer Trickle-Message . . . . . . . . . . . . . . . . . . . . . . . . 205
9.4.4 BOINC-Komponenten fr Trickle-Messages . . . . . . . . . . . . . 207
9.5 Erweiterte BOINC-Modikationen erstellen . . . . . . . . . . . . . . . . . . . 216
9.5.1 Datenbank: das Hirn eines BOINC-Projekts . . . . . . . . . . . . . 216
10 Debugging innerhalb des BOINC-Frameworks . . . . . . . . . . . . . . . . . . . . 225
10.1 Diagnoseoptionen fr wissenschaftliche Applikationen . . . . . . . . . . 225
10.2 Protokollierungsdateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10.2.1 Protokollierungsfunktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
10.2.2 Format der Protokollierungsdateien . . . . . . . . . . . . . . . . . . . . 228
Teil IV Praxis
11 Kreiszahl@home: Monte-Carlo-Algorithmus fr die Kreiszahl . . . . 233
11.1 Wissenschaftliche Applikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
11.1.1 Aufbau und Programmlogik. . . . . . . . . . . . . . . . . . . . . . . . . . . 234
11.1.2 Verbesserungen erreichen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
11.1.3 Eingabeparameter und Ergebnisdatei . . . . . . . . . . . . . . . . . . . 243
11.1.4 Kompilieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
11.1.5 Eine erste Ausfhrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
11.2 Projekteinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
11.2.1 Konguration und Anwendung hinzufgen . . . . . . . . . . . . . . 248
11.2.2 Eingabe-/Ergebnisschablonen . . . . . . . . . . . . . . . . . . . . . . . . . 248
11.2.3 Arbeitspakete erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
11.2.4 Validierung Prfung der Ergebnisse . . . . . . . . . . . . . . . . . . . 254
11.2.5 Assimilation Ergebnisse abspeichern . . . . . . . . . . . . . . . . . . 258
11.3 Arbeitspakete verteilen und rechnen lassen . . . . . . . . . . . . . . . . . . . . . 267
11.4 Visualisierung der Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
11.4.1 Ergebnisse aufarbeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
11.4.2 Ergebnisse deuten und verstehen . . . . . . . . . . . . . . . . . . . . . . . 271
Inhaltsverzeichnis xiii
12 Filmsequenzen bearbeiten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
12.1 Wissenschaftliche Applikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
12.1.1 Glossar fr lmboinc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
12.1.2 Aufbau und Programmlogik. . . . . . . . . . . . . . . . . . . . . . . . . . . 275
12.1.3 Eingabeparameter und Ergebnisdatei . . . . . . . . . . . . . . . . . . . 283
12.1.4 Eine erste Ausfhrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
12.2 Projekteinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
12.2.1 Konguration und Anwendung hinzufgen . . . . . . . . . . . . . . 289
12.2.2 Templates erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
12.2.3 Arbeitspakete erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
12.3 Arbeitspakete verteilen und rechnen lassen . . . . . . . . . . . . . . . . . . . . . 294
12.4 Ergebnisverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
12.4.1 Validierung Prfung der Ergebnisse . . . . . . . . . . . . . . . . . . . 296
12.4.2 Assimilation Ergebnisse abspeichern . . . . . . . . . . . . . . . . . . 297
13 Verwendung von ISV-Applikationen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
13.1 Wissenschaftliche Applikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
13.1.1 Problemansatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
13.1.2 Aufbau und Programmlogik. . . . . . . . . . . . . . . . . . . . . . . . . . . 301
13.1.3 Beschreibung der verwendeten ISV-Applikation . . . . . . . . . . 302
13.2 BOINC-Wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
13.2.1 Laufzeitverhalten. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
13.2.2 Mglichkeiten eines Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
13.3 Projekteinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
13.3.1 Konguration und Anwendung hinzufgen . . . . . . . . . . . . . . 305
13.3.2 CINOLAs job.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
13.3.3 Templates erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
13.4 Arbeitspakete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
13.4.1 Arbeitspakete erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
13.4.2 Arbeitspakete mit rBOINC erstellen . . . . . . . . . . . . . . . . . . . . 312
13.5 Ergebnisverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
13.5.1 Validierung Prfung der Ergebnisse . . . . . . . . . . . . . . . . . . . 314
13.5.2 Assimilation Ergebnisse abspeichern . . . . . . . . . . . . . . . . . . 314
14 ComsolGrid: COMSOL Multiphysics und BOINC . . . . . . . . . . . . . . . . . 315
14.1 Grundidee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
14.2 Anforderungen an ComsolGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
14.3 ComsolGridStarter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
14.3.1 Prozesskontrolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
14.3.2 Start- und Simulationsparameter . . . . . . . . . . . . . . . . . . . . . . . 322
14.3.3 Prozessfortschritt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
14.4 BOINC-Manager Modikationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
14.5 Arbeitspakete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
14.5.1 Erstellung von Arbeitspaketen . . . . . . . . . . . . . . . . . . . . . . . . . 326
14.5.2 Denition der Parameterstudienwerte . . . . . . . . . . . . . . . . . . . 328
xiv Inhaltsverzeichnis
14.6 Ergebnisverarbeitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
14.6.1 Validierer fr ComsolGrid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
14.6.2 Assimilierer fr ComsolGrid . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Teil V Anhang
15 BOINC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
15.1 Fehlernummern und Fehlermeldungen . . . . . . . . . . . . . . . . . . . . . . . . 333
15.2 Laufzeitfehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
15.2.1 State le error: missing le . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
15.2.2 OpenGL-Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
15.3 Kongurationsdateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
15.3.1 Plattformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
15.3.2 Projekteinstellungen in der cong.xml . . . . . . . . . . . . . . . . . . 335
15.3.3 Eingabe-/Ergebnisschablonen fr Arbeitspakete . . . . . . . . . . 345
16 Lizenzen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
16.1 GNU Free Documentation License . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
16.2 SGI free Software License B . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Sachverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365