-
-
-
SFB 382 - Teilprojekt C20
Simulations- und Visualisierungsbeschleuniger
[ Homepage] [ Projekte] || [ Reports]
1.
Personal
2.
Kurzbeschreibung
3.
Verbindungen zu anderen Projekten des SFB
4. Ergebnisse
5.
Veröffentlichungen
- Leiter
- Prof. Dr.
Wolfgang Straßer
- Mitarbeiter
- Dr. Günter
Knittel
-
- ehem. Mitarbeiter (D7)
- Dr. Michael Meißner
- Anschrift
- Graphisch-Interaktive Systeme
- Wilhelm-Schickard-Institut
für Informatik (WSI/GRIS)
der Eberhard Karls Universität
Tübingen
- Sand 14
72076 Tübingen
Das Teilprojekt C20 ist die logische Fortsetzung der bisherigen Teilprojekte D3
und D7. Die Thematik wurde allerdings auf die Hardware-Beschleunigung bestimmter
Simulations-Algorithmen erweitert. Definition und Abgrenzung des Projektes sind
wie folgt.
PC-Cluster wie der
Kepler-Cluster haben sich als preisgünstige Hochleistungs-Plattform für
paralleles Rechnen etabliert. Für bestimmte Algorithmen aus den Bereichen
Simulation und Visualisierung physikalischer Prozesse ist allerdings die Latenz
aktueller Netzwerktechnologie (Ethernet, Myrinet, SCI, Atoll, etc.) immer noch
zu hoch, und die Bandbreite zu niedrig. Zudem kann man häufig
erkennen, dass Algorithmen aus diesen Bereichen nur ineffizient auf
Universalprozessoren ablaufen. Dies liegt einerseits an dem niedrigen zur
Verfügung stehenden Parallelitätsgrad und
andererseits an dem naturgemäß begrenzten
Befehlssatz dieser Prozessoren.
Als Lösungsansatz für Probleme dieser
Art soll in diesem Projekt das Konzept eines Simulations- und
Visualisierungsbeschleunigers für fein-granulare, massiv-parallele Berechnungen
untersucht und prototypisch realisiert werden. Zusammenfassend kann das Konzept
so beschrieben werden:
- eng gekoppelter Cluster mittlerer Größe
(ca. 8-32 Knoten) aus kommerziell erhältlichen
PC-Komponenten,
- Kommunikationssystem eigener Entwicklung mit extrem niedriger Latenz und
hoher Bandbreite,
- die Network Interface Controller werden durch konfigurierbare Bauteile (FPGAs)
realisiert,
- wobei diese Bausteine aber hauptsächlich
für Simulations- sowie Visualisierungsaufgaben eingesetzt werden.
Die aktuelle FPGA-Technologie bietet einen sehr hohen Parallelitätsgrad
(u. A. mit mehreren Hundert Multiplizierern, und mehreren Millionen
Gatter-Äquivalenten pro Chip). Dadurch lassen sich entsprechende Algorithmen
massiv-parallel implementieren. Die FPGAs untereinander können
mit extrem kurzer Latenz Daten austauschen, wodurch fein-granulare
Parallelisierung über alle Knoten des Clusters hinweg möglich
wird. Idealerweise arbeiten die FPGAs als klassische Ko-Prozessoren und führen
in vollständiger Parallelarbeit mit den
CPUs rechenintensive Programmteile aus.
Das Konzept soll prototypisch in niedriger Ausbaustufe mit überwiegend
kommerziell erhältlichen Komponenten
realisiert werden. Dabei kann auf den Erfahrungen aus den Teilprojekten
D3 (VIZARD) und D7 (VIZARD
II) aufgebaut werden, in denen FPGA-basierte Beschleuniger konzipiert und
gebaut wurden.
Auf diesen Prototypen sollen ausgewählte
Algorithmen aus den Bereichen numerische Simulation, insbesondere aus den
Teilprojekten
C14
(MD-Simulation),
C15 (Granulare Medien) und
C17 (Methode der Finiten Massen), sowie
Echtzeit-Visualisierung (Volumenvisualisierung) implementiert werden.
Als Basis für den letzten Arbeitspunkt
dient das Software-System
UltraVis, das bei HP Labs, Palo Alto,
entstanden ist und nun in einem gemeinsamen Projekt im Rahmen des
Sonderforschungsbereiches weiterentwickelt wird. Das System ist frei erhältlich
im Internet unter www.hpl.hp.com/ultravis.
Als thematische Ergänzung steht die in Simulationen und
virtuellen Räumen immer wichtiger werdende Kollisionserkennung an, für die eine
Hardware-Unterstützung ebenfalls dringend notwendig erscheint. Hier ist eine
Kooperation mit der Universität Bonn im Gange.
Das Teilprojekt C20 steht in enger Zusammenarbeit mit den Projekten
C14,
C15 und
C17,
für
die zeitkritische Algorithmen als FPGA-Schaltung implementiert werden sollen,
sowie mit fast allen Teilprojekten des D-Bereiches.
Mit Teilprojekt
C14
wurde bereits erfolgreich im Bereich Visualisierung von Datensatzsequenzen (Schockwellenausbreitung,
Rissbildung) zusammengearbeitet. In Kooperation mit Teilprojekt
C15 wurde als
erster Ansatz ein verteiltes System zur Simulation der Bildung von
Sandhaufen erstellt. Mit
D1 besteht langjähriger
Erfahrungsaustausch, was sich z. B. in gemeinsamen Publikationen
niedergeschlagen hat. In Kooperation mit dem Teilprojekt
D4
soll untersucht werden, inwiefern eine Hardware-Beschleunigung von
relativistischem Raytracing möglich ist.
Ein enger Erfahrungsaustausch soll mit dem Teilprojekt
D6 im Bereich
Merkmalsextraktion etabliert werden. Im Teilprojekt
D8 soll ein paralleles
Volumenvisualisierungssystem für Graphikprozessoren entwickelt werden. Mit den
Implementierungen auf FPGAs und Universalprozessoren im hier vorgestellten
Teilprojekt werden damit alle wesentlichen Methoden im SFB vorhanden sein, und können
fundiert miteinander verglichen werden.
- D3: Vizard -
Visualization Accelerator for Real-Time Display

Hierbei handelt es sich um eine PCI-Karte mit vier FPGAs (Field-Programmable
Gate Array). Weitere Einheiten sind EPROMs, SRAMs und ein 16-bit
Multiply-and-Accumulate-Schaltkreis. Diese Karte wurde komplett am WSI/GRIS
entwickelt. Die Besonderheit dieses Systems ist das
Fehlen eines separaten Volumenspeichers auf der Karte selbst. Stattdessen wird
der Datensatz in einer speziellen Kodierung, die den Datentransfer wesentlich
reduziert, im Hauptspeicher des PCs
abgelegt und von dort heraus vom Accelerator visualisiert. Die Kodierung ist
in [Kni95b] beschrieben, die Karte selbst in
[Kni95a], [Kni96a] und
[Kni96b].
Zwei dieser Karten wurden gefertigt und in einen portablen PC eingebaut, wie
unten gezeigt. Beide Karten arbeiten parallel für erhöhte Performance. In dieser Form wurde das System weltweit auf Konferenzen
und Ausstellungen vorgeführt, unter anderem in [KS97]
und auf der CeBit 1997.

Der Nachteil des Systems besteht in der verlustbehafteten Kodierung des
Datensatzes und der damit verbundenen Reduktion der erreichbaren
Bildqualität. Als Bildbeispiel sei eine Visualisierung eines CT-Datensatzes
gezeigt.

Die Vorarbeiten im Vizard II-Projekt
führten zu einem
Transferprojekt mit
Philips Research Hamburg, wo das Vizard II System entworfen wurde.
Diese PCI-Karte besitzt neben einem grossen FPGA und einem Signalprozessor
auch einen grossen Volumenspeicher, der über einen 256 Bit breiten Bus
mit dem FPGA verbunden ist. Der Zwang zur Kompression des Datensatzes entfällt
somit. Insgesamt ist das System wesentlich leistungsfähiger als der Vorläufer.
Die Schaltung des FPGA's für die Visualisierung wurde im Transferprojekt am
WSI/GRIS entworfen. Von zentraler Bedeutung für die Performance ist das
Speicherinterface, das in [DMK99] und [DM99] beschrieben ist. Die Karte als
Visualisierungsplattform ist in [MKS98] und
[MK+02] beschrieben.
Einige Bildbeispiele sind unten gezeigt.

- D7 - C20: UltraVis
UltraVis ist ein Software-System zur interaktiven
Volumenvisualisierung, das bei HP Labs, Palo Alto,
entstanden ist und nun in einem gemeinsamen Projekt weiterentwickelt wird.
Dieses System soll als Rahmen dienen sowohl für
hardware-beschleunigte Visualisierung wie auch für
parallele Visualisierung auf PC-Cluster. Als bisherige Erweiterungen an diesem
System seien die effiziente
Implementierung von Pre-Integrated Transfer Functions ([Kni02])
sowie Adaptive Ray Sampling Rate [Kni03]
genannt. Außerdem wurde das System für Multidisplay-Betrieb erweitert. Dabei
kann die Benutzungsoberfläche auf mehrere Monitore ausgedehnt werden, die alle
an separate PCs angeschlossen sind. Dadurch können
eine große Zahl an Monitoren zu einer virtuellen Ausgabeeinheit kombiniert
werden. Das System kann darüberhinaus normale Graphikkarten synchronisieren,
wodurch time-sequential stereo display systemübergreifend möglich
wird. Unten gezeigt ist das Testsystem, wobei das Ausgabefenster über 3
Monitore reicht und im Stereo-Modus betrieben wird.

UltraVis wurde zur Visualisierung von
Schockwellenausbreitung und
Rissbildung in Kristallen eingesetzt. Die physikalischen Simulationen
wurden im Teilprojekt
C14
durchgeführt. Die dabei entstandenen Datensatz-Sequenzen können in Echtzeit
und interaktiv an einem PC visualisiert werden. Einzelbilder sind unten
gezeigt.

In Zusammenarbeit mit Teilprojekt
C15 wurde ein verteiltes System zur Simulation der
Entstehung von Sandhaufen erstellt.
Diese Arbeit befindet sich allerdings noch in der Anfangsphase. Das System
besteht aus einem zellulären Automaten, der in Software auf einem PC
implementiert ist. Dieser PC schickt die Daten an einen anderen PC, auf dem
UltraVis läuft. UltraVis wurde dergestalt erweitert, dass es einen
kontinuierlichen Datenstrom von einem anderen Rechner annehmen, visualisieren
und aufzeichnen kann. Diese Arbeit soll als Basis für die
Hardware-Implementierungen dienen. Als erstes Ergebnis sei ein Sandhaufen
gezeigt, der auf einem Tisch mit Einschnitt aufgeschüttet wird.

-
C20: Simulations-
und Visualisierungsbeschleuniger
Die Architektur dieser Spezialmaschine wurde
erstmals in
[KS02] vorgestellt, und seither an die Gegebenheiten
kommerziell erhältlicher Komponenten angepasst. Das Projekt befindet sich in
der Beschaffungsphase. Geplant ist der Einsatz von vier Standard-PCs als
Wirtsrechner für acht FPGA-Prototypkarten mit jeweils einem Xilinx 2V4000 FPGA.
Die Verbindung der FPGA-Karten soll über flexible Leiterplatten erfolgen.
- Weitere
Forschungsergebnisse
Im Gebiet der Kollisionserkennung wurde in Zusammenarbeit mit der
Universität Bonn eine Hardware-Architektur für hierarchische
Bounding-Volume-Trees [ZK03] erarbeitet.
Weitere Informationen finden sich im WSI/GRIS
Arbeitsbereich
der wissenschaftlichen Visualisierung.
5. Veröffentlichungen in Zusammenhang mit den SFB-Projekten
D3, D7 und C20
- [Kni95a]: G. Knittel,
"A PCI-based Volume Rendering Accelerator", Proceedings 10th
Eurographics Workshop on Graphics Hardware, Maastricht, NL, August 28-29, 1995,
pages 73-82
- [Kni95b]: G. Knittel, "High-Speed Volume Rendering
Using Redundant Block Compression", Proceedings IEEE Visualization '95
Conference, Atlanta, GA, October 29 - November 3, 1995, pages 176-183
- [Kni96a]: G. Knittel, "A PCI-compatible
FPGA-Coprocessor for 2D/3D Image Processing", Proceedings 4th IEEE
Symposium on FPGAs in Custom Computing Machines (FCCM 96), Napa, CA, April
17-19, 1996, pages 136-145
- [Kni96b]: G. Knittel, "A Reconfigurable
Processing System for DSP Applications", Proceedings 39th IEEE Midwest
Symposium on Circuits and Systems (MWSCAS '96), Ames, IA, August 18-21, 1996,
Vol. II, pages 864-867
- [KS97]: G. Knittel and W. Straßer, "VIZARD -
Visualization Accelerator for Realtime Display", Proceedings Siggraph/Eurographics
Workshop on Graphics Hardware, Los Angeles, CA, August 3-4, 1997, pages 139-146
- [MKS98]: M. Meißner, U. Kanus and W. Straßer, "VIZARD II, A PCI-Card for
Real-Time Volume Rendering", Proceedings Eurographics/Siggraph Workshop on
Graphics Hardware, Lisbon, Portugal, August 31 - September 1, 1998,
pages 61-68
- [DMK99]: M. Doggett, M. Meißner and U. Kanus, "A Low-Cost Memory Architecture
for PCI-based Interactive Ray Casting", Proceedings Eurographics/Siggraph
Workshop on Graphics Hardware, Los Angeles, CA, August 8-9, 1999, pages 7-14
- [DM99]: M. C. Doggett and M. Meißner, "A Memory Addressing and Access Design for
Real Time Volume Rendering", Proceedings IEEE Circuits and Systems, 1999
- [Kni02]: G. Knittel,
"Using pre-integrated transfer functions in an interactive software system
for volume rendering", Eurographics 2002 Short Papers
Presentations, pages 119--123
- [KS02]: G. Knittel and
W. Straßer, "Hard Software, Soft Hardware - is there a right way to design
visualization systems?" Keynote Talk, Graphics Hardware 2002, Saarbrücken,
September 2, 2002
- [MK+02]: M. Meißner, U.
Kanus, G. Wetekam, J. Hirche, A. Ehlert, W. Straßer, M. Doggett, P. Forthmann,
R. Proksa, "VIZARD II: A Reconfigurable Interactive Volume Rendering
System", Proceedings Graphics Hardware 2002, Saarbrücken, pages 137-146
- [ZK03]: G. Zachmann
and G. Knittel, "An Architecture for Hierarchical Collision Detection",
Proceedings WSCG 2003, pages 149-156
- [Kni03]: G. Knittel, "Methods for
Reducing Aliasing in Discrete Raycasting", Talk at Dagstuhl Seminar 03231,
IBFI Schloss Dagstuhl, June 2003
Letzte Änderung am 2. 3. 2004 -
knittel@gris.uni-tuebingen.de