Zwischenbericht zum GTB-Projekt ViSpaS - September 2000
„Polyatomare Systeme: Visuell gesteuerte Simulation und Analyse komplexer Oberflächenreaktionen

Auftragsnummer TK 602 - NT 104



Projektverantwortung:

  • Prof. Dr. K. Hermann, Prof. Dr. M. Scheffler, Fritz-Haber-Institut, Berlin
  • Mitarbeiter:

  • J. Kühn, F. Mante (Gemeinsames Rechenzentrum, Fritz-Haber-Institut)
  • A. Hetey, Dr. P. Kratzer, Dr. J. Neugebauer (Abt. Theorie, Fritz-Haber-Institut)
  • Dr. H. Lederer, A. P. Seitsonen (Rechenzentrum Garching der MPG)

  • Dieser Bericht gliedert sich in zwei Teile. Der erste Teil knüpft an die im letzten Zwischenbericht dargestellten Anwendungen an und erläutert, wie sich die beschriebenen softwaretechnischen Konzepte umsetzen lassen konnten. Im zweiten Teil werden Anstrengungen beschrieben, die insbesondere die Datenübertragung über das Gigabit-Testbed beleuchten sollen.

    1. Programmentwicklung - Visualisierung
    2. Netz - Durchsatz-Messungen



    I. Programmentwicklung - Visualisierung

    Im Zwischenbericht GTP-Projekt ViSpaS März 2000 (ZB-0003) wurde die Konzeption zur computertechnischen Umsetzung ausführlich erläutert. Hier soll der aktuelle Stand der Implementierung beschrieben werden. Eine ausführliche Diskussion erfolgt im Abschlussbericht Ende 2000.

    Control-Interface

    Abbildung 1: Initialisierungs-Fenster (links) und Control-GUI-Fenster (rechts)

    Das Control-Interface (Control-GUI) wurde umgesetzt und weitgehend implementiert. In Abbildung 1 sind links das Initialisierungs-Fenster zur Eingabe der projektspezifischen Parameter und rechts das Control-Interface, das sich in 3 Teilfenster aufteilt, zu sehen (siehe auch ZB-0003, Abschnitt grafische Benutzeroberfläche).

    Es wurde eine Möglichkeit vorgesehen, die zu einem Projekt gehörenden Einstellungen unter einem Projektnamen zu speichern, um so einfach an verschiedenen Problemstellungen arbeiten zu können. Vom Control-Interface ist es nun möglich, das Programm fhimd per Knopfdruck zu starten oder zu beenden. Während der Rechnung kann man manuell die aktuelle Elektronendichte und Atomkonfiguration abfragen und visualisieren, sofern sie vom fhimd-Programm schon berechnet wurden. Dazu wird eine Anfrage an den Daten-Server geschickt (siehe ZB-0003, Abschnitt Datenkommunikation), der die Elektronendichte bzw. die Atomkonfiguration in das gewünschte Format konvertiert und zurückschickt, wo sie dann der Visualisierung zur Darstellung übergeben wird (siehe Abbildung 2).

    rho & atoms

    Abbildung 2: Visualisierung der Atomkonfiguration (grüne und weiße Kugeln) und der Elektronendichte (blaue Iso-Oberfläche)

    Zur Zeit wird an der Optimierung der Konvertierung und der Darstellung der Elektronendichte gearbeitet. Da die Datenstruktur der Wellenfunktionen hinsichtlich der Konvertierung, Übertragung und Darstellung sehr ähnlich ist, kann man die Funktionalität der Elektronendichte-Visualisierung leicht auf die von Wellenfunktionen übertragen.


    II. Netz - Durchsatz-Messungen [top]

    Um die Leistungsfähigkeit des Gigabit-Testbeds einschätzen zu können, ist es wichtig, verschiedene Messungen unter realistischen Betriebsbedingungen durchzuführen. Dazu standen hier Optimierungen hinsichtlich maximalen Datenduchsatzes im Vordergrund. Die im Zwischenbericht GTB-Projekt ViSpaS März 2000 besprochenen Problemstellungen der Ergonomie, Stabilität und Flexibilität der Software wurden dabei zunächst ausgeklammert.

    II.A. Voraussetzungen

    Die Gigabit-Testbed-Verbindung vom Rechenzentrum Garching (Rechner cray t3e) zum FHI Berlin (Rechner SGI rodin) wird zur Zeit im Modus CLIP (classical IP over ATM) betrieben. Durch den ATM- und IP- Overhead ergibt sich für den 622 MBit Adapter ein maximaler Durchsatzwert von 538,053 MBit/sec [Abschlussbericht Testbed West, Bericht GIGAnet http://webdoc.sub.gwdg.de/ebook/ah/1999/dfn/GTBWest.pdf].

    Für Messungen des Durchsatzes wurde das parallele Programm fhi98md so verändert, dass während einer Rechnung unterschiedlich große Datenmengen über das Gigabit-Testbed geschickt werden können, die auf der anderen Seite (rodin) von einem Programm empfangen werden. Die für die Socket-Kommunikation zuständigen Funktionen sind c-Routinen, die vom fhi98md-Fortran-Code aufgerufen werden.

    Folgende Parameter haben sich hinsichtlich des maximalen Durchsatzes als optimal erwiesen:

    Das Programm fhi98md wurde für die hier beschriebenen Messungen des Durchsatzes mit Hilfe des Queueing-Systems (small queue) der cray T3E gestartet und lief parallel auf 16 Prozessoren.

    Das Einsammeln der verteilten Daten zum dreidimensionalen Datensatz der Elektronendichte von den einzelnen Prozessoren erfolgte mit der cray-shmemget-Routinen vor dem Senden. Die Kommunikation über die Socket-Verbindung übernahm ein ausgewählter Prozessor (master), um zu gewährleisten, dass die Durchsatzrate unabhängig von der Anzahl der Prozessoren ist.


    II.B. Ergebnisse

    II.B.1. Durchsatzmessungen [top]

    Für die Bestimmung des Durchsatzes wurde vor und nach dem Aufrufen der socket-write-Routine die Zeit mit Hilfe der gettimeofday-Routine ausgegeben. Zunächst wird eine „normale“ Rechnung (in der Grafik mit Nr. 000704-0812 bezeichnet) ausführlicher erläutert. Im Anschluss werden verschiedene typische Abweichungen besprochen. Als Beispiel wurde hier eine GaAs-Struktur mit 8 Atomen berechnet.

    Durchsatz cray t3e, rodin

    Abbildung 3: Durchsatzraten während einer Rechnung: der Durchsatz auf der cray ist in rot dargestellt, der auf der rodin in schwarz. Nach jeder Iteration des fhi98md-Programms wird eine neue Elektronendichte berechnet und über das Gigabit-Testbed gesendet - hier als rechteckige Balken dargestellt. Die Größe des übermittelten Datenfeldes wurde nach jeweils 10 Iterationen vervierfacht, beginnend mit 2 MBit (entspricht einem Datenfeld von 32000 64-Bit-Realzahlen) bis zu einer maximalen Größe von 896 MBit (14 Mio Realzahlen), wie in der unteren x-Achse zu sehen ist.

    In Abbildung 3 sieht man den Durchsatz der übermittelten Daten während einer Rechnung bei verschieden großen Datenfeldern. Auf der rodin geht die Durchsatzrate (rote Linien) bei einer Datenfeld-Größe von 131 MBit (ab der 31. Iteration, 150 sec in Abb. 3) in eine Sättigung von etwa 300 MBit/sec (siehe auch Abbildung 4) während auf der cray ein Wert von etwa 250 MBit/sec erreicht wird. Für die Differenz der Durchsatzraten sind wahrscheinlich Pufferungen in den Rechnern selbst sowie auf der Strecke verantwortlich.

    Die hohen Durchsatzwerte bei kleinen Datenpaketen auf der cray (schwarze Linien bis 100 sec in Abbildung 3) sind auf Fehler der gettimeofday-Routine durch die begrenzte zeitliche Auflösung des Rechners zurückzuführen.

    Durchsatzrate vs Datenmenge

    Abbildung 4: Durchsatzrate in Abhängigkeit von der gesandten Datenmenge auf rodin. Man erkennt gut das Ansteigen des Durchsatzes bei steigender Datenmenge und das Erreichen der Sättigung bei einer Feldgröße von 130 MBit.


    Abbildung 5 zeigt die Übertragungsdauer verschieden großer Datenfelder. Die gerade Linie (schwarz) zeigt den linearen Verlauf der theoretischen Durchsatzrate von 538 MBit/sec (siehe oben). Man erkennt, dass mit oben genannten Parametern größere Datenpakete effizienter übertragen werden, wobei die Durchsatzrate bei den letzten beiden Datenmengen noch um mehr als 200 Mbit/sec vom theoretischen Wert abweicht.

    dt vs Datenmenge

    Abbildung 5: Zeit für das Senden eines Datenpaketes (Dt) in Abhängigkeit von der Größe der Datenmenge

    B2. Äußere Einflüsse [top]

    Die Größe des Durchsatzes scheint von vielen anderen Faktoren abhängig zu sein. Nachfolgend sind fünf Beispiele für unterschiedliche, aber typische Verhaltensmuster des Durchsatzes während einer Messung bei ansonsten gleichen Parametern (16 Prozessoren, Datenmenge 2 - 896 MBit, 99 Iterationen, MTU 65280) aufgeführt.

    1. Verglichen mit der Messung in Abbildung 3 sind in Abbildung 6 deutliche zeitliche Schwankungen zu erkennen.

    2. In Abbildung 7 liegt die Durchsatzrate relativ konstant bei 260 MBit/sec und sinkt dann bei 430 sec auf einen relativ konstanten Wert von 215 MBit/sec.

    3. In Abbildung 8 sinkt die Durchsatzrate relativ gleichmäßig von 300 auf 240 MBit/sec.

    4. Abbildung 9 zeigt einen starken Einbruch der Durchsatzrate bei 500 sec.

    5. In Abbildung 10 ist der Durchsatz während einer Rechnung zu sehen, die nach 40 Iterationen abstürzte.

    000703-1928

    Abbildung 6: Beispiel (a) Durchsatzmessungen mit relativ starken Schwankungen des Durchsatzes [000703-1928]

    000704-1327

    Abbildung 7: Beispiel (b) Durchsatzmessung mit plötzlicher Abnahme des Durchsatzes [000704-1327]

    000704-1247

    Abbildung 8: Beispiel (c) Durchsatzmessung mit langsamer Abnahme des Durchsatzes [000704-1247]

    000703-1349

    Abbildung 9: Beispiel (d) Durchsatzmessung mit Einbrüchen des Durchsatzes [000703-1349]

    000704-1148

    Abbildung 10: Beispiel (e) Durchsatzmessung mit Absturz des visualisierenden Daten zu puffern und mit einem separaten Prozess / fhi98md-Programms nach 40 Iterationen [000704-1148]

    B3. Fazit [top]

    Die Messungen der Durchsatzraten zeigen, dass es möglich ist, Daten direkt von dem fhi98md-Programm über das Gigabit-Testbed zur Visualisierung an die Grafik-Workstation zu senden, wobei ein Durchsatz von 300 MBit/sec erreicht werden konnte. Diese Durchsatzrate entspricht 0.3 - 10 Datensätzen / sec und erscheint für den interaktiven Betrieb akzeptabel.

    Die starken äußeren Einflüsse, insbesondere die häufigen, vom Netz verursachten Abstürze des fhi98md-Programms, machen diese Art der Datenübertragung jedoch nicht praktikabel, da ein unvorhergesehener Abbruch des Programms nicht akzeptabel ist. Es erwies sich daher als zwingend, die zu visualisierenden Daten zu puffern und mit einem separaten Prozess / separaten Programm (siehe Abschnitt I Daten-Server) über das Gigabit-Testbed zu übermitteln.




    Andreas Hetey - Sep 2000 [top]