Visualization and VR for the Grid · 2004. 5. 25. · Real-Time Ray Tracer (RTRT)Real-Time Ray...
Transcript of Visualization and VR for the Grid · 2004. 5. 25. · Real-Time Ray Tracer (RTRT)Real-Time Ray...
SCI Utah
Visualization and VR for the Grid
Chris JohnsonScientific Computing and Imaging Institute
University of Utah
Visualization and VR for the Grid
Chris JohnsonScientific Computing and Imaging Institute
University of Utah
SCI UtahConstruct a model of the physical
domain (Mesh Generation, CAD)Apply boundary conditionsNumerically approximate governing
equations (FE, FD, BE)Compute (Preconditioners, Solvers)Visualize (Isosurfaces, Vector Fields,
Volume Rendering)Think about the BIG PICTURE!
Computational Science PipelineComputational Science Pipeline
SCI UtahComputational Science PipelineComputational Science Pipeline
Modeling
Simulation
Visualization
Integration!Think aboutPipelineComplexity!
SCI UtahInteractive Large-Scale VisualizationInteractive Large-Scale Visualization
Medical
ScientificComputing
GeoScience
SCI UtahAn HPV Success StoryAn HPV Success Story
SCI UtahWhy Parallel Visualization?Why Parallel Visualization?
P4
Terabyte
SCI UtahWhy Parallel Visualization?Why Parallel Visualization?
• Large Amounts of Data
• Compute Intensive Rendering
• Need Interactivity!
SCI UtahVisualization Algorithm ClassificationVisualization Algorithm Classification
The visualization rendering pipeline:
GeometryDatabase
GeometryTransformation
Rasterization
Image
Per Vertex
Per Pixel
SCI UtahParallel Visualization TaxonomyParallel Visualization Taxonomy
[Molnar et al. `94]
Sort-First
3D Primitives
Sort-Middle
2D Primitives
Sort-LastDatabase Traversal
G
R
Display
G G G
R R R
Preprocessing
Database Traversal
G
R
Display
G G G
R R R
Preprocessing
Database Traversal
G
R
Display
G G G
R R R
Preprocessing
Rendered Pixels
SCI UtahParallel Visualization – 1995Parallel Visualization – 1995CM-5 Sort LastMolecularDynamicsVisualization
SCI UtahParallel Visualization - 1996Parallel Visualization - 1996T3DNOISESort-Middle10 FPSHIPPI-FB
SCI Utah
Parallel Visualization 1998-2002Parallel Visualization 1998-2002
Origin 2000 - 3000New ParadigmNUMA DSMMultiple-Graphics HW
SCI UtahReal-Time Ray Tracer (RTRT)Real-Time Ray Tracer (RTRT)
Implemented on SGI Origin 3000 ccNUMA architecture - up to 512 processors (now working on a distributed version)
Approximately linear speedupLoad balancing and memory
coherence are key to performance
SCI UtahReal-Time Ray TracerReal-Time Ray Tracer
SCI Utah
Real-Time Ray Tracer - ScalabilityReal-Time Ray Tracer - Scalability
SCI Utah
Molecular Simulation and VisualizationMolecular Simulation and Visualization
Protein MoleculesKlaus SchultenTheoretical BiophysicsGroup, UIUC
SCI UtahReal-time Surface RenderingReal-time Surface Rendering
SCI UtahReal-time Volume RenderingReal-time Volume Rendering
SCI UtahHardware MultipipeHardware Multipipe
Partition Image using Hilbert Curve
IR1
IR2
IR3
IR4
IR1
IR2
IR3
SCI UtahRequires 5GB/sec of disk I/O bandwidth for 3-5
Hz interaction rate- Impedance match to pipe texture
download speed- 96 fibre channel interfaces, 6 per pipe
TRex:LANL/Utah
IR IR IR IRRAM
Multi-pipe Volume RenderingMulti-pipe Volume Rendering
SCI Utah
TRex: Multipipe Volume RenderingTRex: Multipipe Volume Rendering
SCI UtahHardware Multipipe ResultsHardware Multipipe Results
0
5
10
15
20
25
Avg FPS
1 2 4 8
Number of Tiles
Average FPS for 3GB 512x512 Image
1 IR 2 IR4 IR8 IR
SCI UtahOverview of Parallel Visualization TechniquesOverview of Parallel Visualization Techniques
Scalability / Interactivity
Rendering Features Polygon rendering
GlobalIllumination
RTRTMultipipeGlobalIllumination
MultipipeRendering
SCI Utah
What’s Next?What’s Next?
Cluster and Grid VisualizationWhy?• Current high end visualization
hardware is expensive• Current high end hardware not flexibleBut the real reason is:Clusters and the Grid are: cool, hot
fashionable, “the in thing”
SCI UtahCluster and Grid VisualizationCluster and Grid Visualization
So, why are there ZERO papers on visualization in CCGrid?• Maybe visualization isn’t important?
• 66% of your brain is for visualization
• Visualization on clusters and grids is HARD!
SCI Utah
Current Grid Based VisualizationCurrent Grid Based Visualization
Non-interactive Visualization
SCI UtahGrid Visualization?Grid Visualization?
SGI RealityMonsterSGI RealityMonster
MasterThread
ClientThread
ClientThread
Network
...
...
InfiniteRealityGraphics
InfiniteRealityGraphics
ProjectorProjectorProjectorProjectorProjectorProjectorProjectorProjector
OpenGL Protocol
ClientApp
PipeThread
PipeThread
ClientApp
"Mural Server"(8 processor SGI Origin)
G. Humphreys, P. Hanrahan, A distributed graphics system for large tiled displays, Vis99
PC “RealityMonster”PC “RealityMonster”
G. Humphreys, I. Buck, P. Hanrahan, Distributed rendering for large tiled displays, Supercomputing 2000
MasterThread
ClientThread
ClientThread
Network
...
...OpenGL Protocol
ClientApp
Pipe Server
ClientApp
"Mural Server"(PC Cluster Version)
Pipe ServerPipe ServerPipe ServerPipe ServerPipe ServerPipe ServerPipe Server
ProjectorProjectorProjectorProjectorProjectorProjectorProjectorProjector
Net
wor
k GFX HWGFX HWGFX HWGFX HWGFX HWGFX HWGFX HWGFX HW
SCI UtahVisualization on ClustersVisualization on Clusters
Sort-First
3D Primitives
Database Traversal
G
R
Display
G G G
R R R
Preprocessing
Parallelize
Parallelize (Custom HW)
SCI UtahStanford ClusterStanford Cluster
Multi-projector BasedSort First Parallel Rendering Custom DVI Compositing Network
•Similar in spirit to Sepia (Compaq)
WireGL Software
SCI UtahChromium Cr(Cluster Renderer)Chromium Cr(Cluster Renderer)
Cluster: 32 graphics nodes, 4 server nodesComputer: Compaq SP750
• 2 processors (800 Mhz, 133Mhz FSB)• i840 core logic (biggest issue for vis-clusters)• 256 MB memory• 18GB disk (+ 3*36GB on servers)• 64-bit, 66 Mhz PCI• AGP-4X Pro
Graphics• NVIDIA GeForce3
Network• Myrinet 64-bit, 66 Mhz
http://sourceforge.net/projects/chromium/
SCI UtahPrinceton - ClusterPrinceton - Cluster
Commodity Clustering
SCI UtahUT Austin ClusterUT Austin ClusterCompaq ClusterMulti-Projector Custom Compositing Network
SCI UtahUtah Visualization ClusterUtah Visualization Cluster
64 CPUs (1.7 GHz P4, 1 Gb memory each)Nvidia GeForce 3Switch connected GigE networkHeavy duty cooling racks
SCI UtahCluster VisualizationCluster VisualizationClusters (basically multipipe rendering)- Compaq- Princeton- Stanford - UT Austin- Cal Tech- etc…...
Sort Last
Sort First
SCI UtahAdding Clusters to the PictureAdding Clusters to the Picture
Scalability / Interactivity
Rendering Features Polygon rendering
GlobalIllumination
RTRTMultipipeGlobalIllumination
Clusters
MultipipeRendering
SCI Utah
Grid Visualization Service ApproachesGrid Visualization Service Approaches
Do everything on the remote server• Pros: simple to grid enable existing packages• Cons: high latency, eliminates possibility of
proxying and caching at local site.
ModerateBandwidth
Link
Very high-endremote server
Localmachine
SCI UtahDo everything but the rendering on the remote server
• Pros: fairly simply to grid-enable existing packages, removes some load from the remote site.
• Cons: requires every local site to have good rendering power.
High-endremote server
Computer with good rendering power
Moderatebandwidth
Link
Grid Visualization Service ApproachesGrid Visualization Service Approaches
SCI Utah
Highbandwidth
link
High-endremote server
Low-endlocal PC
Moderatebandwidth
link
Powerful localproxy server
Use a local proxy for the rendering• Pros: offloads work from the remote site, allows
local sites to contribute additional resources.• Cons: local sites may not have sufficiently
powerful proxy resources, application is more complex, requires high bandwidth between local and remote sites.
Grid Visualization Service ApproachesGrid Visualization Service Approaches
SCI UtahDo everything at the local site.• Pros: low latency, easy to grid-enable existing
packages.• Cons: requires high-bandwidth link between
sites, requires powerful compute and graphics resources at the local site.
Grid Visualization Service ApproachesGrid Visualization Service Approaches
Ultrahigh Bandwidth
Link Low-endremote server
Powerfullocal server
SCI UtahGrid Visualization NeedsGrid Visualization Needs
Assertion: static application partitions are not appropriate for heavyweight grid services
Need a uniform framework for grid-enabling and partitioning heavyweight services such as remote visualization.
SCI Utah
Challenges to Providing Heavyweight Grid ServicesChallenges to Providing Heavyweight Grid Services
Grid visualization resources are limited• We must find an easy way to grid-enable existing
packages.Grid resources are “wildly” heterogeneous wrt to
Visualization (graphics, displays, I/O, plus usual)• Programs should be performance-portable (sense
resources at load time) and configure themselves in some “optimal” way.
Grid resources are dynamic• Programs need be adaptive to dynamical adjust to
changing resources – might need user decision (e.g. accuracy versus frame rate)
Applications that provide heavyweight grid services must be resource-aware.
SCI UtahActive Frames - CMUActive Frames - CMU
Framedata
Activeframe
interpreterApplication
librariese.g, vtk
Framedata
Frameprogram
Active Frame Server
Input Active Frame Output Active Frame
Host
Frameprogram
David O’Hallaron, CMU
Dv is a flexible framework that allows one to schedule and partition heavyweight services, based on the notion of a “active frame.”
SCI UtahGrid-Enabling vtk with DvGrid-Enabling vtk with Dv
reader
localDv
client
response frames (to other Dv servers)
[appl. data, scheduler, flowgraph,control ]
request frame[request server, scheduler, flowgraph, data reader ]
request server
remote machine
... local Dv
serverscheduler
result
...
local machine(Dv client)
David O’Hallaron, CMU
SCI UtahCactus – Ed Seidel Cactus – Ed Seidel
SCI UtahGrid Visualization AlgorithmsGrid Visualization Algorithms
Compression (wavelets, multiresolution, mpeg, etc.)
Importance Based RenderingView DependentImage Based RenderingAdaptive (Resource Aware)
Parallel/Distributed Techniques
SCI UtahPoint-Cloud Rendering - ISIPoint-Cloud Rendering - ISI
Thiebaux/Czajkowski/Kesselman - ISI
SCI UtahVolume Browsing Path - ISIVolume Browsing Path - ISI
Volume time-series (3D×time×scalar)Parallel search/sort converts to OpenGL geom.Double-buffered frame reassembly
Reduction
TCP/IP
RenderingSorting Transport
... ... ... ...
Receive Buffer
Parallel I/O
Thiebaux/Czajkowski/Kesselman - ISI
SCI UtahThe Visualization PipelineThe Visualization Pipeline
Search Renderconstruct
Isovalue
OnlineOffline
Reduce the amount of data• Reduce during the search...
Pre-process
View point
O(k) O(k)O(V(k)) O(V(k))
SCI UtahA View-dependent ApproachA View-dependent ApproachAttractive for:
• Grid visualization• Large data sets• Sub-pixel polygons
SCI UtahView Dependent - Visible WomanView Dependent - Visible Woman
Full ViewIsosurface depend
Polys 2,246,000 246,000 Create 177 sec 72 secRender 2.32 sec 0.25 sec
SCI Utah
Parallel Image Based RenderingParallel Image Based RenderingSize of the reconstruction image
• per pixel costComplexity
• Modeling Complexity• Polygon Count• Lighting Complexity
SCI UtahParallel IBRParallel IBR
Part of Distributed Visualization
SCI Utah
Immersive Interactive VisualizationImmersive Interactive Visualization
SCI UtahMultiple Fields - HapticsMultiple Fields - Haptics
SCI UtahImmersive CFD VisualizationImmersive CFD Visualization
SCI UtahFuture for Grid VisualizationFuture for Grid Visualization
Scalability / Interactivity
Rendering Features Polygon rendering
GlobalIllumination
RTRTMultipipeGlobalIllumination
Clusters
IBR methods
Grid Visualization
Multiresolution
View DependentAdaptive/Aware
Importance Based
New Algorithms
SCI UtahFuture of Grid Visualization?Future of Grid Visualization?GAMES!!!!!
16-way parallel2GB RAMBUS 1G Polys per sec
50GB/sec memory bus1920x1080 resolution
SCI UtahFuture of Grid Visualization?Future of Grid Visualization?
SCI UtahAcknowledgementsAcknowledgements
DOE ASCI and SciDACNSFNIH NCRR and BISTISGI Visual Supercomputing
CenterVisual Influence
SCI Utah
Scientific Computing and ImagingScientific Computing and Imaging
SCI Utah
SCI UtahMore InformationMore Information
www.sci.utah.eduwww.sci.utah.edu
[email protected]@sci.utah.edu