24 January 2012 Efficient, dynamic data visualization with persistent data structures
Author Affiliations +
Abstract
Working with data that is changing while it is being worked on, so called "dynamic data", presents unique challenges to a visualization and analysis framework. In particular, making rendering and analysis mutually exclusive can quickly lead to either livelock in the analysis, unresponsive visuals or incorrect results. A framework's data store is a common point of contention that often drives the mutual exclusion. Providing safe, synchronous access to the data store eliminates the livelock scenarios and responsive visuals while maintaining result correctness. Persistent data structures are a technique for providing safe, synchronous access. They support safe, synchronous access by directly supporting multiple versions of the data structure with limited data duplication. With a persistent data structure, rendering acts on one version of the data structure while analysis updates another, effectively double-buffering the central data store. Pre-rendering work based on global state (such as scaling all values relative to the global maximum) is also efficiently treated if independently modified versions can be merged. The Stencil visualization system uses persistent data structures to achieve task-based parallelism between analysis, pre-rendering and rendering work with little synchronization overhead. With efficient persistent data structures, performance gains of several orders of magnitude are achieved.
© (2012) COPYRIGHT Society of Photo-Optical Instrumentation Engineers (SPIE). Downloading of the abstract is permitted for personal use only.
Joseph A. Cottam, Andrew Lumsdaine, "Efficient, dynamic data visualization with persistent data structures", Proc. SPIE 8294, Visualization and Data Analysis 2012, 82940X (24 January 2012); doi: 10.1117/12.909581; https://doi.org/10.1117/12.909581
PROCEEDINGS
12 PAGES


SHARE
Back to Top