High Resolution Displays at PPPL - PowerPoint PPT Presentation

About This Presentation
Title:

High Resolution Displays at PPPL

Description:

Intercepts OpenGL calls. Chromium. WireGL code base, many additions. VNC over a Display Wall ... graphics.stanford.edu/papers/clust_render/clust_render.pdf ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 23
Provided by: scott401
Category:

less

Transcript and Presenter's Notes

Title: High Resolution Displays at PPPL


1
High Resolution Displays at PPPL
  • Mike Miller
  • mmiller_at_pppl.gov
  • mmiller_at_eden.rutgers.edu

2
Topics
  • Single Machine Applications
  • PowerPoint Presentations
  • PSpice / ExpressPCB
  • Stepper Motor Control Circuit
  • AVS Express
  • Limitations
  • Parallel Visualization
  • OpenGL concepts
  • Systems currently in use
  • (Custom solutions)
  • WireGL
  • Chromium
  • How to execute
  • Performance

3
Single Machine Applications
  • Hardware/Software Required
  • Pentium 4 1.5GHz
  • 1 GB Ram
  • 40 GB Hard Disk
  • 3 Matrox G200MMS Quad
  • 699 each
  • WinNT Required
  • Matrox Virtual Desktop Hack
  • Limitations
  • PCI Bus
  • 33 MHz 32bit 132 MB/sec
  • Total for all devices
  • Image Size
  • 4096 x 2304 9 megapixels
  • 18 MB/image _at_ 16bit
  • 65,536 colors
  • 7.33fps max
  • 27 MB/image _at_ 24bit
  • 16,777,216 colors (standard)
  • 4.89fps max

4
Implementing Parallel Visualization
  • Hardware
  • Dual P4 / 1.5GHz
  • Myrinet Networking
  • 1280 megabits / second
  • 13 ms latency mostly consistent
  • Uses GM, not TCP/IP
  • 100 Mb switch
  • 100 megabits/second
  • 30 ms latency varies by size
  • NVIDIA Quadro 2 Pro
  • 1024 x 768 _at_ 60Hz
  • Total Resolution 4096x2304
  • Software
  • Debian 2.2r4 testing
  • GM 1.5-pre2b
  • vncwall 1.0
  • WireGL 1.2.1
  • Chromium (nightly CVS)

5
OpenGL Overview
http//www.opengl.org/
  • High level graphics API
  • Not focused on low level (pixel operations), but
    its possible
  • The user defines geometric primitives
  • All primitives have properties associated with
    them
  • Examples
  • Primatives
  • Pixels
  • Vertices
  • Create triangles
  • Properties
  • Material
  • Lighting

6
Example Atlantis
  • Definition
  • glBegin(GL_POLYGON)
  • glVertex3fv(P001)
  • glVertex3fv(P002)
  • glVertex3fv(P003)
  • glNormal3fv(N01)
  • glEnd(GL_POLYGON)
  • Rendering
  • glPushMatrix(MASK) / glPopMatrix(MASK)
  • glRotatef()
  • glLightfv()
  • glMaterialfv()
  • glEnable(MASK)
  • etc

7
How do we Distribute the Display?
  • Customized Solution
  • Used by main campus
  • Custom Graphics Apps
  • Each application is rewritten to facilitate
    selective rendering
  • Time Consuming
  • Impossible for closed source software
  • Virtual Display Driver
  • Buggy, hard to implement in Windows
  • Intercept Solutions
  • vncwall
  • Virtual Network Computing
  • WireGL
  • Intercepts OpenGL calls
  • Chromium
  • WireGL code base, many additions

8
VNC over a Display Wall
http//www.ncsa.uiuc.edu/TechFocus/Deployment/DBox
/
  • Standard VNC
  • Virtual Network Computing
  • Developed by ATT
  • Allows remote execution display of applications
  • Similar tossh ltremotegt, export DISPLAYltlocalgt
  • Distributed VNC
  • Developed by NCSA
  • Allows the viewer to run on multiple machines /
    only display certain tiles
  • Relatively efficient
  • Does not implement GLX

9
WireGL
  • Replaces OpenGL libraries
  • opengl32.dll (Windows)
  • libGL.so (Linux / IRIX)
  • wgl helper application
  • Copies files to /tmp/wglXXXXX
  • Executes code in above dir.
  • pipeserver
  • Runs on the servers
  • reyclient, paredXXservers
  • How it works
  • libwiregl_client.so intercepts an OpenGL call
  • Encodes using a custom packet
  • Sends it to the appropriate machine
  • Pipeserver converts that WireGL code back to an
    OpenGL call

10
Normal OpenGL vs WireGL
Normal Program
WireGLed Program
Program
Program
11
GLX vs. WireGL
  • GLX
  • Designed to interface OpenGL into the X protocol
  • Minimum state tracking
  • Not designed for high speed operation
  • Often replaced by DRI for desktop applications
  • WireGL
  • Designed for efficient state tracking
  • Especially good with Vertex Arrays
  • Allows OpenGL to retrieve information directly
    from the applications memory
  • Thus, the state tracker can fit it in here.

12
Chromium
http//sourceforge.net/projects/chromium/
Program
  • Whats an SPU?
  • Common SPUs
  • Pack SPU
  • Send commands directly
  • Tilesort SPU
  • Distributes Tiles, (in our case, 12)
  • Render SPU
  • Direct Output
  • Print SPU
  • Logging

13
Distributed Visualization
  • General
  • Many graphics commands must be run in a set order
  • glFinish() might be too much, since we dont need
    actual execution
  • Use separate contexts to avoid state conflicts
  • WireGL
  • Supported, but not documented
  • Chromium
  • Creates multiple threads, each aware of the other
  • Use Barriers to maintain order
  • Barriers only affect graphics rendering, not
    program execution

14
Access Grids Extending the Computational Grid
Components of an AG Node
  • Group-to-group interactions are different from
    and more complex than individual-to-individual
    interactions.
  • Large-scale scientific and technical
    collaborations often involve multiple teams
    working together.
  • The Access Grid concept complements and extends
    the concept of the Computational Grid.
  • The Access Grid project aims at exploring and
    supporting this more complex set of requirements
    and functions.
  • An Access Grid node involves 3-20 people per
    site.
  • Access Grid nodes are designed spaces that
    support the high-end audio/video technology
    needed to provide a compelling and productive
    user experience.
  • The Access Grid consists of large-format
    multimedia display, presentation, and interaction
    software environments interfaces to grid
    middleware and interfaces to remote
    visualization environments.
  • With these resources, the Access Grid supports
    large-scale distributed meetings, collaborative
    teamwork sessions, seminars, lectures, tutorials,
    and training.

RGB Video
Digital Video
DisplayComputer
Digital Video
NETWORK
Video CaptureComputer
NTSC Video
AudioCaptureComputer
Digital Audio
Analog Audio
Control Computer
EchoCanceller
Over 70 AG sites (PPPL will be next!)
15
AG Providing New Capabilities
  • Capabilities will include
  • high-quality multichannel digital video and
    audio,
  • prototypic large-format display
  • integrated presentation technologies (PowerPoint
    slides, mpeg movies, shared OpenGL windows),
  • prototypic recording capabilities
  • integration with Globus for basic services
    (directories, security, network resource
    management),
  • macroscreen management
  • integration of local desktops into the Grid
  • multiple session capability

16
(No Transcript)
17
How to execute VNC
  • Rey (server)
  • Start a vncserver
  • Similar to an X server with no display
  • vncserver geometry 4096x2304
  • Run vncwall (Java)
  • Automatically launches tileviewer via vncd
  • Pared Cluster (clients)
  • Run vncd
  • Let vncwall (on server) automatically launch
    tileviewer

18
How to execute WireGL
  • Rey (client)
  • wgl ltcommandnamegt
  • Pared Cluster (servers)
  • Start pipeserver
  • Use a repeating script
  • while (1)
  • pipeserver -f
  • end
  • Wait for WireGL packets

19
How to execute Chromium
  • Rey (client)
  • python2 ltconffilegt ltargsgt
  • crappfaker
  • Pared Cluster (servers)
  • crserver

20
Implementation Issues
  • Projector Alignment
  • 72 degrees of freedom
  • Manual Alignment
  • Automated Alignment
  • Software based
  • Image warping
  • Hardware based
  • Stepper Motor Project
  • Projector Discrepencies
  • Brightness / Contrast
  • Lamp Age
  • Color balance
  • Trapezoidal Projections
  • Screen curvature

21
Performance
4003 dataset approximately 1.5 million triangles
Source http//graphics.stanford.edu/papers/clust_
render/clust_render.pdf
22
References
  • OpenGL
  • http//www.opengl.org/
  • WireGL
  • http//graphics.stanford.edu/software/wiregl/
  • Chromium
  • http//sourceforge.net/projects/chromium/
  • DisplayWall-in-a-Box
  • http//www.ncsa.uiuc.edu/TechFocus/Deployment/DBox
    /
  • Princeton Main Campus Wall
  • http//www.cs.princeton.edu/omnimedia/
Write a Comment
User Comments (0)
About PowerShow.com