Design and Implementation of a Large-Scale Hybrid Distributed Graphics System

Design and Implementation of a Large-Scale Hybrid Distributed Graphics System

Fourth Eurographics Workshop on Parallel Graphics and Visualization (2002) D. Bartz, X. Pueyo, E. Reinhard (Editors) Design and Implementation of A Large-scale Hybrid Distributed Graphics System Jian YangÝ , Jiaoying Shi, Zhefan Jin, Hui Zhang Department of Computer Science, Zhejiang University, Hangzhou, Zhejiang, P.R.China Abstract Although modern graphics hardware has strong capability to render millions of triangles within a second, huge scenes are still unable to be rendered in real-time. Lots of parallel and distributed graphics systems are explored to solve this problem. However none of them is built for large-scale graphics applications. We designed AnyGL, a large-scale hybrid distributed graphics system, which consists of four types of logical nodes, Geometry Distributing Node, Geometry Rendering Node, Image Composition Node and Display Node. The first two types of logical nodes are combined to be a sort-first graphics architecture while the others compose images. A new state tracking method based on logical timestamp is also pro-posed for state tracking of large-scale distributed graphics systems. Besides, three classes of compression are employed to reduce the requirement of network bandwidth, including command code compression, geometry compression and image compression. A new extension, global share of textures and display lists, is also implemented in AnyGL to avoid memory explosion in large-scale cluster rendering systems. Categories and Subject Descriptors (according to ACM CCS): I.3.2 [Computer Graphics]: Graphics Systems- Distributed/network graphics; I.3.4 [Computer Graphics]: Graphics Utilities-Software support, Virtual device in- terfaces; C.2.4 [Computer-Communication Networks]: Distributed Systems-Client/Server, Distributed Applica- tions;E.4 [Coding and Information Theory]: Data compaction and compression Keywords: Large-scale Cluster Rendering, Parallel Rendering, Tiled Displays, Image Composition, Remote Graphics, Virtual Graphics, Logical Timestamp, Geometry Compression, Image Compression, Global Share, Memory Explosion 1. Introduction Interactive graphics hardware on desktop costs from tens to thousands of dollars. Cluster rendering with commod- The interactive computer graphics architecture has devel- ity components becomes new trend to substitute supercom- oped through four generations in the past two decades1. puter which costs millions even hundred millions of dollars. Not only the performance improvement of computer graph- WireGL2 22 is a good example for high performance dis- ics hardware exceeds the Moore’s Law, but also modern tributed graphics system. Different from WireGL, AnyGL computer graphics hardware possesses more transistors than parallelizes more graphics pipeline stages and adopts a new modern CPU does. However, many applications, such as sci- state tracking mechanism, logical timestamp, for parallel entific visualization of large data sets, high resolution dis- rendering on hundreds of nodes to provide high scalabil- play and photo-realistic rendering, are still unable to run in ity. We designed AnyGL, a large-scale hybrid distributed real-time on high end of modern graphics hard-ware. Thus, graphics system. It consists of four kinds of logical nodes, the main goal of graphics architecture research is to improve Geometry Distributing Node(G-node), Geometry Rendering the performance of the overall system architecture. Node(R-node), Image Composite Node(C-node) and Image Display Node (D-node) as shown in Figure 1. The G-nodes take in immediate-mode OpenGL commands, pack and dis- Ý Jian Yang and Hui Zhang left Zhejiang Univerisity since June, tribute them to R-nodes according to the bounding box com- 2002. ­c The Eurographics Association 2002. 39 Jian Yang / Design and Implementation of A Large-scale Hybrid Distributed Graphics System Compressed Gfx hardware G-node OpenGL Stream R-node Color and Depth Buffer C-node pixel D-node net net net net Gfx hardware G-node R-node C-node D-node net net net net network network Gfx hardware network G-node R-node C-node net D-node net net net Gfx hardware G-node R-node C-node D-node net net net net ... ... ... Figure 1: The main architecture of AnyGL consists of four kinds of logical nodes, Geometry Distributing Node , Geometry Rendering Node, Image Composite Node and Display Node. OpenGL command streams and framebuffers are compressed before transmission. puted by the current model view matrix. The R-nodes re- time and dispatches every 2 scan lines to one rasteriza- ceive the OpenGL command packets from G-nodes, decode tion processor. Pixel-plane 55 is also a sort-middle tiled the packets and call their corresponding OpenGL hardware hardware architecture, which distributes primitives from a commands. C-nodes compose the images with the depth val- retained-mode scene description and composes framebuffers ues transmitted from R-nodes. D-nodes reassemble and dis- by high-speed ring network. The rasterization and fragment play the final images. stages are executed as SIMD. Eldridge et al.6 described Pomegranate, a scalable graphics system based on point-to- G-nodes do same task as clients of WireGL and R-nodes point communication. Pomegranate is a sort-anywhere ar- are similar to pipe servers of WireGL. However they are chitecture, which simulates parallel rendering on five stages, different since a new state tracking method named logical i.e., geometry processing, rasterization, texture mapping, timestamp is implemented in AnyGL. It records the logical fragment and display. timestamps when the state variables of graphics context are modified. Each G-node maintains a few of virtual graphics PixelFlow7 is a sort-last architecture. Independent graph- contexts. Context difference is executed before transmitting ics pipeline renders a fraction of the scene into independent command packets. Each R-node also maintains a few of vir- framebuffer. PixelFlow composes these framebuffers into a tual graphics contexts. R-nodes do software context switches single image for final display. The Evans Sutherland Free- when they received command packets. dom 30008 and the Kubota Denali9 are also examples of fragment sorting architectures. The two architectures pro- AnyGL fully exploits compression including command cess one triangle only once in stages of geometry and rester- code compression, geometry compression and installable ization. Sort-last architectures will cause significant load im- image compression. balance when geometry objects are large. To reassemble images on clusters, Compaq Research de- 2. Related Works veloped a system called Sepia to perform image compo- Molnar et al.3 classified the parallel graphics architecture sition using ServerNet-II networking technology10. Sepia into three kinds, sort-first, sort-middle and sort-last, by sort- reads color and depth buffers over system bus and composes ing stages. pixels by fast framebuffer access PCI cards. 2.1. Hardware Architecture 2.2. Software System Lots of parallel graphics hardware architectures are built on In the research road map of parallel graphics architecture, complex standalone accelerators to exploit internal paral- lots of software parallel graphics systems are designed and lelism. They always cost thousands even millions of dollars. implemented for different applications. SGI’s RealityEngine4 is a sort-middle tiled architecture An OpenGL stream codec toolkit, GLS11, tracks, packs, which uses a shared high-speed bus to broadcast state com- con-catenates and decodes OpenGL commands into streams, mands and primitives. The granularity of task partition is which provides the basic idea of OpenGL command packing very fine since RealityEngine broadcasts one triangle each for remote rendering. GLR12 furthers this idea to do OpenGL ­c The Eurographics Association 2002. 40 Jian Yang / Design and Implementation of A Large-scale Hybrid Distributed Graphics System remote rendering as C/S model so that low-end graphics To obtain high scalability, state tracking based on logical workstations exploit the rendering capacity of supercom- timestamp is designed in AnyGL and three kinds of com- puter’s graphics system by sending OpenGL commands to pression are implemented to reduce the bandwidth require- supercomputer and reading back color buffers from super- ments for geometry and image transmission through net- computer for display. work. GLX13 and X Window provide necessary protocols for OpenGL rendering on X Windows. Small portion of state 3. Architecture of AnyGL commands are tracked in GLX such as pixel formats and framebuffers. Parallel Mesa is another good example for 3.1. Geometry Distributing Node sort-last graphics architecture17. The multi-projector sys- tem of Princeton is a sort-first graphics system23 31. Only In AnyGL, OpenGL commands are divided into four cate- one application process emits triangles to remote rendering gories, primitive commands, state modification commands, nodes. It focuses on OpenGL commands distributing and remote remapping commands and special commands which 2 tiled rendering. Igehy et al.21 studied parallel rendering of differs with WireGL . order immediate-mode API in Argus and described a par- Primitive commands are the most frequently called com- allel graphics programming interface which breaks up the mands such as glVertex, glNormal, and glBitmap etc. They bottleneck of serialization host interface. do not modify the state variables of graphics context and are WireGL2 22 has solved several crucial problems of cluster simply packed into OpenGL command buffers. A physical

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    12 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us