Equalizer. Parallel OpenGL Application Framework. Stefan Eilemann, Eyescale Software GmbH



Similar documents
Remote Graphical Visualization of Large Interactive Spatial Data

Advanced Rendering for Engineering & Styling

Stream Processing on GPUs Using Distributed Multimedia Middleware

Petascale Visualization: Approaches and Initial Results

How To Share Rendering Load In A Computer Graphics System

SUN. Linda Fellingham, Ph. D Manager, Visualization and Graphics Sun Microsystems

A Steering Environment for Online Parallel Visualization of Legacy Parallel Simulations

OctaVis: A Simple and Efficient Multi-View Rendering System

Journal of Chemical and Pharmaceutical Research, 2013, 5(12): Research Article. An independence display platform using multiple media streams

The Design and Implementation of Scalable Parallel Haskell

Parallel Visualization for GIS Applications

Performance Monitoring of Parallel Scientific Applications

Data Centric Interactive Visualization of Very Large Data

IBM Deep Computing Visualization Offering

OpenMosix Presented by Dr. Moshe Bar and MAASK [01]

ParFUM: A Parallel Framework for Unstructured Meshes. Aaron Becker, Isaac Dooley, Terry Wilmarth, Sayantan Chakravorty Charm++ Workshop 2008

LS-DYNA Best-Practices: Networking, MPI and Parallel File System Effect on LS-DYNA Performance

LA-UR- Title: Author(s): Intended for: Approved for public release; distribution is unlimited.

Rodrigo Fernandes de Mello, Evgueni Dodonov, José Augusto Andrade Filho

Introduction to GPGPU. Tiziano Diamanti

Introduction to GPU Programming Languages

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

NVIDIA IndeX Enabling Interactive and Scalable Visualization for Large Data Marc Nienhaus, NVIDIA IndeX Engineering Manager and Chief Architect

A Chromium Based Viewer for CUMULVS

Write a technical report Present your results Write a workshop/conference paper (optional) Could be a real system, simulation and/or theoretical

Effective Java Programming. efficient software development

Distributed Operating Systems. Cluster Systems

Get the Best out of NVIDIA GPUs for 3D Design and Engineering in the Cloud

Who is Dale? Today s Topics. Vis Basics Big Data. Vis Basics The Four Paradigms. Ancient History IRIX-based Vis Systems

Multi-GPU Scaling for Large Data Visualization (Thomas Ruge, NVIDIA)

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Practical Data Visualization and Virtual Reality. Virtual Reality VR Software and Programming. Karljohan Lundin Palmerius

Cloud Computing. Adam Barker

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014

Scalability and Classifications

Symmetric Multiprocessing

Performance Optimization and Debug Tools for mobile games with PlayCanvas

Texture Cache Approximation on GPUs

Accelerating Simulation & Analysis with Hybrid GPU Parallelization and Cloud Computing

Part I Courses Syllabus

Large Scale Data Visualization and Rendering: Scalable Rendering

2 Paper 1022 / Dynamic load balancing for parallel volume rendering

Operating System for the K computer

Next Generation GPU Architecture Code-named Fermi

- An Essential Building Block for Stable and Reliable Compute Clusters

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

High-resolution multi-projector display walls and applications

The Uintah Framework: A Unified Heterogeneous Task Scheduling and Runtime System

Program Grid and HPC5+ workshop

Cross-Segment Load Balancing in Parallel Rendering

Overlapping Data Transfer With Application Execution on Clusters

Amazon EC2 Product Details Page 1 of 5

MOSIX: High performance Linux farm

The Design and Implement of Ultra-scale Data Parallel. In-situ Visualization System

GPU Architecture. Michael Doggett ATI

HPC Cluster Decisions and ANSYS Configuration Best Practices. Diana Collier Lead Systems Support Specialist Houston UGM May 2014

Technical Computing Suite Job Management Software

Cloud Computing through Virtualization and HPC technologies

Parallel Visualization of Petascale Simulation Results from GROMACS, NAMD and CP2K on IBM Blue Gene/P using VisIt Visualization Toolkit

Retour d expérience : portage d une application haute-performance vers un langage de haut niveau

HPC Wales Skills Academy Course Catalogue 2015

GeoImaging Accelerator Pansharp Test Results

NVIDIA CUDA Software and GPU Parallel Computing Architecture. David B. Kirk, Chief Scientist

Bright Cluster Manager

Integrated Open-Source Geophysical Processing and Visualization

Load Balancing on Cluster-Based Multi Projector Display Systems

Petascale Software Challenges. Piyush Chaudhary High Performance Computing

HPC Software Requirements to Support an HPC Cluster Supercomputer

GPU File System Encryption Kartik Kulkarni and Eugene Linkov

Parallel Ray Tracing using MPI: A Dynamic Load-balancing Approach

Multi-GPU Load Balancing for In-situ Visualization

Mark Bennett. Search and the Virtual Machine

NVIDIA Quadro M4000 Sync PNY Part Number: VCQM4000SYNC-PB. User Guide

NVIDIA IndeX. Whitepaper. Document version June 2013

High Performance Computing in CST STUDIO SUITE

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

Eloquence Training What s new in Eloquence B.08.00

BSC vision on Big Data and extreme scale computing

Parallel Firewalls on General-Purpose Graphics Processing Units

Le langage OCaml et la programmation des GPU

Introduction to Virtual Machines

How To Manage An Sap Solution

High-Resolution Multiprojector Display Walls

2.1 What are distributed systems? What are systems? Different kind of systems How to distribute systems? 2.2 Communication concepts

Radeon HD 2900 and Geometry Generation. Michael Doggett

Release Notes for Open Grid Scheduler/Grid Engine. Version: Grid Engine

RevoScaleR Speed and Scalability

Visualizing Data: Scalable Interactivity

OpenGL & Delphi. Max Kleiner. 1/22

IT of SPIM Data Storage and Compression. EMBO Course - August 27th! Jeff Oegema, Peter Steinbach, Oscar Gonzalez

A Distributed Render Farm System for Animation Production

Multi-GPU Load Balancing for Simulation and Rendering

The Lattice Project: A Multi-Model Grid Computing System. Center for Bioinformatics and Computational Biology University of Maryland

Introduction to GP-GPUs. Advanced Computer Architectures, Cristina Silvano, Politecnico di Milano 1

REMOTE HIGH FIDELITY VISUALIZATION. May 2015 Jeremy Main, Sr. Solution Architect GRID

Data Visualization in Parallel Environment Based on the OpenGL Standard

Manjrasoft Market Oriented Cloud Computing Platform

evm Virtualization Platform for Windows

Spatialized Audio Rendering for Immersive Virtual Environments

Transcription:

Equalizer Parallel OpenGL Application Framework Stefan Eilemann, Eyescale Software GmbH

Outline Overview High-Performance Visualization Equalizer Competitive Environment Equalizer Features Scalability Outlook

HPV High-Performance Visualization - like HPC but for interactive 3D applications Address the demand to visualize huge data sets using COTS clusters Issue is to scale rendering performance using multiple GPU s and CPU s

Equalizer GLUT for multi-gpu systems and visualization clusters

History 1992: CAVElib Multi-Frustum 2000: SGI OpenGL Multipipe SDK Scalability for SGI Onyx and Prism 2005: Equalizer Clusters, C++, Open Platform 2007: Eyescale Software GmbH

Selected Use Cases Display Walls Virtual Reality Scalable Rendering Equalizer Multi-GPU Platforms Remote Rendering

HPV Solution Space Transparent solutions Based on OpenGL interception Programming interfaces Distributed Scene Graphs Middleware GPGPU frameworks

HPV Transparent Solutions Chromium, ModViz VGP, OMP,... Operate on OpenGL command stream (HPC analogy: auto-parallelizing compilers) Provide programming extensions for better performance and scalability Performance and compatibility issues

HPV Programming Interfaces ScaleViz, Vega Prime, OpenSG Impose invasive programming model and data structure (HPC analogy: CFD codes) Best for developing from scratch Equalizer, CAVElib, VRJuggler, MPK Limited to HPV-critical areas of the code (HPC analogy: MPI, PVM) Best for porting existing applications

GPGPU Frameworks CUDA, RMDP, CTM HPC tools to use GPUs for data processing Do not address parallel rendering Can be integrated with OpenGL and Equalizer

Equalizer Minimally invasive Asynchronous execution Runtime scalability Clusters and SSI Open Source

Minimally Invasive Make porting as simple as possible - but not simpler. Work is limited to visualizationrelevant parts Read Programming Guide or Parallel Graphics Programming presentation

Equalizer Application start Typical OpenGL application structure initialize clear draw Separate rendering and application code swap event handling update data exit? yes exit no stop

Equalizer Application start Instantiate rendering multiple times init config init data begin frame start thread init windows clear draw (sync) start thread init windows clear draw end frame swap swap event handling Optional: data distribution for clusters update data no exit? yes exit config exit? no exit? no yes yes stop stop thread stop thread

Asynchronous Execution Improves scalability on bigger clusters Latency between last draw and main Hides imbalance in load distribution Optional per-node synchronization

Runtime Scalability Runtime configuration Parallel execution of the application s rendering code Typically one thread per graphics card, one process per node

Runtime Configuration Hierarchical resource description: Node!Pipe!Window!Channel Node: single system of the cluster Pipe: graphics card Window: drawable and context Channel: view Resource usage: compound tree

Runtime Configuration Node Config compound eye [ LEFT RIGHT ] Pipe Window viewport {...} channel "bottom" wall {... } swapbarrier {} channel "front" wall {... } swapbarrier {} Channel name "front" viewport {...} Channel name "bottom" viewport {...}

Runtime Scalability 2D (sort-first), DB (sort-last), eye (stereo) and pixel compounds Compatible with compositing hardware Hardware-specific optimizations

2D/Sort-First Scales fillrate Scales vertex processing if view frustum culling is efficient Parallel overhead due to primitive overlap limits scalability

DB/Sort-Last Scales all aspects of rendering pipeline Application needs to be adapted to render subrange of data Result composition relatively expensive

Parallel Compositing Compositing cost grows linearly for DB Parallelize compositing Flexible configuration Constant per-node cost Details in EGPGV 07 presentation source1 (destination) source 2 source 3

Eye/Stereo Stereo rendering Active, passive and anaglyphic stereo Excellent loadbalancing Limited by number of eye views

Pixel Scales fillrate perfectly Similar to 2D Raytracing, Volume Rendering

DPlex/Time-Multiplex frame N frame N+1 frame N+2 Good scalability and loadbalancing Increased latency may be an issue Not yet implemented buffer 2 buffer 1 buffer 0 channel

Multilevel Compounds Compounds allow any combination of modes Combine different algorithm to address and balance bottlenecks Example: use DB to fit data on GPU, then use 2D to scale further

Compounds 2D: low IO overhead, limited scalability DB: high IO overhead, great scalability Eye: good scalability Pixel: linear fill-rate scalability! Combine modes! DB: use parallel compositing

Multi-GPU and Clusters Equalizer runs on both architectures Execution model is the same Shared memory systems allow additional optimisations Porting for SSI simpler than full port

Equalizer Vision Equalizer: Scalable rendering engine Chromium: OpenGL single virtual screen Scenegraphs: Distributed data management HPV Applications Scenegraph Legacy Applications Chromium Equalizer OpenGL, Xdmx and System Libraries

Near Future DB compositing optimizations 2D and DB load-balancing Data processing Examples, demos, applications Failure robustness

Last Words LGPL license: commercial use welcome Open platform for scalable graphics Minimally invasive: easy porting Clusters and shared memory systems Linux, Windows, Mac OS X More on: www.equalizergraphics.com