Workshop on Parallel Visualization and Graphics Chromium Mike Houston, Stanford University and The Chromium Community.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Tableau Software Australia
Distributed Processing, Client/Server and Clusters
Operating System.
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Status – Week 257 Victor Moya. Summary GPU interface. GPU interface. GPU state. GPU state. API/Driver State. API/Driver State. Driver/CPU Proxy. Driver/CPU.
The Operating System. What is an Operating System? The software which makes it possible for you to use your computer The software which starts up when.
IBM 1350 Cluster Expansion Doug Johnson Senior Systems Developer.
Networking and Management Frameworks for Cluster-Based Graphics Benjamin Schaeffer Integrated Systems Lab University of Illinois.
Operating-System Structures
Non-Invasive Interactive Visualization of Architectural Environments Christopher NiederauerU.C. Santa Barbara Mike HoustonStanford University Maneesh AgrawalaMicrosoft.
Advanced Scientific Visualization Paul Navrátil 28 May 2009.
DDDDRRaw: A Prototype Toolkit for Distributed Real-Time Rendering on Commodity Clusters Thu D. Nguyen and Christopher Peery Department of Computer Science.
Introduction to Parallel Rendering: Sorting, Chromium, and MPI Mengxia Zhu Spring 2006.
Figure 1.1 Interaction between applications and the operating system.
Parallel Rendering Ed Angel
Workshop on Commodity-Based Visualization Clusters Learning From the Stanford/DOE Visualization Cluster Mike Houston, Greg Humphreys, Randall Frank, Pat.
NPACI: National Partnership for Advanced Computational Infrastructure August 17-21, 1998 NPACI Parallel Computing Institute 1 Cluster Archtectures and.
Parallel Graphics Rendering Matthew Campbell Senior, Computer Science
Sort-Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays Paper by Kenneth Moreland, Brian Wylie, and Constantine Pavlakos Presented.
Design and Implementation of a Single System Image Operating System for High Performance Computing on Clusters Christine MORIN PARIS project-team, IRISA/INRIA.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Electronic Visualization Laboratory University of Illinois at Chicago “Sort-First, Distributed Memory Parallel Visualization and Rendering” by E. Wes Bethel,
High Resolution Displays at PPPL Mike Miller
Chep06 1 High End Visualization with Scalable Display System By Dinesh M. Sarode, S.K.Bose, P.S.Dhekne, Venkata P.P.K Computer Division, BARC, Mumbai.
Parallel Rendering 1. 2 Introduction In many situations, standard rendering pipeline not sufficient ­Need higher resolution display ­More primitives than.
Test Of Distributed Data Quality Monitoring Of CMS Tracker Dataset H->ZZ->2e2mu with PileUp - 10,000 events ( ~ 50,000 hits for events) The monitoring.
March 3rd, 2006 Chen Peng, Lilly System Biology1 Cluster and SGE.
A Sorting Classification of Parallel Rendering Molnar et al., 1994.
GUI For A Virtual Pipeline Simulation Testbed By, Revathi Manni Ranganathan Major Professor: Dr.Virgil Wallentine.
Seminar II: Rendering Architectures Yan Cui Love Joy Mendoza Oscar Kozlowski John Tang.
MediaGrid Processing Framework 2009 February 19 Jason Danielson.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Parallel Rendering. 2 Introduction In many situations, a standard rendering pipeline might not be sufficient ­Need higher resolution display ­More primitives.
N. GSU Slide 1 Chapter 05 Clustered Systems for Massive Parallelism N. Xiong Georgia State University.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
Commodity-SC Workshop, Mar00 Cluster-based Visualization Dino Pavlakos Sandia National Laboratories Albuquerque, New Mexico.
Silicon Graphics, Inc. The Holodeck Interactive Ray Cache Greg Ward, Exponent Maryann Simmons, UCB.
EGEE is a project funded by the European Union under contract IST HEP Use Cases for Grid Computing J. A. Templon Undecided (NIKHEF) Grid Tutorial,
A Framework for Visualizing Science at the Petascale and Beyond Kelly Gaither Research Scientist Associate Director, Data and Information Analysis Texas.
Processes Introduction to Operating Systems: Module 3.
CLASS Information Management Presented at NOAATECH Conference 2006 Presented by Pat Schafer (CLASS-WV Development Lead)
GVis: Grid-enabled Interactive Visualization State Key Laboratory. of CAD&CG Zhejiang University, Hangzhou
GLAST Science Support CenterJuly, 2003 LAT Ground Software Workshop Status of the D1 (Event) and D2 (Spacecraft Data) Database Prototypes for DC1 Robert.
Data Management for Decision Support Session-4 Prof. Bharat Bhasker.
1 SOS7: “Machines Already Operational” NSF’s Terascale Computing System SOS-7 March 4-6, 2003 Mike Levine, PSC.
A SEMINAR ON 1 CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s.
Visualization Four groups Design pattern for information visualization
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Interconnection network network interface and a case study.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
1 MPIglut: Powerwall Programming made Easier Dr. Orion Sky Lawlor U. Alaska Fairbanks WSCG '08,
Building Virtual Environments that are Reconfigurable, Scalable, Extensible Lance Arsenault John Kelso University Visualization and Animation Group
Tool Integration with Data and Computation Grid “Grid Wizard 2”
1 Expanding the Application Base of the SAGE Collaboration Platform Javier Delgado.
An interleaved Parallel Volume Renderer with PC-clusters Antonio Garcia and Han-Wei Shen Dept of Computer Science Ohio State University Eurographics Workshop.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
A Sorting Classification of Parallel Rendering Molnar et al., 1994.
Intro to Distributed Systems Hank Levy. 23/20/2016 Distributed Systems Nearly all systems today are distributed in some way, e.g.: –they use –they.
Electronic visualization laboratory, university of illinois at chicago Sort Last Parallel Rendering for Viewing Extremely Large Data Sets on Tile Displays.
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
MPEG-4 Binary Information for Scenes (BIFS)
2. OPERATING SYSTEM 2.1 Operating System Function
VirtualGL.
Chapter 2: System Structures
TYPES OFF OPERATING SYSTEM
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Parallel I/O System for Massively Parallel Processors
Presentation transcript:

Workshop on Parallel Visualization and Graphics Chromium Mike Houston, Stanford University and The Chromium Community

Workshop on Parallel Visualization and Graphics 2 How Chromium works Replaces system’s OpenGL driver Industry standard API Support existing unmodified applications Manipulates streams of API commands Alter/inject/discard commands and parameters Route commands over a network Render commands using graphics hardware State tracking Allows parallel applications to issue OpenGL Constrain ordering between multiple streams

Workshop on Parallel Visualization and Graphics 3 Graphics Stream Processing Treat OpenGL calls as a stream of commands Form a DAG of stream transformation nodes Nodes are computers in a cluster Edges are OpenGL API communication Each node has a serialization stage and a transformation stage

Workshop on Parallel Visualization and Graphics 4 Stream Serialization Convert multiple streams into a single stream Efficiently context-switch between streams Constrain ordering using Parallel OpenGL extensions [Igehy98] Two kinds of serializers: Network server: Application: Unmodified serial application Custom parallel application S A OpenGL

Workshop on Parallel Visualization and Graphics 5 Stream Transformation Serialized stream is dispatched to “Stream Processing Units” (SPUs) Each SPU is a shared library Exports a (partial) OpenGL interface Each node loads a chain of SPUs at run time SPUs are generic and interchangeable

Workshop on Parallel Visualization and Graphics 6 SPU Chains SPUs are loaded as parts of linear chains Common usage: intercept a few OpenGL calls, pass all others to downstream SPU Useful for simple state changes, such as “wireframe” drawing

Workshop on Parallel Visualization and Graphics 7 Output Scalability (Sort-First) Larger displays with unmodified applications Other possibilities: broadcast, ring network App Server Display......

Workshop on Parallel Visualization and Graphics 8 Example: Sort-First App Tilesort Server Render

Workshop on Parallel Visualization and Graphics 9 Input Scalability (Sort-Last) Parallel geometry extraction Parallel data submission App Display Server

Workshop on Parallel Visualization and Graphics 10 Example: Sort-Last Application runs directly on graphics hardware Same application can use sort-last or sort-first Application Readback Send Server Render

Workshop on Parallel Visualization and Graphics 11 SPU Inheritance The Readback and Render SPUs are related Readback renders everything except SwapBuffers Readback inherits from the Render SPU Override parent’s implementation of SwapBuffers All OpenGL calls considered “virtual”

Workshop on Parallel Visualization and Graphics 12 Readback’s SwapBuffers Easily extended to include depth composite All other functions inherited from Render SPU void RB_SwapBuffers(void) { self.ReadPixels( 0, 0, w, h,... ); child.Clear( GL_COLOR_BUFFER_BIT ); child.SemaphorePCR( READBACK_SEMAPHORE ); child.RasterPos2i( tileX, tileY ); child.DrawPixels( w, h,... ); child.SemaphoreVCR( READBACK_SEMAPHORE ); child.SwapBuffers( ); }

Workshop on Parallel Visualization and Graphics 13 More Complicated Example: Hybrid App Tilesort Server Readback Send Server Render

Workshop on Parallel Visualization and Graphics 14 Networks Supported TCP/UDP Myrinet Quadrics Infiniband (coming soon)

Workshop on Parallel Visualization and Graphics 15 New Things to Chromium Extensions DMX Support Display list management (DLM) VNC Support CRUT Dale’s talk

Workshop on Parallel Visualization and Graphics 16 Extensions GL_ARB_fragment_program GL_ARB_vertex_program GL_NV_fragment_program GL_NV_vertex_program GL_NV_texture_rectangle GL_EXT_shadow_funcs GL_EXT_texture_rectangle GL_IBM_raster_pos_clip

Workshop on Parallel Visualization and Graphics 17 DMX Support DMX Distributed Multi-headed X Single X session across multiple-displays OpenGL through Chromium Chromium “DMX aware” Moving/resizing = retiling M to N rendering

Workshop on Parallel Visualization and Graphics 18 DMX In Action

Workshop on Parallel Visualization and Graphics 19 Display List Management Display List Manager (DLM) State tracking is really tricky Replay state calls on client Call list on servers Bounding Box tracking of display list Future optimizations Avoid broadcasting data in display list Send calls once per server as needed

Workshop on Parallel Visualization and Graphics 20 VNC X forwarding Forwards GLX calls to client DRI bypasses X Can’t get pixel data OpenGL apps load Chromium Render on local host Readback pixel data Send to user’s display

Workshop on Parallel Visualization and Graphics 21 What are people doing with Chromium?

Workshop on Parallel Visualization and Graphics 22 Dynamic Screen Calibration

Workshop on Parallel Visualization and Graphics 23 Quake3 Arena Niederauer, et al.

Workshop on Parallel Visualization and Graphics 24 Viewed in a new way Niederauer, et al.

Workshop on Parallel Visualization and Graphics 25 Architectural Analysis Intercept geometry Determine floor positions Change to orthographic view Insert clip planes at the ceilings Split floors apart Multi-pass rendering “Non-Invasive Interactive Visualization of Dynamic Architectural Environments” Christopher Niederauer, Mike Houston, Maneesh Agrawala, Greg Humphreys ACM SIGGRAPH 2003 Symposium on Interactive 3D Graphics

Workshop on Parallel Visualization and Graphics 26 Batch Scheduler Integration Offline rendering to a webpage Use massive compute resources Rendering with Vis cluster Integrate support with RMS Pittsburg Supercomputer Center

Workshop on Parallel Visualization and Graphics 27 Summary 750 Compute Nodes 3000 EV68 processors 6 Tf (peak, est >4Tf on LSMS) 3. TB memory 27 TB local disk Multi-rail fat-tree network Redundant monitor/ctrl WAN/LAN accessible Parallel visualization File servers: 30TB, ~32 GB/s Mass store, ~1 TB/hr WAN/LAN Switched ethernet Quadrics Control Compute Nodes File Servers Viz Mass Store buffer Archive Interactive /home Terascale Computing System Pittsburg Supercomputer Center

Workshop on Parallel Visualization and Graphics 28 Example qsub –l rmsnodes=3:12,other=visnodes=5 Job waits until 3 nodes (12 cpus) become available AND 5 vis nodes are available When resources available, job runs Visit vis web page for rendering Pittsburg Supercomputer Center

Workshop on Parallel Visualization and Graphics 29 What coming in the next year?

Workshop on Parallel Visualization and Graphics 30 General Improvements Continue to track OpenGL changes Add extensions Optimizations Display list management Tilesort Software Compositors

Workshop on Parallel Visualization and Graphics 31 PICA Support Parallel Image Compositing API (PICA) API for hardware and software compositing Will be supported by most hardware compositors Chromium support Hooks almost complete Need software compositors Readback (N to 1) Binary-swap SLIC Need info from hardware folks

Workshop on Parallel Visualization and Graphics 32 “Vis as a service” Better integration with schedulers Reservation systems Compute/Render/Display Distributed event model (CRUT) Compression Geometry data Pixel data Encryption

Workshop on Parallel Visualization and Graphics 33 Look at how much was done last year! 4 releases Constant bug fixes Constant improvements Constant optimizations Chromium is used in the real world! Chromium is supported by a large community!

Workshop on Parallel Visualization and Graphics 34 Go get it!

Workshop on Parallel Visualization and Graphics 35 Acknowlegements The Chromium community Greg Humphreys Brian Paul Joel Welling Alan Hourihane DOE!!!