Ergebnisse anschaulich machen

BLOG: Zündspannung

Blick über den Plasmarand
Zündspannung

Wissenschaftliche Daten anschaulich darzustellen gehört zum täglichen Brot der Wissenschaftler. Diese Aufgabe wird allerdings immer schwieriger, wenn die Menge der Daten größer wird. Heutzutage sind riesige Supercomputer gang und gäbe, auf denen Simulationen durchgeführt werden, die Datenmengen erzeugen, die in den Bereich von Terabyte gehen. Solche Datenmengen können nicht einfach mit Computern geladen werden, um daraus ein Bild zu erzeugen, weil nicht genügend Speicher vorhanden ist.

Über dieses Thema hat gestern an der Uni Berkeley Hank Childs vom Lawrence Berkeley National Laboratory gesprochen. Herr Childs ist der Architekt des VisIt Programms, das für solche Aufgaben entwickelt wurde.

Um riesige Datenmengen zu visualisieren, kann man drei mögliche Wege einschlagen: nur einen Teil der Daten darstellen, die Daten nacheinander darstellen, oder die Darstellung der Daten parallelisieren. Das Parallelisieren ist es, was derzeit hauptsächlich versucht wird.

Dabei werden die Daten in Pakete aufgeteilt, die an mehrere Prozessorelemente (“processing elements”) verteilt werden. Diese Elemente können zum Beispiele mehrere Computerkerne sein, die parallel arbeiten, oder auch die multiplen Kerne einer Grafikkarte. Dabei sollte dann Datentransfer soweit möglich vermieden werden, denn dieser ist teuer – er kostet Zeit und Strom. (Interessanterweise werden wohl die Stromkosten in der Zukunft immer mehr der limitierende Faktor für Supercomputer-Zentren werden.)

Es lassen sich aber nun nicht alle Computerprogramme für Datenvisualisierung gut parallelisieren. Ein Beispiel ist die folgende Methode, ein Vektorfeld zu visualisieren: Die Daten bestehen aus der Information, welche Kraft an jedem Ort wirkt. Um das darzustellen, kann man einige Testteilchen verteilen und deren Pfade aufzeichnen. Das sieht dann in etwa so aus wie in diesem Video:

Um diese Visualisierung auf mehrere Kerne zu verteilen, kann man nun einfach den ganzen Raum in Bereiche zerlegen. Wenn ein Teilchen einen Bereich verlässt und in den nächsten fliegt, werden die Informationen dieses Bereichs einlesen. Das ganze ist einfach zu programmieren, aber es müssen sehr viele Daten gelesen werden, und das sollte ja gerade vermieden werden.

Also können wir einfach jedem Rechenkern einen Bereich zuordnen, und die Testteilchen von Rechenkern zu Rechenkern weiterreichen. Das führt dann aber dazu, dass die meisten Rechenkerne die meiste Zeit nichts zu tun haben, und die Rechnung dauert lange.

Also wählt man eine Mischform: Ein Steuerprogramm überwacht den Ablauf des Programms. Wenn ein Teilchen einen Raumbereich verlässt, überprüft es, ob der nächste Bereich schon in einen anderen Rechenkern geladen ist. Ist das der Fall, bekommt dieser Kern das Teilchen zugeordnet. Falls der Kern schon mit einem anderen Teilchen beschäftigt ist, wartet das Steuerprogramm zunächst ab, ob die Rechnung innerhalb einer bestimmten Zeit beendet wird. Ist das nicht der Fall, bekommt ein anderer Kern den Auftrag, den Bereich zu laden und das Teilchen weiterfliegen zu lassen.

Mit solchen Methoden kann man enorme Beschleunigungen in der Visualisierung erreichen – und das wird in der Zukunft auch immer nötiger werden.

Avatar-Foto

Veröffentlicht von

Erhöht man die Spannung zwischen zwei Elektroden, die ein Gas umgeben, beginnt das Gas irgendwann zu leuchten: Freie Elektronen im Gas haben genug Energie, um die Gasteilchen zu ionisieren und noch mehr Elektronen aus den Atomen zu schlagen. Ein Plasma wurde gezündet, die Zündspannung ist erreicht. Gibt man nun noch zusätzlich Mikrometer große Teilchen in das Plasma, erhält man ein sogenanntes "Komplexes Plasma", mit dem ich mich zunächst als Doktorand und Post-Doc am Max-Planck-Institut für extraterrestrische Physik und nun an der University of California in Berkeley beschäftige. In diesem Blog möchte ich sowie ein wenig Einblick in den Alltag im Forschungsinstitut bieten, als auch über den (Plasma)-Rand hinaus blicken. Mierk Schwabe

1 Kommentar

  1. Visualisierungen

    Mit solchen Methoden kann man enorme Beschleunigungen in der Visualisierung erreichen – und das wird in der Zukunft auch immer nötiger werden.

    … setzen in der Regel auf Aggregationen von Daten auf, die Datenmenge selbst scheint dem Schreiber dieser Zeilen ein untergeordnetes Problem zu sein, denn die Komplexität der Beziehungen von Daten, die Informationen repräsentieren, auch theoretische oder reale Entitäten, ist es, die die Visualisierung manchmal sehr schwierig und manchmal unmöglich macht.

    MFG
    Dr. Webbaer (der dem Braten aber noch nicht ganz folgen kann – die “just in time”-Darstellung “riesiger” Datenmengen kann eigentlich nicht angestrebt sein, oder?)

Schreibe einen Kommentar