26
Silicon Graphics, Inc. Presented by: SGI Proprietary Silicon Graphics Prism TM : A Platform for Scalable Graphics Alpana Kaulgud Engineering Director, Visual Systems Bruno Stefanizzi Applications Engineering

Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

Embed Size (px)

Citation preview

Page 1: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

Silicon Graphics, Inc.

Presented by:

SGI Proprietary

Silicon Graphics PrismTM : A Platform for Scalable Graphics

Alpana KaulgudEngineering Director, Visual Systems

Bruno StefanizziApplications Engineering

Page 2: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Silicon Graphics PrismTM – A Platform for Scalable Graphics

Overview of Talk

• Goals for Scalable Graphics• Scalable Architecture for Silicon Graphics Prism• Case Study• Call to Action and Future Directions

Page 3: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Goals

Traditional Computational Problems (CFD, Crash, Energy, Crypto, etc.)

• Determine problem set size• Size compute server to solve problem in

needed timeframe

Small Problems: 1 – 16 CPUsBigger Problem: 16 – 64 CPUs

Large Problem: 64 – 1024 CPUsScientific Challenge: 1024 CPUs or more

Applications scale to use all computational resources: CPU, memory, I/O to reduce time to solution

Traditional Visualization Problems (Media, CAD, Energy, Biomedical, etc.)

• Determine problem set size• Reduce problem until it fits on a single GPU

Small Problems: 1 GPUBigger Problem: 1 GPU

Large Problem: 1 GPUScientific Challenge: up to 16 GPUs

Images courtesy of Pratt and Whitney Canada and Landmark Graphics

Page 4: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Goals

Use the appropriate resource for each algorithm in the workflowto reduce “time to solution”CPUs for computation/visualization

GPUs for visualization/computationFPGAs for algorithm acceleration

Scalability Dimensions-Display

-Data

-Render (Geometry/Fill)

-Number of User/Input Devices

Single System Image–Ease of Use

Images courtesy of Pratt and Whitney Canada and Landmark Graphics

Page 5: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Lets Follow the Data – where are the bottlenecks ?

Frame Buffer

Fragment Processor

Texture Storage + Filtering

RasterGeometry

ProcData

Gfx StorageCPUMemory

CPU/Memory Bound

CPU transfer transform raster texture fragment frame buffer

Vertex Bound

Pixel Bound

transfer

I/OStorage

transfer

Page 6: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Scalability General Principles

• Localize access– Defined by network and topology– NUMA principles apply well

• Pipeline and Parallelize

• Minimize locking and synchronization points– Finer granularity locks

Page 7: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Components (Render Fast)

GPU

GraphicsCard

TIO

PCI/PCI-X Ports1 GB/s

Not Used

SSP Port

GPU

GraphicsCard

TIO

PCI/PCI-X Ports1 GB/s

Not Used

SSP Port

Differential N

L4

Differential NL4

Differential NL4

Page 8: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Visualization System for Linux®

Software (render smart)

• OpenGL Performer™• OpenGL Volumizer™ • OpenGL Multipipe™ SDK• OpenGL Multipipe™ • OpenGL Vizserver™ and Visual

Area Networking (VAN)

CT data courtesy of University of N. Carolina, image courtesy of EPL Productions

OpenGL Multipipe

OpenGL Multipipe SDK

OpenGLVolumizer

OpenGLPerformer

Scalability

Inva

sive

ness

Page 9: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Image Synchronization : Minimize Synchronization Points

• Silicon Graphics Prism offers true backend synchronization through Image Sync – key to scalable platform – architecture does not impose application level rendezvous points

Image Sync Card

ImageSync Features:•True Framelock capability (genlock with compositor)•True Swapready capability•Can be used to lock to internal and external swap and video sync signals.

Page 10: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Solving the Memory Bottleneck

Memory Addressibility - more address bits– Intel Itanium® II 50-bits: 128000GB– AMD 64 Opteron® 40-bits: 128GB– Intel Xeon® 36-bits: 8GB

Memory Bandwidth & Memory ContentionMemory & process placement (lessons learned from HPC)

• Scalability inhibitors– False sharing– Non local data references– Memory contention

• Scalability Enabler Tools – Careful code and memory organization– Must Run (lock processes to nodes) and default memory placement – First Touch– Round Robin placement

Page 11: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Solving the Rendering Bottleneck

1. Screen-based decomposition Even more powerful in combination

All modes can be used separately orcombined in any number of ways

2. Eye-based decomposition 3. Time-based decomposition

4. Data-based decomposition

Visible Human public data setData courtesy of DaimlerChrysler, Images courtesy of MAK

Page 12: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Solving the Rendering Bottleneck

Silicon Graphics Prism is capable of all of these modes and more –hybrid modes

•Fixed composition in hardware or more flexible software composition schemes

•Capable of adaptive composition schemes

•Capable of hybrid composition schemes

•Bisection Bandwidth is an important consideration

Page 13: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Case Study

Challenge : Make the visualization of a large model interactive using scalability into an application

– Model Aermacchi M346*• 30Millions non optimized triangles • No interactive performance with < 1Hz on 1 GPU• Around 25000 individual parts• No reduction of the problem size

– Technologies used• SGI Prism NUMA Multi CPU/GPU• OpenSceneGraph• OpenGL Multipipe SDK• OpenGL Performer

*Courtesy of Aermacchi

Page 14: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Case Study

Model Aermacchi M346*

*Courtesy of Aermacchi

Page 15: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Solving the GPU bottleneck

Using Database decomposition to scale the rendering– Scale in graphic memory to achieve ‘super scaling’– Scale in CPU to GPU communication– But compositing is expensive

C Gfx

Gfx

Gfx

Gfx

R

C

C

C

C

C

C : cpu brick

R : router brick

Page 16: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Solving the GPU bottleneck

Optimizing the compositing phase with a large number of GPUs- Basic serial GPU compositing- Stripped GPU compositing for parallel GPU- CPU compositing

The Read and Draw pixels (color and z) associated for p GPUs

∞⎯⎯ →⎯ ∞→p))(1( zczC DDpRRC +−++=

ppDD

pRR

ppDD

ppRRC zczczczc )1)(()()1)(()1)(( −+

++

+−+

+−+

= )(2 zczC DDRR +++⎯⎯ →⎯ ∞→p

Cte⎯⎯ →⎯ ∞→pzczC DDCPURRC ++++=

Page 17: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Solving the GPU bottleneck

The compositing phase- Basic serial GPU was the bottleneck- Stripped GPU reduces the bottleneck to

almost constant - but read/draw smaller is not efficient

- CPU is constant Compositing time

050

100150200250300350400450

2 4 8 10 12

number of GPUs

ms

SerialstrippedCPU

Page 18: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Solving the GPU bottleneck

Optimizing the compositing phase- Reducing the Read and Draw pixels areas

- Octree to spatialize the model

Page 19: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Solving the Memory bottleneck

In large data visualization, Memory is the bottleneck- Traversing and culling the data is expensive- Especially if the data is all located at the same place!- Memory placement is important as well as understanding the system

topology

C Gfx

Gfx

Gfx

Gfx

R

C

C

C

C

C

Page 20: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Solving the Memory bottleneck

Gfx

Gfx

Traversing and culling the data avoiding the memory bottleneck

- Parallelize the traversal/culling and the draw- More CPU are busy- Make things more memory intensive

CGfx

Gfx

R

C

C

C

C

C

Page 21: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Solving the Memory bottleneck

Memory placement without changing the data

- Duplicate the database on each node

- Difficult to maintain for an application doing editing

- Memory consuming- Domain decomposition- System level Round robin with

numa tools of Prism

Culling/Traversal time

0100200300400500600700800900

2 4 6

number of GPUs

ms

RoundRobinCloneone node

Page 22: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Solving the CPU bottleneck

In large data visualization, Memory is the bottleneck

Balancing the data with NUMA tools in order to get - Less memory contention- More bandwidth

C Gfx

Gfx

Gfx

Gfx

R

C

C

C

C

C

Page 23: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Case Study

Scalability results

DL

Data base decomposition

0

1

2

3

4

5

6

1 2 4 6 8 10

number of GPUs

FPS

Immediate mode

Display List

Static !! Interactive!!

Come to see it on our booth!

Page 24: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Call to Action

• Open Standards – continue to support and promote

• Build latency tolerant components, i.e. deeper pipelining

• Virtualization of resources

Page 25: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

Future Work

• Real-time options

• Integration with digital media

• Multi-core, Multi-GPU, Multi-everything– More “render smart”– Hybrid schemes

Page 26: Prism : A Platform for Scalable Graphics - Graphics ... Proprietary Silicon Graphics PrismTM – A Platform for Scalable Graphics Overview of Talk • Goals for Scalable Graphics •

SGI Proprietary

©2005 Silicon Graphics, Inc. All rights reserved. Silicon Graphics, SGI, Reality Center, Altix, Geometry Engine, the SGI logo and the SGI cube are registered trademarks and Silicon Graphics Prism and The Source of Innovation and Discovery are trademarks of Silicon Graphics, Inc., in the U.S. and/or other countries worldwide. Linux is a registered trademark of Linus Torvalds in several countries. Intel is a trademark or registered trademark of Intel Corporation or its subsidiaries in the United States and other countries. All other trademarks mentioned herein are the property of their respective owners. (01/05)