sort-last parallel rendering for viewing extremely large data sets on tile displays

23
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 2002- Dr. Jian Huang

Upload: astrid

Post on 07-Jan-2016

18 views

Category:

Documents


0 download

DESCRIPTION

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 2002- Dr. Jian Huang. Research Focus/Goal. Focus: Develop highly scalable rendering techniques. Goal: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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 2002- Dr. Jian Huang

Page 2: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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.

Page 3: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

Background

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

Page 4: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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.

Page 5: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

System OrganizationVIEWS

RiCky

Tile DisplayProjector

System AreaNetwork

Communication

NodeEquipment:Compaq 750nVidia Geforce 256 Graphics Card

Data Set

Page 6: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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.

Page 7: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

System Organization

Page 8: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

Main Point of Paper

Composting Strategies

• Serial• Virtual Trees• Tile Split and Delegate• Reduce to Single Tile

Page 9: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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.

Page 10: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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.

Page 11: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

Tile Split and DelegateAttempt 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(N2).

Page 12: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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).

Page 13: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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.

Page 14: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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.

Page 15: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

Experimental Results

Page 16: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

Experimental Results

Page 17: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

Experimental Results

Page 18: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

Experimental Results

Page 19: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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.

Page 20: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

Pretty Pictures

Page 21: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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.

Page 22: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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.

Page 23: Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays

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.