Garuda: A Scalable Tiled Display Wall Using Commodity PCs

Cluster-based tiled display walls can provide cost-effective and scalable displays with high resolution and a large display area. The software to drive them needs to scale too if arbitrarily large displays are to be built. Chromium is a popular software API used to construct such displays. Chromium transparently renders any OpenGL application to a tiled display by partitioning and sending individual OpenGL primitives to each client per frame. Visualization applications often deal with massive geometric data with millions of primitives. Transmitting them every frame results in huge network requirements that adversely affect the scalability of the system. In this paper, we present Garuda, a client-server-based display wall framework that uses off-the-shelf hardware and a standard network. Garuda is scalable to large tile configurations and massive environments. It can transparently render any application built using the open scene graph (OSG) API to a tiled display without any modification by the user. The Garuda server uses an object-based scene structure represented using a scene graph. The server determines the objects visible to each display tile using a novel adaptive algorithm that culls the scene graph to a hierarchy of frustums. Required parts of the scene graph are transmitted to the clients, which cache them to exploit the interframe redundancy. A multicast-based protocol is used to transmit the geometry to exploit the spatial redundancy present in tiled display systems. A geometry push philosophy from the server helps keep the clients in sync with one another. Neither the server nor a client needs to render the entire scene, making the system suitable for interactive rendering of massive models. Transparent rendering is achieved by intercepting the cull, draw, and swap functions of OSG and replacing them with our own. We demonstrate the performance and scalability of the Garuda system for different configurations of display wall. We also show that the server and network loads grow sublinearly with the increase in the number of tiles, which makes our scheme suitable to construct very large displays.

[1]  Jian Huang,et al.  Distributed data management for large volume visualization , 2005, VIS 05. IEEE Visualization, 2005..

[2]  Thomas A. Funkhouser,et al.  Hybrid sort-first and sort-last parallel rendering with a cluster of PCs , 2000, Workshop on Graphics Hardware.

[3]  P. J. Narayanan,et al.  Real-Time Streaming and Rendering of Terrains , 2006, ICVGIP.

[4]  Gordon Stoll,et al.  Lightning-2: a high-performance display subsystem for PC clusters , 2001, SIGGRAPH.

[5]  Xiaoyu Zhang,et al.  Scalable isosurface visualization of massive datasets on COTS clusters , 2001, Proceedings IEEE 2001 Symposium on Parallel and Large-Data Visualization and Graphics (Cat. No.01EX520).

[6]  Camille Goudeseune,et al.  Syzygy: native PC cluster VR , 2003, IEEE Virtual Reality, 2003. Proceedings..

[7]  Henri E. Bal,et al.  Retained Mode Parallel Renering for Scalable Tiled Displays , 2002 .

[8]  Markus H. Gross,et al.  The blue-c distributed scene graph , 2003, IEEE Virtual Reality, 2003. Proceedings..

[9]  W. Brent Seales,et al.  Multi-projector displays using camera-based registration , 1999, Proceedings Visualization '99 (Cat. No.99CB37067).

[10]  Jérémie Allard,et al.  Softgenlock: Active Stereo and GenLock for PC Cluster , 2003, IPT/EGVE.

[11]  Kai Li,et al.  Software environments for cluster-based display systems , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

[12]  John Rohlf,et al.  IRIS performer: a high performance multiprocessing toolkit for real-time 3D graphics , 1994, SIGGRAPH.

[13]  Luc Renambot,et al.  TeraVision: a distributed, scalable, high resolution graphics streaming system , 2004, 2004 IEEE International Conference on Cluster Computing (IEEE Cat. No.04EX935).

[14]  Cláudio T. Silva,et al.  Visibility-based prefetching for interactive out-of-core rendering , 2003, IEEE Symposium on Parallel and Large-Data Visualization and Graphics, 2003. PVG 2003..

[15]  Patrick Baudisch,et al.  Focus plus context screens: combining display technology with visualization techniques , 2001, UIST '01.

[16]  Laurent Moll,et al.  Sepia: scalable 3D compositing using PCI Pamette , 1999, Seventh Annual IEEE Symposium on Field-Programmable Custom Computing Machines (Cat. No.PR00375).

[17]  Klaus Mueller,et al.  The magic volume lens: an interactive focus+context technique for volume rendering , 2005, VIS 05. IEEE Visualization, 2005..

[18]  Fred B. Schneider,et al.  Hypervisor-based fault tolerance , 1996, TOCS.

[19]  Anoop Gupta,et al.  Tools and applications for large-scale display walls , 2005, IEEE Computer Graphics and Applications.

[20]  Ruigang Yang,et al.  PixelFlex: a reconfigurable multi-projector display system , 2001, Proceedings Visualization, 2001. VIS '01..

[21]  Gerrit Voss,et al.  A multi-thread safe foundation for scene graphs and its extension to clusters , 2002, EGPGV.

[22]  Creon Levit,et al.  The hyperwall , 2003, Proceedings International Conference on Coordinated and Multiple Views in Exploratory Visualization - CMV 2003 -.

[23]  P. J. Narayanan,et al.  Culling an Object Hierarchy to a Frustum Hierarchy , 2006, ICVGIP.

[24]  Cláudio T. Silva,et al.  Out-of-core sort-first parallel rendering for cluster-based tiled displays , 2002, Parallel Comput..

[25]  Carolina Cruz-Neira,et al.  Surround-Screen Projection-Based Virtual Reality: The Design and Implementation of the CAVE , 2023 .

[26]  Carolina Cruz-Neira,et al.  VR Juggler: a virtual platform for virtual reality application development , 2001, Proceedings IEEE Virtual Reality 2001.

[27]  Aditi Majumder,et al.  Color nonuniformity in projection-based displays: analysis and solutions , 2004, IEEE Transactions on Visualization and Computer Graphics.

[28]  Richard May,et al.  A Survey of Large High-Resolution Display Technologies, Techniques, and Applications , 2006, IEEE Virtual Reality Conference (VR 2006).

[29]  Greg Humphreys,et al.  Chromium: a stream-processing framework for interactive rendering on clusters , 2002, SIGGRAPH.

[30]  Henri E. Bal,et al.  VIRPI: A High-Level Toolkit for Interactive Scientific Visualization in Virtual Reality , 2001, EGVE/IPT.

[31]  Thomas A. Funkhouser,et al.  Parallel rendering with K-way replication , 2001, Proceedings IEEE 2001 Symposium on Parallel and Large-Data Visualization and Graphics (Cat. No.01EX520).

[32]  P. J. Narayanan,et al.  Design of A Geometry Streaming System , 2004, ICVGIP.

[33]  Jérémie Allard,et al.  Net Juggler: running VR Juggler with multiple displays on a commodity component cluster , 2002, Proceedings IEEE Virtual Reality 2002.

[34]  Markus H. Gross,et al.  WinSGL: software genlocking for cost-effective display synchronization under microsoft windows , 2006, EGPGV '06.

[35]  Sun Microsystems,et al.  The SAGE Graphics Architecture , 2002 .