Scalable Graphics Architecture for High-Resolution Displays

October 23rd, 2005

Categories: Software

SAGE running on a 55-tile display in San Diego with applications streamed from Amsterdam and Chicago (iGrid 2005)
SAGE running on a 55-tile display in San Diego with applications streamed from Amsterdam and Chicago (iGrid 2005)

Authors

Jeong, B., Jagodic, R., Renambot, L., Singh, R., Johnson, A., Leigh, J.

About

We envision situation-rooms and research laboratories in which all the walls are made from seamless ultra-high-resolution displays fed by data streamed over ultra-high-speed networks from distantly located visualization, storage servers, and high definition video cameras [1,6]. It will allow local and distributed groups of researchers to work together on large amounts of distributed toward this vision by building LambdaVision - an 11x5 tiled heterogeneous datasets. We are taking the next steps display with a total resolution of 100 megapixels and developing SAGE, the Scalable Adaptive Graphics Environment (see Figure1). SAGE allows the seamless display of various networked applications over the high-resolution displays. Each visualization application (such as 3D rendering, remote desktop, video streams, very large 2D maps) streams its rendered pixels (or graphics primitives) to SAGE, allowing for any given layout onto the displays (e.g. the output of arbitrary M by N pixel rendering cluster nodes can be streamed to X by Y pixel display screens).

The graphics streaming architecture of SAGE addresses two trivial problems in scientific visualization. One is heterogeneity: since most visualization applications are closely tied to their graphics environment, it is difficult to integrate various visualization applications into a unified graphics environment. The other is scalability: the ability of visualization software and systems to scale in terms of the amount of data they can visualize and the resolution of the desired visualization [5]. SAGE addresses the heterogeneity problem by decoupling graphics rendering from graphics display so that visualization applications developed on various environments can easily migrate into SAGE by streaming their pixels into the virtual frame buffer. Also, SAGE provides scalability by supporting any number of rendering and displaying nodes, number of tiles, and screen resolution, and the SAGE visualization applications have extremely fast access to huge databases at remote or local sites taking advantage of affordable ultra-high-bandwidth networks.

There are several other existing systems with parallel or remote schemes related to SAGE. WireGL [7] for example uses sort-first parallel rendering scheme from a single source or parallel scene-graph rendering. This approach allows a single serial application to drive a tiled display by streaming graphics primitives that will be rendered in parallel on display nodes. However, it has poor data scalability due to its single source limitation. Flexible scalable graphics systems such as Chromium [8] and Aura [10] are designed for distributing visualizations to and from cluster driven tiled-displays. They have a similar parallel rendering scheme with SAGE on local area network; however, Chromium is not designed to execute multiple applications on a tiled display, and its applications have a static layout on the tiled display - it can divide the tiled display into several parts and execute multiple applications, but each tile can support only one application. Chromium’s DMX extension allows execution of multiple applications and window moving and resizing but does not support parallel applications - it has a single source (serial application) and its design is not suitable for graphics streaming over wide-area networks. IBM’s Scalable Graphics Engine [9] is a hardware-based approach that allows for the reception of pixels streamed over networks and can drive an array of displays synchronously. Currently, it is limited to 16 1GigE network inputs, 4 DVI outputs, and SGE specific network protocol which prevents from exploiting advanced network protocols. Also as 10GigE (10 gigabit Ethernet) network becomes prevalent, 1GigE network interface becomes a drawback of SGE. Our previous work, TeraVision [3], is a scalable platform-independent solution that is capable of transmitting multiple synchronized high resolution video streams between single workstations and/or clusters. TeraVision was also designed for high-speed graphics streaming over wide-area networks and SAGE directly exploits its network transport libraries. However, TeraVision has a static application layout on a tiled display it is not suitable for supporting parallel applications and multiple instances of applications since each TeraVision only one application.

From our prior work on the Continuum [2], we have learned that it is crucial for collaborators to have both local control (e.g. on a tablet or laptop) and the casual ability to share their work and see what others are working on (e.g. on a large tile display). For that purpose SAGE’s Free Space Manager (i.e. window manager) provides an intuitive interface for moving and resizing visualizations on the tiled display. The interface is also completely transparent giving the user the illusion that they are working on one continuous computer screen, even though the systems performing the visualizations may be several thousand miles apart. The Free Space Manager is akin to a traditional desktop manager in a windowing system, except that it can scale from a single tablet PC screen to a desktop spanning over 100 million pixel displays. Since SAGE was designed with collaboration in mind, it makes sense to give control to multiple users that are not necessarily collocated. To facilitate that requirement, Free Space Manager can accept multiple UI client connections and receive commands from any of them and broadcast the changes to all the other clients. Since commands are issued via simple message passing, various user interfaces can be used for control at the same time. For the basic user interaction a SAGE Graphical User Interface was developed which resembles contemporary desktop environments (see Figure 2). SAGE GUI allows multiple users to connect to multiple SAGE displays and run and shutdown applications and control their windows. As an alternative user interface, a system is currently being developed for controlling applications with a camera-tracked device on the horizontal 5x3 tiled display, the Lambda Table [12].

Resources

PDF

Citation

Jeong, B., Jagodic, R., Renambot, L., Singh, R., Johnson, A., Leigh, J., Scalable Graphics Architecture for High-Resolution Displays, Proceedings of IEEE Information Visualization Workshop 2005, Minneapolis, MN, October 23rd, 2005.