DEVELOPED BY EVL @ UIC

Scalable Adaptive Graphics Environment

APPLICATIONS

These are some of the applications that are currently being distributed with SAGE. Contact us if you would like to know of other applications, or if you have an application you would like us to distribute.

JUXTAVIEW

www.evl.uic.edu/cavern/optiputer/juxtaview.html

JuxtaView is a cluster-based application for viewing ultra-high-resolution images on scalable tiled displays. It benefits from a new parallel computing and distributed memory approach for out-of-core montage visualization, so-called LambdaRAM, a software-based network-level cache system. The data is distributed using LambdaRAM, on the memory of all nodes of a remote cluster. Aggressive pre-fetching schemes employed by LambdaRAM help to reduce the latency involved in remote memory access. We have ported JuxtaView to the SAGE environment, where each node of the cluster fetches images from LambdaRAM and generates a portion of the total image. The pixels are then streamed using SAGE to a high-resolution tiled display. Through SAGE, JuxtaView enables a user to interactively roam across potentially terabytes of distributed, spatially referenced image data sets, such as those generated from electron microscopes, satellites, and aerial photography. Using large amounts of bandwidth, SAGE enables the domain scientist to bridge distributed resources, including storage, rendering, and display clusters.

^

VOL-A-TILE

www.evl.uic.edu/cavern/optiputer/volatile.html

Vol-a-Tile is an interactive tool for exploring large volumetric data on scalable tiled displays. Hardware texture mapping and level-of-detail techniques provide interactivity while OptiStore, the data management server, provides the high performance I/O needed to stream data from storage to the nodes driving the tiled display over high-bandwidth photonic networks. Vol-a-tile is designed to handle common data management operations, including loading data, and maintaining meta-information about the data, such as dimension and scaling. In addition, OptiStore provides data processing capabilities, such as run time gradient/histogram generation, sampling, and cropping by utilizing functionality in VTK. Network connectivity is provided through the QUANTA network toolkit, which utilizes aggressive network protocols. Since Vol-a-Tile is an OpenGL-based application, we added a pixel readback step at the end of the rendering phase. These pixels are streamed for display using SAGE. This minimal modification to the source code can be added to any OpenGL applications and it is an easy way to port various open-source applications to SAGE. Given the fill-limited performance characteristics of volume rendering applications (Vol-a-Tile uses OpenGL 3D textures and fragment shaders), the application runs faster on a cluster of machines where each rendering node generates a sub-portion of the final image. SAGE recombines all the streams and provides the user with a coherent picture, which can be moved and scaled on any portion of the tiled display.

^

OPENGL WRAPPER

Numerous scientific applications and visualization packages are using the OpenGL API (OpenDX, VTK, or Paraview for instance). The success of Chromium and WireGL shows a need to support native OpenGL applications in binary mode (without source code modification). We developed an OpenGL wrapper library along the scheme used by WireGL: using a shared library mechanism, we only capture the calls to the glSwapBuffer function and add a pixel readback step. The captured pixels are then streamed to SAGE. This is an efficient and extremely easy mode to port native OpenGL application to SAGE. The performance is sufficient to run 1280x1204 resolution application at an interactive frame rate. The new generation of PCI-express graphics card will even increase the performance several times. 

^

VNC VIEWER

We have developed a Virtual Network Computer (VNC) protocol client that enables the user to bring desktop content to the SAGE environment. Our VNC application is a regular VNC viewer program modified to serve as a proxy between a VNC server (of any size and pixel depth) and SAGE. Once pixels are retrieved from the VNC server, the same pixels are given to the SAGE API for immediate display. Functionality is critical in a collaborative environment, where each scientist with his/her laptop needs to share information (web browser, presentations). SAGE supports any number of simultaneous VNC applications, making use of the large real estate offered by high-resolution tiled displays.

^

MAGICCARPET

www.evl.uic.edu/cavern/mc

MagicCarpet is a cluster-based ultra-high-resolution image viewer for scalable tiled displays. Unlike JuxtaView, MagicCarpet uses pre-processed multi-resolution images that reside on the local disk. The software loads appropriate detail at different zoom levels by paging texture data to video memory on demand. The aim of MagicCarpet is to provide interactive rendering of large data that is suitable for fast-paced and demanding settings such as museums. MagicCarpet supports both local and remote user interfaces and the choice of interface may depend on the given context. In addition to multi-resolution, time dependent datasets can also be displayed by software. MagicCarpet uses VTK to visualize data, and it can either work as a standalone application or render to the SAGE tiled display manager. Future versions of MagicCarpet may allow on-demand generation of levels of detail without the requirement of pre-processing, once it is integrated with OptiStore.

^

BitPlayer

The National Center for Supercomputing Applications (NCSA)developed an high-resolution movie playback tool which reads raw HD images fromthe disk and display them using OpenGL. We ported this software to theSAGE environment and used it for iGrid2005 demonstration of HDvideo streaming (1920x1080) from Amsterdam and Chicago to alarge tiled display in San Diego. An HD stereo movie was alsostreamed from NCSA to San Diego to a passive stereo projection system.

SVC, Scalable Video Consumer

Scalable Visualization Consumer (SVC) receives MPEG2 datathrough IEEE1394, files on disk or network interface anddecompresses it for streaming to a tiled display using SAGE. Tobe shown on a tiled display, MPEG2 data has to be decompressed,split as sub-images and streamed to the appropriate display nodes.The reason for decompression is that compressed data cannot besplit up easily for streaming to separate nodes. We used this software foriGrid2005 demonstration to stream HD video captured by an IEEE1394 HD Sony camera. It shows a 30fps frame rate and uses 650Mbps ofnetwork bandwidth.