Verteiltes ing: Herausforderungen und Lösungsansätze Alexander Lö!er, MSc LS Computergrafik, Universität des Saarlandes 1 Alumni-Fachsymposium IMST FH Kaiserslautern, Standort Zweibrücken 20 November 2009
ing Rasterisierung und Ray Tracing
ing? ing in der 3D-Computergrafik: " Berechnen eines Bildes aus einer 3D-Szene und einer virtuellen Kamera Bekannteste ingverfahren: " Rasterisierung " Ray Tracing
Rasterisierung
Rasterisierung
Rasterisierung lokales Beleuchtungsmodell OpenGL, DirectX O(n) in Anzahl der Primitive
Ray Tracing
Ray Tracing
Ray Tracing
Ray Tracing globales Beleuchtungsmodell DCC, Animationsfilme O(n) in Anzahl der Pixel
Verteilung DRONE-Framework: Grundlagen, Verteilungskonzepte
Verteiltes ing Immer schnellere Hardware " Many-Core-Technologie: Cell, GPU, etc " Hochoptimierte Implementierungen von ing-algorithmen Warum Verteilung von ing? " Komplexe Algorithmen: Real-Time Ray-Tracing " Komplexe Display-Setups: Video Walls, Virtual Reality " Server-Based ing Bisherige Frameworks " Gehen generell von hoher Netzwerkbandbreite aus (LAN) " Eingeschränke Unterstützung von Postprocessing und Rekonfiguration " Sehr eng an der konkreten ing-implementierung (Rasterisierung) Distributed ing Object Network (DRONE)
Basistechnologie - NMM Network-Integrated Multimedia Middleware " Flussgraph: Knoten, Kanten und Formate " Middleware-Ansatz statt Client-Server-Architektur audio/mpeg audio/raw Read Decode Play Host A Host B Host C Anwendung Host D
Flussgraph für ing Manager full frame Display
Flussgraph für ing Manager DB full frame Display DB DB DB
Flussgraph für ing Manager DB Cam1 full frame Display DB DB Cam2 DB Cam3
Flussgraph für ing Manager DB Cam1 full frame Display DB DB Cam2 DB Cam3 UI events
Verteilungsstrategien Manager
1a Verteilung ganzer Frames (t variabel) Manager
1a Verteilung ganzer Frames (t variabel) t = 0 t = 1 t = 2 Pro: für Rasterisierung und Ray Tracing geeignet Contra: Verzögerung von n-1 Frames bei n Nodes
1b Verteilung ganzer Frames (t fix) t = 0 t = 0 t = 0 Pro: einfach, geeignet Rasterisierung und für Ray Tracing Contra: nur für Spezialfälle (zb Stereo, Antialiasing)
2 Verteilung im Bildraum Pro: simpler Ansatz, geeignet für Ray Tracing Contra: ungeeignet für Rasterisierung
3 Verteilung im Objektraum
3 Verteilung im Objektraum
3 Verteilung im Objektraum Pro: geeignet für Rasterisierung, hilfreich für Ray Tracing Contra: Tiefensortierung, Verdeckungsproblematik
DRONE Architektur, Anwendungsszenarien
Verarbeitungsblöcke Manager Display Presentation Block ing Block Blöcke kapseln Funktionalität und bilden graph
Blocktypen Standard Blocks Composite Blocks Auf dieser Basis gesamte Funktionalität in DRONE und beliebige eigene Erweiterungen möglich
Szenario 1: Verteiltes ing Manager Display Presentation Block ing Block Lastverteilung für ing mit einem einzigen Display
Szenario 2: Multi-View-ing Display Manager Display ing Block Presentation Blocks Deckt Video-Wall- und VR-Stereo-Setups ab
Szenario 2: Multi-View-ing Display Cam1 Manager Display Cam2 ing Block Presentation Blocks Deckt Video-Wall- und VR-Stereo-Setups ab Presentation Blocks mit Kamera-/Framekonfiguration
Szenario 2: Multi-View-ing Display Cam1 Manager Display Cam2 ing Block Synchronizer Synchronization Block Deckt Video-Wall- und VR-Stereo-Setups ab Presentation Blocks mit Kamera-/Framekonfiguration
Szenario 3: Post-Processing Manager Display Presentation Block ing Block
Szenario 3: Post-Processing image/raw Display Presentation Block
Szenario 3: Post-Processing Display Presentation Block Beliebige Operationen auf Pixelbasis Hier zb Farb-/Helligkeitskorrektur für Multi-Wall-Setups
Szenario 3: Post-Processing Correction Display Presentation Block Beliebige Operationen auf Pixelbasis Hier zb Farb-/Helligkeitskorrektur für Multi-Wall-Setups
Szenario 3: Post-Processing Correction Display Post-Processing Block Presentation Block Beliebige Operationen auf Pixelbasis Hier zb Farb-/Helligkeitskorrektur für Multi-Wall-Setups
Szenario 3: Post-Processing Encoding Decoding Display Post-Processing Block Presentation Block Beliebige Operationen auf Pixelbasis Hier zb Encoding/Decoding für Server-Based ing
Beliebige Kombinationen Correction VRDisplay Correction VRDisplay Encoding Decoding iphone Synchronization Block
Video
Erweiterungen Rasterisierung " Verteilungsstrategien Server-Based ing: " Videocodierung für variable Frameraten " Effiziente Anbindung mobiler Endgeräte ing-pipeline: " Repräsentation durch kleinere, spezialisierte Komponenten " Many-Core-Hardware als verteilte Architektur: optimalere Nutzung verfügbarer Hardwareressourcen
Vielen Dank! Alexander Lö!er loe!er@csuni-saarlandde http://graphicscsuni-sbde/~al http://distributed-renderingorg