Entwicklung eines mehrfach parallel arbeitenden Kalkulationsmoduls für verteilte Berechnungen

Auszug aus dem Forschungsbericht 2006

In der zweiten Phase wurde mit der Erstellung einer Konsolen-Anwendung begonnen, die weitestgehend unabhängig vom verwendeten Betriebssystem implementiert ist (zunächst vorgesehen für Microsoft Windows und LINUX) und deren Aufgabe darin besteht, die eigentlichen Berechnungen durchzuführen.

Dieses Berechnungsmodul kann auf beliebig vielen PCs bzw. Workstations (sog. Calculator-Hosts) eingesetzt werden, eine TCP/IP-basierende Interprozesskommunikation ermöglicht die Übergabe der Rechen-parameter und ?vorgaben vom Pre-/Postprozessor.

Das Berechnungsmodul startet dann die eigentliche Berechnung und legt die Ergebnisse zunächst lokal ab. Der Pre-/Postprozessor kann den Status der Berechnungen jederzeit abfragen und die Ergebnisse nach dem Abschluss der Berechnung abholen.

Während der Entwicklung des Berechnungsmoduls war die grundlegende Einarbeitung in das Betriebssystem LINUX (hier in den Versionen Knoppix 3.4 bzw. SUSE 10.1) und die dort verfügbaren Anwendungen zur Programmentwicklung (C++ Compiler, KDevelop-Entwicklungsumgebung) erforderlich.

Weiterhin zeigte sich, dass aufgrund von Unterschieden in den jeweils verfügbaren Bibliotheks-funktionen doch eine größere Anzahl von versionsspezifischen Unterscheidungen im Quellcode notwendig wurde, einige spezielle bisher nur unter Microsoft Windows verfügbare Funktionen wurden für LINUX ?nachgebaut?. Dabei wurde jedoch besonders darauf geachtet, dass bei der späteren Programmierung des Codes für die eigentlichen Berechnungen diese Unterschiede nicht mehr berücksichtigt werden müssen.

Die TCP/IP-Kommunikation wurde sowohl mit Windows-Systemen (Microsoft Windows 2000 Prof. und Microsoft Windows XP Prof.) als auch mit LINUX-Systemen (SUSE LINUX 9.x & 10.x, 32- und 64-bit-Versionen) erfolgreich getestet.

Eine in den Pre-/Postprozessor integrierte Ansicht ermöglicht das Anlegen, Verwalten und Abfragen der Calculator-Hosts.
Die Ergebnisse der Berechnungen können mit Hilfe des Pre-/Postprozessors abgefragt und anschließend in Form von Listen oder durch Projektion der Werte auf die Strukturen dreidimensional visualisiert werden.