Parallel Raytracing on a Linux Cluster

Titel:Parallel Raytracing on a Linux Cluster
Projektart:Diplomarbeit
Studenten:Lucas Gröner, Adrian Sacchi
Dozent:Marcus Hudritsch
Auftraggeber:FHBB
Experte:Dr. Lukas Rosenthaler
Projektdauer:24.10.2005 – 06.01.2006
Kontakt:marcus.hudritsch@fhnw.ch

Auftrag:

Unser Auftrag lautete, den von Marcus Hudritsch im Rahmen seiner Vorlesung entwickelten Raytracer für den Betrieb auf dem Cluster der FHBB zu parallelisie-ren.

Das Ziel war eine Software zu erstellen, die in Echt-zeit Bilder rendert und auf Interaktionen des Anwen-ders reagiert.

Evaluation:

Für die Parallelisierung des Algorithmus kamen ver-schiedene Möglichkeiten in Frage. Einerseits zogen wir in Betracht, die Prozesskommunikation mit den klassischen Mechanismen der Linux Systemprogram-mierung zu lösen und die Verteilung der Prozesse dem Cluster-Betriebsystem zu überlassen. Anderseits hatten wir die Möglichkeit, mit einer Message Passing Library wie MPI oder PVM zu arbeiten.

Um diese Technologien zu testen und die geeignetste auszuwählen, implementierten wir für jede ein Pro-gramm zur Matrixmultiplikation. Diese weist eine ähn-liche Charakteristik wie der Raytracing Algorithmus auf, ist aber einfacher zu implementieren.

Wir kamen zum Schluss, dass für unsere Aufgaben-stellung die Message Passing Libray MPI am besten geeignet ist.

Ergebnisse:

Wir parallelisierten den Raytracer zunächst in seiner einfachsten Form. Dabei erreichten wir eine bis zu 40 fache Beschleunigung. Später rüsteten wir ihn mit den Erweiterungen Bounding Boxes, Antialiasing, Ne-bel, Soft Shadows, Tiefenunschärfe und Texturemap-ping aus.

Dank der sorgfältigen Evaluation der Technologien und unserer Vorarbeit mit der Matrixmultiplikation tra-ten bei der Entwicklung des parallelen Raytracers kei-ne grösseren Probleme mehr auf. So fanden wir noch Zeit für die Implementierung des Raytracing komple-xer Objekte und dessen Beschleunigung durch Ver-wendung der Methode einer gleichmässigen Raumun-terteilung. Ausserdem parallelisierten wir eine Version eines Photon Mapping Pathtracers.

Ausblick:

Unser parallelisierter Raytracer kann im Hinblick auf Performanz weiter optimiert werden. Auf der Applikationsseite sind zusätzliche Erweiterungen denkbar. So würden beispielsweise Möglichkeiten zur interaktiven Animation der Szene die Attraktivität erhöhen.

Download:

×