Auftragsnummer TK 602 - NT 104
Prof. Dr. K. Hermann, Prof. Dr. M. Scheffler, Fritz-Haber-Institut, Berlin
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)
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.
Im Berichtszeitraum wurden weitere softwaretechnische Konzepte erarbeitet und in ersten Anwendungen getestet. Die folgenden Punkte sollen hier kurz abgehandelt werden:
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.
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.
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.
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).

Abbildung
2: Bildschirm Visual Workstation Berlin:
links Control -GUI,
rechts Visualisierungs-Software Amira
Im folgenden sind die einzelnen Komponenten dieses Konzepts genauer spezifiziert.
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.

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).

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.
Hier wird im Einzelnen die Funktionalität des Contol-Interfaces aufgelistet, insbesondere Funktionen, die noch zu implementieren sind.
Beenden, Starten von Datenserver, fhi98md, Visualisierungs-Software.
Visualisierungsmodi (als Alternativen):
Molekulardynamik-Modus: Es werden jeweils ein neuer Satz Koordinaten zusammen mit der zugehörigen, vollständig konvergierten Ladungsdichte übermittelt und visualisiert. [programmiert]
Elektronenstruktur-Modus: Es werden Wellenfunktionen und/oder die Ladungsdichte nach jedem elektronischen Konvergenzschritt übermittelt und visualisiert. [konzipiert]
Film-Modus: Die kontinuierliche Deformation eines Orbitals als Antwort auf eine äußere Störung (z.B. Adsorbat auf einer Oberfläche) wird als Film dargestellt; Übermittlung und Visualisierung von interpolierten Wellenfunktionen, um einen optisch besser zu beurteilenden, glatten Ablauf der Bewegungen zu gewährleisten. [konzipiert]
Auswahl der zu visualisierenden kontinuierlichen Größe (alternativ)
elektronische Ladungsdichte (reell-wertig) [programmiert]
elektrostatisches Potential (reell-wertig) [konzipiert]
sog. effektives Potential, enthält Beiträge der elektronischen Vielteilcheneffekte (reell-wertig) [konzipiert]
Wellenfunktion eines Zustandes an einem Punkt des reziproken
Raumes (komplex-wertig); dargestellt wird jedoch eine reelle Größe
, wahlweise das Betragsquadrat oder der Realteil
(zusätzliches
pop-up-menu zur Spezifikation der Quantenzahlen der Wellenfunktion)
[konzipiert]
Darstellung der räumlichen Variation der Reaktivität einer Oberfläche (softness- oder hardness-function) [geplant]
Darstellung von simulierten STM-Bildern von Oberflächen (gewichtete Summe der Betragsquadrate von mehreren Wellenfunktionen) [geplant]
zusätzliches pop-up-Menu zur Spezifikation des beitragenden Energieintervalls und der gewünschten Höhe der Probenspitze über der Oberfläche)
Grafische Auswahl der zu visualisierenden Wellenfunktion bzw. des gewünschten Energiebereichs der STM-Simulation durch Anklicken mit dem Mauszeiger
zusätzliche eindimensionale Visualisierungsfunktion für Variablen einer Veränderlichen; insbesondere soll die Zustandsdichte bzw. das berechnete Spektrum der Energieeigenwerte angezeigt werden. [konzipiert]
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.

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
ping
einfache
Anfrage, ob der Datenserver läuft und auf entsprechendem Port
'lauscht'
get status {ds,
fhimd}
Anfrage, die genauere Informationen über den Status
des fhi98md-Programms bzw. den Datenserver liefert
get data {rho,
wavefunct, atoms} (?format=)
Anfrage nach Daten der
Elektronendichte, Wellenfunktion ...
optionale Parameter: Format
get
dataset
Anfrage nach dem Parametersatz des gerade laufenden
fhi98md-Programms (Atome, Koordinaten, Wellenfunktionen,
Energie-Eigenwerte ...)
post ini
schicke
geänderten Parametersatz, um die laufende fhi98md-Rechnung zu
beeinflussen (Reaktionspfad ändern)
fhi98md <=> Data Server
put status
fhi98md
Statusinformation des fhi98md-Programms (Iteration,
Parameter ...)
put data {rho,
wavefunct, atoms}
fhi98md-Programm schreibt Daten in den
Arbeitsspeicher des Datenservers
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.

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:
Atomare Geometrie wird als 'ball-and-stick' Modell dargestellt
Grafisch interaktive Manipulation der Atomkonfiguration: neue Atomkoordinaten werden zurückgegeben und zum fhi98md-Programm gesandt. (derzeit nicht möglich in Amira !)
Kontinuierliche physikalische Größe wird dargestellt als
dreidimensionale Isofläche
dreidimensionale Isofläche und zusätzlich zweidimensionale farbcodierte Isocontourabbildung in einer frei wählbaren Ebene
nur Isocontourdarstellung in einer frei wählbaren Ebene
Elementare grafische Funktionen wie
Wahl des/der Funktionswertes, für die die Isocontourfläche angezeigt werden soll
Wahl des Kamerastandpunkts, Perspektive, Colormaps, ...
Ausgangspunkt: der Benutzer befindet sich vor der Visual Workstation in Berlin (VWB) und möchte mit dem fhi98md-Programm auf der Cray T3E in Garching rechnen.
Starten der grafischen Benutzeroberfläche Control-GUI zur Steuerung der Sitzung auf der VWB. Über Mausklick werden vorher bereitgestellte Geometrieparameter, die das zu bearbeitende Problem beschreiben, aus einem File eingelesen und über das Gigabit-Testbett an den Datenserver auf der Cray T3E gesendet. Der Datenserver startet das Elektronenstruktur-programm fhi98md. (im dedizierten Betrieb unter Umgehung des queueing-Systems der Cray T3E). Sobald das fhi98md-Programm Ausgaben bereitstellt, werden diese zuerst über eine socket-Verbindung an den Datenserver überstellt. Alternativ kann das fhi98md-Programm durch das queueing-System gestartet werden.
Starten des Visualisierungsprogramms und Initialisierung mit entsprechendem Skript. Der Benutzer wird nun an der Steueroberfläche die zu visualisierende Größe aus einem Menü auswählen, zum Beispiel die elektronische Ladungsdichte. Diese Wahl wird an den Datenserver auf der Cray T3E weitergegeben. Die vom Datenserver gelieferten Daten werden dann zur Visualisierung weitergeleitet.
Visualisierung. Zuerst werden typischerweise die Ladungsdichte in der Initialisierungsphase von fhi98md sowie Näherungswerte für die Energie-Eigenwerte der Wellenfunktionen ausgegeben. Falls die Ladungsdichte vom Benutzer zur Visualisierung ausgewählt wurde, wandelt der Datenserver diese Daten in ein entsprechendes Grafik-Format um und sendet sie über das Gigabit-Testbett an die VWB, wo sie von der Visualisierungs-Software gelesen und visualisiert werden. Jetzt entscheidet sich der Benutzer für eine andere Visualisierungsmöglichkeit, beispielsweise dafür, eine bestimmte Wellenfunktion visualisieren zu lassen. Die Auswahl der Wellenfunktion erfolgt entweder durch Zahleneingabe direkt im Control-Fenster oder grafisch, indem der Benutzer unter den angezeigten Energieeigenwerten einen durch Anklicken mit der Maus auswählt. Hierfür öffnet das Control-Interface ein Zusatz-Fenster mit den Auswahlmöglichkeiten. Die Liste der aktuellen Energieeigenwerte wird davor vom Datenserver übermittelt und weiterverarbeitet.
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.
Kommunikation. Bei einer Anfrage an den Datenserver werden entweder die dort im Speicher gehaltenen Daten übermittelt (z.B. Elektronendichte, Atomkonfiguration), oder es wird dem fhi98md-Programm mitgeteilt, welche Daten er beim nächsten Ausschreiben übermitteln soll (z.B. bestimmte Wellenfunktion). Der Datenserver schickt dann die Daten über die Socket-Verbindung durch das Gigabit-Testbett an die VWB.
Vor Beenden der Sitzung wird der Benutzer über Mausklick an der grafischen Steueroberfläche den Datenserver veranlassen, das Programm fhi98md zu beenden.
Andreas Hetey - hetey@fhi-berlin.mpg.de - März 2000