Zwischenbericht zum GTB-Projekt ViSpaS - März 2000

»Polyatomare Systeme: Visuell gesteuerte Simulation und Analyse komplexer Oberflächeneaktionen«

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)


 

I) Netzinfrastruktur

Entsprechend dem im letzten Zwischenbericht gegebenen Ausblick wurden nach Herstellung der ATM-Konnektivität zwischen IPP-Garching, ZIB, AEI-Golm und FHI IP-Verbindungen zwischen diesen Standorten getestet. Wegen des Einsatzes von ATM-Switches unterschiedlicher Hersteller bei den verschiedenen Institutionen einerseits und unterschiedlicher Erfahrungen mit ATM-Protokollen andererseits erwies es sich als durchaus schwierig, alle Standorte in einem homogenen IP-Netz zusammenzufassen. Dies führte dazu, daß verschiedene Varianten von Übertragungs- und Signalisierungsverfahren nacheinander ausprobiert wurden. Dieser Umstand war für die Verbindung zwischen den Knoten IPP-Garching, ZIB und FHI völlig problemlos, da es sich hierbei um Leitungsabschnitte handelte, die ausschließlich dem Testbett dienten.

Eine gänzlich andere Situation bestand auf dem Teilstück zwischen FHI und AEI-Golm. Diese Strecke diente von Anfang an auch der B-WiN-Anbindung der drei Max-Planck-Institute am Standort Golm, die aus technischen Gründen nicht wie ursprünglich geplant auf PVC-Basis, sondern übergangsweise als LAN-Emulation realisiert werden mußte. Bei der Installation der unterschiedlichen Varianten der Testbett-Verbindungen mußte jeweils darauf geachtet werden, daß der laufende Betrieb nicht oder, wenn unvermeidbar, nur kurzfristig nachts unterbrochen wurde.

Unter diesem Aspekt erwies sich der für das Testbett durchaus zu rechtfertigende Trial-and-Error-Ansatz bezüglich der Wahl eines geeigneten Übertragungs- bzw. Signalisierungsverfahrens als störend. Speziell in der Zeit Oktober/November 1999 wurden die Verfahren beinahe im 48-Stundentakt geändert. Wenn es bereits in der Planungsphase eine verbindliche Festlegung darüber gegeben hätte, mit welchem Verfahren IP auf ATM übertragen werden sollte, wären solche Probleme vermieden worden.

Seit Mitte November 1999 sind alle Standorte so miteinander verbunden, daß die Anwendungen diese Infrastruktur nutzen können. Nach einer erneuten Änderung der Signalisierung im Februar 2000 konnte auch eine AEI-Anwendung auf der CeBit in Hannover unter Verwendung der Testbett-Strecken demonstriert werden. Mit diesen Aktivitäten sind die Arbeiten an der Netzinfrastruktur abgeschlossen.

 

II) Anwendungen

Im Berichtszeitraum wurden weitere softwaretechnische Konzepte erarbeitet und in ersten Anwendungen getestet. Die folgenden Punkte sollen hier kurz abgehandelt werden:

 

Analyse der physikalisch-chemischen Problemstellung [top,aw]

Der Einsatz von Parallelrechnern zur Durchführung von Elektronenstruktur-Berechnungen erlaubt es, in relativ kurzer Zeit eine große Anzahl von Daten über das interessierende physikalische oder chemische System zu erhalten. Einerseits enthalten diese Daten wertvolle Informationen über das untersuchte System, deren Kenntnis ein schnelleres Fortschreiten bei dessen Erforschung ermöglichen würde, andererseits ist eine sinnvolle Interpretation dieser Vielzahl von Daten nur über eine visuelle Auswertung möglich. Die hohe Übertragungsrate des Gigabit-Testbetts ermöglicht es, die erforderliche aufwendige Visualisierung von stark strukturierten Datenfeldern (z. B. elektronische Ladungsdichten und Wellenfunktionen) zeitgleich mit ihrer Berechnung durchzuführen. Die interessierenden Größen lassen sich am sinnvollsten durch Isoflächen- oder Isoliniengrafiken darstellen. Typischerweise sollen atomare Strukturmodelle diesen Grafiken überlagert werden, um eine optische Zuordnung der erkennbaren Strukturen zu ermöglichen. Ferner sind verschiedene Visualisierungsmodi wünschenswert: nach einer Grobinspektion (Monitor-Mode), die am besten in der Darstellung durch dreidimensionale Isoflächen erfolgt, soll das Umschalten auf eine detaillierte zweidimensionale Darstellung durch Isolinien möglich sein (Analysis-Mode), da sich nur dadurch die wesentlichen Details der dargestellten Größen identifizieren und interpretieren lassen. Insbesondere sollte ein schnelles Hin- und Herschalten zwischen den Visualisierungsmodi möglich sein.

 

Konzeption zur computertechnischen Umsetzung [top,aw]

Eine Schwierigkeit bei der Verwirklichung dieser Ziele ergibt sich aus der Heterogenität der zum Einsatz kommenden Software: Das Programm für die Elektronenstrukturberechnung (fhi98md) ist ein Fortran90-Programm, das auf einer massiv-parallelen distributed memory Maschine läuft. Die zu visualisierenden Daten werden an separaten Prozessorelementen gesammelt und in das Gigabit-Testbett eingespeist, ohne dass der Programmlauf der Elektronenstrukturberechnung dadurch wesentlich verlangsamt wird. Ferner muss während des Programmlaufs eine Steuerungsmöglichkeit bestehen, um auszuwählen, welche Daten zur Visualisierung ausgegeben werden sollen. Das erfordert einerseits Modifikationen an dem parallelen Programmcode selbst, andererseits muss ein separater Prozess (Datenserver) auf der Cray T3E laufen, der das Puffern, Konvertieren und Versenden der Ausgabedaten im gewünschten Format sowie das Empfangen und die Weitergabe möglicher Steuersignale während des Programmlaufs von fhi98md übernehmen kann.

 

Analyse der Datenkommunikation [top,aw]

Zur Daten-Kommunikation wurde ein Zusatzschicht, bestehend aus dem Datenserver und einer grafischen Benutzeroberfläche, dem Control-Interface (Control-GUI) eingefügt (siehe Abb. 1), die für die Kommunikation zwischen fhi98md-Programm und Visualisierungs-Software zuständig ist.

Kommunikation
Abbildung 1: Kommunikation und Datenfluss

Das Control-Interface ist eine graphische Benutzerschnittstelle in Form eines X-Window-Fensters, hinter der sich eine Vielzahl von Funktionen zur Steuerung verschiedener Komponenten verbirgt. Dies soll es dem Benutzer ermöglichen, die Parameter für die laufende fhi98md-Rechnung und den Datenserver einzustellen. Im weiteren kann man hiermit verschiedene Modi der Visulisierungs-Software mit verschiedenen Parametern aktivieren.

Der Datenserver steuert das fhi98md-Programm, puffert die vom fhi98md-Programm generierten Daten und übernimmt die Kommunikation mit der Visual Workstation in Berlin (VWB). Die Kommunikation mit dem Control-Interface findet auf Socket-Basis zwischen bestimmten Ports über das Gigabit-Testbett statt. Zur Kommunikation wurde ein Protokoll entwickelt, welches das Auslesen und Schreiben der Daten und Statusinformationen ermöglicht.

Erste Messungen von Durchsatzraten bei der Kommunikation zwischen Datenserver und Control-GUI wurden durchgeführt, liefern aber noch keine aussagekräftigen Ergebnisse.

Der Benutzer sieht auf dem Bildschirm der Workstation sowohl die grafische Benutzeroberfläche (Control-GUI) als auch das grafische Frontend der Visualisierungs-Software (siehe Abbildung 2).

Screenshot Visual Workstation Berlin
Abbildung 2: Bildschirm Visual Workstation Berlin:
links Control -GUI, rechts Visualisierungs-Software Amira

Im folgenden sind die einzelnen Komponenten dieses Konzepts genauer spezifiziert.

 

Grafische Benutzeroberfläche (Control Interface) [top,aw]

Das Control-GUI ist eine grafische Oberfläche, die es dem Benutzer ermöglicht, ausgewählte Funktionen einfach zu erreichen und den administrativen Aufwand der Datenkommunikation zu verbergen. Die grafische Oberfläche wird derzeit mit Hilfe eines Web-Browsers (z.B. Netscape) realisiert, der über das Common Gateway Interface eines Web-Servers mit einem Perl-Skript kommuniziert. Dies hat sich bislang als ausreichend flexibel erwiesen.

Zu Beginn einer Sitzung wird das Control Interface initialisiert. Hier können IP-Adressen, Port-Nummer, Pfade etc. eingestellt bzw. angepasst werden (vgl. Abb. 3). Diese Einstellung ändern sich im allgemeinen während einer Sitzung nicht.

Control-GUI Initialisierung
Abbildung 3: Initialisierung des Control-GUI

Danach öffnet sich das Haupt-Fenster des Control Interfaces, welches aus drei Teilen (Frames) besteht, die neben- bzw. übereinander sichtbar sind (siehe Abb. 4).

Control-GUI Haupt-Fenster
Abbildung 4: Control-GUI mit Command-Fenster (oben),
Statusanzeige (links unten) und Log-Fenster (rechts unten)

Im oberen Teil des Command-Fensters (oberer Frame des Control-GUI in Abbildung 4) können die Visualisierungs-Software und der Datenserver gestartet oder beendet werden. Weiter unten können die darzustellenden physikalischen Größen ausgewählt und spezifiziert werden. Zur Zeit können bereits Elektronendichten und die Atomkonfiguration dargestellt werden:

Andere Funktionen sind in der Grafik bereits angedeutet. Das Interface kann einfach um zusätzliche Funktionen erweitert werden. Eine Auflistung der gewünschten Visualisierungsmodi findet sich weiter unten.

Wurden vom Benutzer die gewünschten Parameter eingestellt und ein entsprechender Button geklickt (z.B. »Show« in Abbildung 4), so schickt das Control Interface entsprechende Anfragen an den Datenserver und leitet die erhaltenen Daten an die Visualisierung-Software weiter. Die Standard- und Fehler-Ausgabe dieser Aktionen sind im Log-Fenster zu sehen (Abb. 4 rechts unten) und für eine Fehleranalyse notwendig.

Eine einfache und schnelle Sicht auf den Status des Datenservers sowie der Visualisierungs-Software gibt das Status-Fenster (links unten in Abb. 4): hier findet man eine kleine Tabelle mit 3 Icons für vi (Visualisierung), ds (Datenserver), md (fhi98md-Moleküldynamik-Programm). Leuchtet der Hintergrund eines Icons grün (sowie Schrift fett und groß), so läuft die entsprechende Komponente, ansonsten ist der Hintergrund grau. In Abbildung 4 läuft gerade die Visualisierungs-Software.

 

Funktionalität des Control Interfaces [top,aw]

Hier wird im Einzelnen die Funktionalität des Contol-Interfaces aufgelistet, insbesondere Funktionen, die noch zu implementieren sind.

 

Entwurf eines Kommunikationsprotokolls [top,aw]

Zur Kommunikation zwischen fhi98md-Programm, Datenserver und Control-GUI wurde ein einfaches Protokoll entwickelt, das in Anlehnung an das hypertext transfer protocol (http) einen einfachen Zugriff auf Daten und Meta-Information ermöglicht.

Protokoll
Abbildung 5: Datenserver-(Data Server)-Protokoll

Der Datenserver kommuniziert einerseits mit dem fhi98md-Programm über ein Unix-Socket und auf der anderen Seite mit dem Control-GUI über ein Inet-Socket. Die einzelnen Methoden des Protokolls werden im folgenden näher erläutert:

Data Server <=> Control

fhi98md <=> Data Server

 

Visualisierung [top,aw]

Zur Visualisierung wird zur Zeit Amira verwendet, ein professionelles Visualisierungs-Programm, mit dem ein Großteil der gewünschten Funktionalität erreicht werden kann. Die Software erlaubt derzeit jedoch noch keine interaktive Manipulation von Atomen. Das Programm lässt sich durch Funktionen in der Skriptsprache Tcl erweitern und ermöglicht die Kommunikation über einen Socket.

Amira Viwer (klick zu vergroessern)
Abbildung 6: Amira Viewer: exemplarische Ansicht
der zu visualisierenden Größen: Atome im ball-and-stick-model
(blau und grün) mit Elektronendichte (gelb) und Slider

Die Visualisierungs-Software soll folgende Punkte übernehmen:

 

Ablauf einer Beispielsitzung [top,aw]


Falls die Visualisierung als Film gewählt wurde, wird der Datenserver die Daten puffern, bis mindestens zwei Wellenfunktionen aus aufeinanderfolgenden Iterationen vorliegen. Zur Glättung des zeitlichen Verlaufs von Veränderungen im Film wird der Datenserver linear zwischen den beiden Datensätzen interpolieren, die Daten ins Grafik-Format umwandeln und dann über das Gigabit-Testbett senden. Jeder neu eintreffende Datensatz wird von der Visualisierungssoftware angezeigt.


Wenn die Wellenfunktion konvergiert ist, d.h. sich zeitlich nur noch sehr langsam verändert, wird der Benutzer zur detaillierten Analyse übergehen. Er möchte zum Beispiel die Wellenfunktion in einer bestimmten Schnittebene genauer inspizieren. Dazu wird er zunächst vom Film-Modus auf den Elektronenstruktur-Modus umschalten (nur noch konvergierte Wellenfunktionen werden übermittelt). Die Auswahl der Schnittebene und die Visualisierung durch zweidimensionale Isocontourlinien-Darstellung erfolgt innerhalb der Visualisierungs-Software durch das Zuschalten entsprechender bereitgestellter Module.


Andreas Hetey - hetey@fhi-berlin.mpg.de - März 2000