Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays Paper by Kenneth Moreland, Brian Wylie, and Constantine Pavlakos Presented.

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Advertisements

Resource Management §A resource can be a logical, such as a shared file, or physical, such as a CPU (a node of the distributed system). One of the functions.
Autonomic Systems Justin Moles, Winter 2006 Enabling autonomic behavior in systems software with hot swapping Paper by: J. Appavoo, et al. Presentation.
Distributed Multimedia Systems
Xingfu Wu Xingfu Wu and Valerie Taylor Department of Computer Science Texas A&M University iGrid 2005, Calit2, UCSD, Sep. 29,
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
Development of Parallel Simulator for Wireless WCDMA Network Hong Zhang Communication lab of HUT.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
April 23, 2002 Parallel Computing: Overview John Urbanic
1 Image-Based Visual Hulls Paper by Wojciech Matusik, Chris Buehler, Ramesh Raskar, Steven J. Gortler and Leonard McMillan [
School of Computer Science and Software Engineering A Networked Virtual Environment Communications Model using Priority Updating Monash University Yang-Wai.
DDDDRRaw: A Prototype Toolkit for Distributed Real-Time Rendering on Commodity Clusters Thu D. Nguyen and Christopher Peery Department of Computer Science.
Page 1 CS Department Parallel Design of JPEG2000 Image Compression Xiuzhen Huang CS Department UC Santa Barbara April 30th, 2003.
Introduction to Parallel Rendering: Sorting, Chromium, and MPI Mengxia Zhu Spring 2006.
Parallel Rendering Ed Angel
Parallel Computation in Biological Sequence Analysis Xue Wu CMSC 838 Presentation.
Presenter : Cheng-Ta Wu Antti Rasmus, Ari Kulmala, Erno Salminen, and Timo D. Hämäläinen Tampere University of Technology, Institute of Digital and Computer.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Fast Isosurface Visualization on a High-Resolution Scalable Display Wall Adam Finkelstein Allison Klein Kai Li Princeton University Sponsors: DOE, Intel,
Parallel Graphics Rendering Matthew Campbell Senior, Computer Science
3D Rendering & Algorithms__ Sean Reichel & Chester Gregg a.k.a. “The boring stuff happening behind the video games you really want to play right now.”
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
Digital Video An Introduction to the Digital Signal File Formats Acquisition IEEE 1394.
IE433 CAD/CAM Computer Aided Design and Computer Aided Manufacturing Part-2 CAD Systems Industrial Engineering Department King Saud University.
Unit 30 P1 – Hardware & Software Required For Use In Digital Graphics
Electronic Visualization Laboratory University of Illinois at Chicago “Sort-First, Distributed Memory Parallel Visualization and Rendering” by E. Wes Bethel,
Parallel Rendering 1. 2 Introduction In many situations, standard rendering pipeline not sufficient ­Need higher resolution display ­More primitives than.
Low Contention Mapping of RT Tasks onto a TilePro 64 Core Processor 1 Background Introduction = why 2 Goal 3 What 4 How 5 Experimental Result 6 Advantage.
Network Aware Resource Allocation in Distributed Clouds.
Architectural Support for Fine-Grained Parallelism on Multi-core Architectures Sanjeev Kumar, Corporate Technology Group, Intel Corporation Christopher.
Uncovering the Multicore Processor Bottlenecks Server Design Summit Shay Gal-On Director of Technology, EEMBC.
A Sorting Classification of Parallel Rendering Molnar et al., 1994.
Matrices from HELL Paul Taylor Basic Required Matrices PROJECTION WORLD VIEW.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Adaptive Terrain Slicing (Stefan Roettger)
Seminar II: Rendering Architectures Yan Cui Love Joy Mendoza Oscar Kozlowski John Tang.
Scheduling Many-Body Short Range MD Simulations on a Cluster of Workstations and Custom VLSI Hardware Sumanth J.V, David R. Swanson and Hong Jiang University.
The BSP-tree from Prof. Seth MIT.. Motivation for BSP Trees: The Visibility Problem We have a set of objects (either 2d or 3d) in space. We have.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
1 Exploring Custom Instruction Synthesis for Application-Specific Instruction Set Processors with Multiple Design Objectives Lin, Hai Fei, Yunsi ACM/IEEE.
Introduction to Parallel Rendering Jian Huang, CS 594, Spring 2002.
A High-Performance Scalable Graphics Architecture Daniel R. McLachlan Director, Advanced Graphics Engineering SGI.
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Parallel Rendering. 2 Introduction In many situations, a standard rendering pipeline might not be sufficient ­Need higher resolution display ­More primitives.
Multiprossesors Systems.. What are Distributed Databases ? “ A Logically interrelated collection of shared data ( and a description of this data) physically.
Scaling Area Under a Curve. Why do parallelism? Speedup – solve a problem faster. Accuracy – solve a problem better. Scaling – solve a bigger problem.
Partitioning Screen Space 1 (An exciting presentation) © 2002 Brenden Schubert A New Algorithm for Interactive Graphics on Multicomputers * The Sort-First.
Parallel Algorithms & Distributed Computing Matt Stimmel Matt White.
Lecture 7: Intro to Computer Graphics. Remember…… DIGITAL - Digital means discrete. DIGITAL - Digital means discrete. Digital representation is comprised.
Parallel Rendering Ed Angel Professor Emeritus of Computer Science University of New Mexico 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E.
11 CLUSTERING AND AVAILABILITY Chapter 11. Chapter 11: CLUSTERING AND AVAILABILITY2 OVERVIEW  Describe the clustering capabilities of Microsoft Windows.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Lecture 3 : Performance of Parallel Programs Courtesy : MIT Prof. Amarasinghe and Dr. Rabbah’s course note.
Large Scale Time-Varying Data Visualization Han-Wei Shen Department of Computer and Information Science The Ohio State University.
Electronic visualization laboratory, university of illinois at chicago Visualizing Very Large Scale Earthquake Simulations (SC 2003) K.L.Ma, UC-Davis.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Image Processing A Study in Pixel Averaging Building a Resolution Pyramid With Parallel Computing Denise Runnels and Farnaz Zand.
Scaling Conway’s Game of Life. Why do parallelism? Speedup – solve a problem faster. Accuracy – solve a problem better. Scaling – solve a bigger problem.
An interleaved Parallel Volume Renderer with PC-clusters Antonio Garcia and Han-Wei Shen Dept of Computer Science Ohio State University Eurographics Workshop.
A Sorting Classification of Parallel Rendering Molnar et al., 1994.
1 Hierarchical Parallelization of an H.264/AVC Video Encoder A. Rodriguez, A. Gonzalez, and M.P. Malumbres IEEE PARELEC 2006.
Electronic visualization laboratory, university of illinois at chicago Sort Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays.
DGrid: A Library of Large-Scale Distributed Spatial Data Structures Pieter Hooimeijer,
Network Topologies for Scalable Multi-User Virtual Environments Lingrui Liang.
How to use a Pixel Shader CMT3317. Pixel shaders There is NO requirement to use a pixel shader for the coursework though you can if you want to You should.
GPU Architecture and Its Application
Mipmapped High Resolution Video for Immersive Virtual 3D Environments
Introduction to Teradata
CS510 - Portland State University
Kenneth Moreland Edward Angel Sandia National Labs U. of New Mexico
Presentation transcript:

Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays Paper by Kenneth Moreland, Brian Wylie, and Constantine Pavlakos Presented by Adam Howard CS594 Spring Dr. Jian Huang

Research Focus/Goal Focus: Develop highly scalable rendering techniques. Goal: Drive multiple tile displays with frame rates that are comparable to a single tile display using a sort-last based parallel algorithm that scales appropriately with large data sets.

Background Sort-Last Parallel Rendering: Combines images after rasterization occurs.

Overview of Approach The Situation: Requirement (Output): Target resolution of 12 million pixels or more. Problem: Beyond capabilities of a single commodity computer. Solution: Tiled display where input comes from graphics engines on different computers. The Approach: Rather than render a single high-resolution image, each processor generates images for the tiles that make up the display. More precisely, use N processors to render and compose a large data set with T different projections, one for each display tile.

System Organization VIEWS RiCky Tile Display Projector System Area Network Communication Node Equipment: Compaq 750 nVidia Geforce 256 Graphics Card Data Set

System Organization Design Strategy: Allow any number of N processors to contribute to rendering T images for a tile as long as N>=T. Software: Intended to draw polygons that are evenly distributed amongst all the processors.

System Organization

Main Point of Paper Composting Strategies Serial Virtual Trees Tile Split and Delegate Reduce to Single Tile

Serial Compose T images for a tile display by serially running a composition algorithm for a single display T times. Weakness: No advantage from spatial coherence. Load balancing.

Virtual Trees Based on Binary Tree Algorithm. Each tile image has a tree that has processors assigned to it. Processors assigned to more than one tree- when finished with one job- start another. Processor scheduling is very important. Weakness: Load balancing.

Tile Split and Delegate Attempt to achieve better load balancing throughout composting. Extension of the direct send algorithm. Load balancing is ensured. Weakness: Large amount of message passing. Number of messages is O(N 2 ).

Reduce to Single Tile - Attempt to reduce the problem to that of composing a single image in the same manor as traditional sort-last parallel rendering systems. Before composting begins, each processor holds between zero and T images for separate tiles. The goal is for each processor to have one image for a particular tile. Advantages: Good load balancing. Fewer messages- Order of O(N*T+NlogN).

Optimizations Bucketing –Reduce number of polygons sent to graphics hardware. Active Pixel Encoding –Reduce amount of information passed over the network Floating Viewport –Reduce number of times a polygon is rendered and the number of times the frame buffer is read back.

Experimental Results The serial strategy has good results when the data is not spatially coherent. Tile Split and Delegate and Reduce to One strategies were the best for spatially coherent data. Determined that there is a tradeoff between display resolution and rendering time. Other parallel cluster systems can render larger data sets faster, but not at this level of resolution.

Experimental Results

Conclusion The results support the initial goal of increasing resolution by rendering to a tiled display by using a cluster of commodity computers. It also supports the desire for scalability- such as larger data sets or higher resolution displays.

Pretty Pictures

Bucketing Reduce number of polygons sent to the graphics hardware by estimating which polygons can be ignored. Before rendering- each processor’s polygons are grouped into several 3D regions called buckets. Occurs when data loaded during initialization. Before each tile image is rendered, the buckets are tested to determine which lie in the tile. Only the polygons in these buckets are rendered. Weakness: A large number of buckets reduces rendering time, but increases overhead in determining screen projections. They ended up using a moderate amount of buckets to reduce rendering time.

Active Pixel Encoding This method simply reduces the amount of information that is sent across the network by making a distinction between active pixels that contain geometric information and inactive pixels. Active pixel information is longer than inactive pixel information and this reduces the overall overhead of message passing between processors.

Floating Viewport Here a virtual tile is created to encompass an entire polygon. After processing it is split and each piece is displayed directly on each real tile it is actually on. Hence the system does not need to render any polygon more than once, and the frame buffer is read back one time instead of four. This is most effective when the ratio of tiles to processors decreases and the data has good spatial coherency.