1 / 22

High Resolution Displays at PPPL

High Resolution Displays at PPPL. Mike Miller mmiller@pppl.gov mmiller@eden.rutgers.edu. Single Machine Applications PowerPoint Presentations PSpice / ExpressPCB Stepper Motor Control Circuit AVS Express Limitations. Parallel Visualization OpenGL concepts Systems currently in use:

cate
Download Presentation

High Resolution Displays at PPPL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. High Resolution Displays at PPPL Mike Miller mmiller@pppl.gov mmiller@eden.rutgers.edu

  2. 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 Topics

  3. 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 @ 16bit 65,536 colors 7.33fps max 27 MB/image @ 24bit 16,777,216 colors (standard) 4.89fps max Single Machine Applications

  4. 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 @ 60Hz Total Resolution: 4096x2304 Software Debian 2.2r4 ‘testing’ GM 1.5-pre2b vncwall 1.0 WireGL 1.2.1 Chromium (nightly CVS) Implementing Parallel Visualization

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

  6. 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… Example: Atlantis

  7. 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 How do we Distribute the Display?

  8. Standard VNC Virtual Network Computing Developed by AT&T Allows remote execution & display of applications Similar to:ssh <remote>, export DISPLAY=<local> Distributed VNC Developed by NCSA Allows the viewer to run on multiple machines / only display certain tiles Relatively efficient Does not implement GLX VNC over a Display Wall http://www.ncsa.uiuc.edu/TechFocus/Deployment/DBox/

  9. 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” rey=client, paredXX=servers 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 WireGL

  10. pipeserver OpenGL OpenGL OpenGL libGL.so libGL.so libwiregl_client.so GLX/DRI GLX/DRI Myrinet (Using GM) Video Card Machine 1 Machine 2 Video Card Analog / Digital Video Out Analog Out Machine 3 Machine 4 Monitor Projector Machine 5 Machine 6 Normal OpenGL vs WireGL Normal Program WireGLed Program Program Program

  11. 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 application’s memory Thus, the state tracker can fit it in here. GLX vs. WireGL

  12. OpenGL crserver libcrutil_client.so OpenGL libGL.so GLX/DRI SPU #1 Video Card SPU #2 Analog Out Projector SPU #n Chromium http://sourceforge.net/projects/chromium/ Program • What’s 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. General Many graphics commands must be run in a set order glFinish() might be too much, since we don’t 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 Distributed Visualization

  14. Mixer Access Grids: Extending the Computational Grid • 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. Components of an AG Node RGB Video DigitalVideo DisplayComputer Digital Video NETWORK Video CaptureComputer NTSC Video AudioCaptureComputer Analog Audio Digital 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. 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 How to execute: VNC

  17. Rey (client) wgl <commandname> Pared Cluster (servers) Start pipeserver Use a repeating script while (1) pipeserver -f end Wait for WireGL packets How to execute: WireGL

  18. Rey (client) python2 <conffile> <args> crappfaker Pared Cluster (servers) crserver How to execute: Chromium

  19. 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 Implementation Issues

  20. 102 patches @ 1800 triangles each = 183,600 triangles <5000 triangles– large polygons, large textures Performance 4003 dataset = approximately 1.5 million triangles Source: http://graphics.stanford.edu/papers/clust_render/clust_render.pdf

  21. 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/

More Related