The TeraScale Browser is an end-user tool that provides interactive navigation through time and space of multi-terabyte datasets with adaptive resolution control. It is the direct result of the research efforts within ASC visualization for data access, volume rendering and surface display. It includes a Python based scripting engine for interfacing to external tools. The system runs on Irix and Linux, and requires Motif, OpenInventor and OpenGL support.
TeraScale Browsing: Prepare, Browse, Select
In a visualization system embracing view-dependent, multi-resolution visualization techniques, the effective management of data staging, pipelining, bandwidths and cache systems is critical in maintaining interactivity. Our system, the TeraScale Browser, begins with the assumption that the data can never fit into memory and that the Browser’s major task is to dynamically balance the allocation of both local and remote system resources to provide the highest fidelity display possible, given system resource constraints and user demands. Our goal is to maintain scalable performance throughout the entire system, not just a selected fraction of the system, to ensure that interactive user expectations may be met. To achieve this goal, we sacrifice much of the broad, detailed functionality present in classical visualization tools for interactive scalability, focusing on techniques for which algorithms with controlled resource footprints exist. Scalable algorithms for slicing at arbitrary orientations, families of surfaces (isocontour and material boundaries) and volume rendering have been integrated into the tool. Many of these algorithms require substantial preprocessing to compute specialized data structures for interactive display. To accommodate this requirement for such large one-time computations, a three-phase approach to large data visualization is proposed: Prepare, Browse and Select, as illustrated below.
In the prepare phase, the system converts raw data to an "interaction ready" format that can easily be selectively streamed into the interactive tool via data service layers. Surfaces, slices and data bricks are extracted, simplified, re-ordered and compressed. These data extracts are stored on fast, scratch RAID storage systems with data layouts carefully designed to maximize access performance under a variety of query patterns. This preparation takes place either as a coprocess of the simulation, or as a batch post-process, typically using 10% or less of the computational resources of the run itself.
In the browse phase, a multi-level cache is used to pipeline I/O and minimize it during the interaction. Most-recently-used surface fragments, volumes and slices remain uncompressed in memory. Volumes and slices are loaded asynchronously at multiple resolutions, allowing a user to to examine data even as progressively finer resolutions are made available.
Example of a selection box being interactively applied to a volume rendering of a simulation.
The select phase allows for the extraction of small, full-resolution space/time subsets or coarse level approximations of larger regions, for export to full-featured tools for quantitative investigation. The interaction with external tools can be via the generation and export of a new dataset or by informing external applications dynamically of new regions of interest via external inter-process channels. If the target application is capable of spatially restrictive dataset loading, the latter approach can be employed to provide the user with seamless desktop integration. In fact, the preparation tools themselves are fully integrated with the selection mechanism. They can utilize space/time selection information or extracted subsets to bootstrap additional dataset preparation. An example of an interactive selection is shown above and multi-resolution surface and volume rendering below.
Multi-Resolution Rendering in the
|See the TeraScale Browser product page for information specific to the LC platforms.|
|For more information about the TeraScale Browser, please contact Rebecca Springmeyer|