A Multi-Threading Architecture to Support Interactive Visual Exploration

During continuous user interaction, it is hard to provide rich visual feedback at interactive rates for datasets containing millions of entries. The contribution of this paper is a generic architecture that ensures responsiveness of the application even when dealing with large data and that is applicable to most types of information visualizations. Our architecture builds on the separation of the main application thread and the visualization thread, which can be cancelled early due to user interaction. In combination with a layer mechanism, our architecture facilitates generating previews incrementally to provide rich visual feedback quickly. To help avoiding common pitfalls of multi-threading, we discuss synchronization and communication in detail. We explicitly denote design choices to control trade-offs. A quantitative evaluation based on the system VI S P L ORE shows fast visual feedback during continuous interaction even for millions of entries. We describe instantiations of our architecture in additional tools.

[1]  Douglas C. Schmidt,et al.  Patterns for concurrent and networked objects , 2000 .

[2]  Chris Weaver Building Highly-Coordinated Visualizations in Improvise , 2004 .

[3]  Miron Livny,et al.  Improving visualization interactivity in Java , 2000, Electronic Imaging.

[4]  Maurice Herlihy,et al.  The art of multiprocessor programming , 2020, PODC '06.

[5]  Timothy G. Mattson,et al.  Patterns for parallel programming , 2004 .

[6]  Charles D. Hansen,et al.  Interactive Simulation and Visualization , 1999, Computer.

[7]  Robert Spence,et al.  Information Visualization: Design for Interaction (2nd Edition) , 2007 .

[8]  Heidrun Schumann,et al.  CGV - An interactive graph visualization system , 2009, Comput. Graph..

[9]  Ed H. Chi,et al.  A taxonomy of visualization techniques using the data state reference model , 2000, IEEE Symposium on Information Visualization 2000. INFOVIS 2000. Proceedings.

[10]  Edward A. Lee The problem with threads , 2006, Computer.

[11]  Miron Livny,et al.  Improvise: a user interface for interactive construction of highly-coordinated visualizations , 2006 .

[12]  Eric Lecolinet,et al.  Browsing Zoomable Treemaps: Structure-Aware Multi-Scale Navigation Techniques , 2007, IEEE Transactions on Visualization and Computer Graphics.

[13]  Wolfgang Berger,et al.  Quantifying and Comparing Features in High-Dimensional Datasets , 2008, 2008 12th International Conference Information Visualisation.

[14]  Valerio Pascucci,et al.  Progressive Volume Rendering of Large Unstructured Grids , 2006, IEEE Transactions on Visualization and Computer Graphics.

[15]  Heidrun Schumann,et al.  Axes-based visualizations with radial layouts , 2004, SAC '04.

[16]  Jeffrey Heer,et al.  prefuse: a toolkit for interactive information visualization , 2005, CHI.

[17]  Helwig Hauser,et al.  Outlier-Preserving Focus+Context Visualization in Parallel Coordinates , 2006, IEEE Transactions on Visualization and Computer Graphics.

[18]  Jean-Daniel Fekete The InfoVis Toolkit , 2004 .

[19]  Martin Theus,et al.  Interactive Data Visualization using Mondrian , 2002 .

[20]  Robert Spence,et al.  Information Visualization: Design for Interaction (2nd Edition) , 2006 .

[21]  Ben Shneiderman,et al.  Design and Evaluation of Incremental Data Structures and Algorithms for Dynamic Query Interfaces , 1997, INFOVIS.

[22]  Ben Shneiderman,et al.  Dynamic queries for visual information seeking , 1994, IEEE Software.

[23]  Jeffrey Heer,et al.  Software Design Patterns for Information Visualization , 2006, IEEE Transactions on Visualization and Computer Graphics.

[24]  Pat Hanrahan,et al.  Maintaining interactivity while exploring massive time series , 2008, 2008 IEEE Symposium on Visual Analytics Science and Technology.

[25]  Douglas C. Schmidt,et al.  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects , 2013 .

[26]  Bernhard Preim,et al.  A Four‐level Focus+Context Approach to Interactive Visual Analysis of Temporal Features in Large Scientific Data , 2008, Comput. Graph. Forum.

[27]  Helwig Hauser,et al.  Interactive Feature Specification for Focus+Context Visualization of Complex Simulation Data , 2003, VisSym.

[28]  Jean-Daniel Fekete,et al.  Interactive information visualization of a million items , 2002, IEEE Symposium on Information Visualization, 2002. INFOVIS 2002..

[29]  William J. Schroeder,et al.  A multi-threaded streaming pipeline architecture for large structured data sets , 1999, Proceedings Visualization '99 (Cat. No.99CB37067).

[30]  James P. Ahrens,et al.  Remote large data visualization in the paraview framework , 2006, EGPGV '06.

[31]  I. Ntzoufras Gibbs Variable Selection using BUGS , 2002 .

[32]  Helmut Doleisch,et al.  SimVis: Interactive visual analysis of large and time-dependent 3D simulation data , 2007, 2007 Winter Simulation Conference.

[33]  Matthew O. Ward,et al.  A strategy selection framework for adaptive prefetching in data visualization , 2003, 15th International Conference on Scientific and Statistical Database Management, 2003..

[34]  Alan J. Dix,et al.  Enabling Automatic Clutter Reduction in Parallel Coordinate Plots , 2006, IEEE Transactions on Visualization and Computer Graphics.

[35]  Allison Woodruff,et al.  Guidelines for using multiple views in information visualization , 2000, AVI '00.

[36]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.

[37]  Benjamin Fry,et al.  Visualizing data - exploring and explaining data with the processing environment , 2008 .

[38]  Mieke Massink,et al.  Continuous interaction with computers: issues and requirements , 2001, HCI.