This Article 
 Bibliographic References 
 Add to: 
A Multi-Threading Architecture to Support Interactive Visual Exploration
November/December 2009 (vol. 15 no. 6)
pp. 1113-1120
Harald Piringer, VRVis Research Center, Vienna, Austria
Christian Tominski, Institute for Computer Science, University of Rostock, Germany
Philipp Muigg, Vienna University of Technology and SimVis Gmbh, Vienna, Austria
Wolfgang Berger, VRVis Research Center, Vienna, Austria
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] EU Coordination Action VisMaster. http:/
[2] M. Q. W. Baldonado, A. Woodruff, and A. Kuchinsky, Guidelines for Using Multiple Views in Information Visualization. In Proc. of the Working Conf. on Advanced Visual Interfaces (AVI), pages 110–119. ACM, 2000.
[3] R. Blanch and E. Lecolinet, Browsing Zoomable Treemaps: Structure-Aware Multi-Scale Navigation Techniques. IEEE Transactions on Visualization and Computer Graphics, 13 (6): 1248–1253, 2007.
[4] S. Callahan, L. Bavoil, V. Pascucci, and C. Silva, Progressive Volume Rendering of Large Unstructured Grids. IEEE Transactions on Visualization and Computer Graphics, 12 (5): 1307–1314, 2006.
[5] A. Cedilnik, B. Geveci, K. Moreland, J. Ahrens, and J. Favre, Remote Large Data Visualization in the ParaView Framework. In 6th Eurographics Symp. on Parallel Graphics and Visualization, pages 163–170, 2006.
[6] S. Chan, L. Xiao, J. Gerth, and P. Hanrahan, Maintaining Interactivity While Exploring Massive Time Series. In Proc. of IEEE Symp. on Visual Analytics Science and Technology. Computer Society, 2008.
[7] E. Chi, A Taxonomy of Visualization Techniques Using the Data State Reference Model. In Proc. of the IEEE Symp. on Information Visualization, pages 69–75. IEEE Computer Society, 2000.
[8] H. Doleisch, SIMVIS: Interactive Visual Analysis of Large and Time-Dependent 3D Simulation Data. In Winter Simulation Conference, pages 712–720. WSC, 2007.
[9] H. Doleisch, M. Gasser, and H. Hauser, Interactive Feature Specifi cation for Focus+Context Visualization of Complex Simulation Data. In VISSYM '03: Proc. of the Symp. on Visualization, pages 239–248. Euro-graphics Association, 2003.
[10] P. Doshi, G. Rosario, E. Rundensteiner, and M. Ward, A Strategy Selection Framework for Adaptive Prefetching in Data Visualization. In SSDBM '03: Proc. of the 15th Intl. Conf. on Scientifi c and Statistical Database Management, pages 107–116. IEEE Computer Society, 2003.
[11] G. Ellis and A. Dix, Enabling Automatic Clutter Reduction in Parallel Coordinate Plots. IEEE Transactions on Visualization and Computer Graphics, 12 (5): 717 − 724, 2006.
[12] G. Faconti and M. Massink, Continuous Interaction with Computers: Issues and Requirements. In Vol. 3 of the proc. of HCI International 2001, pages 301–305. Lawrence Erlbaum, 2001.
[13] J. Fekete, The InfoVis Toolkit. In Proc. of the IEEE Symp. on Information Visualization '04, pages 167–174. IEEE Computer Society, 2004.
[14] J. Fekete and C. Plaisant, Interactive Information Visualization of a Million Items. In Proc. of the IEEE Symp. on Information Visualization '02, pages 117 − 124. IEEE Computer Society, 2002.
[15] B. Fry, Visualizing Data: Exploring and Explaining Data with the Processing Environment. O'Reilly Media, Inc., 2008.
[16] J. Heer and M. Agrawala, Software Design Patterns for Information Visualization. IEEE Transactions on Visualization and Computer Graphics, 12 (5): 853–860, 2006.
[17] J. Heer, S. Card, and J. Landay, Prefuse: a Toolkit for Interactive Information Visualization. In CHI '05: Proc. of the SIGCHI Conf. on Human Factors in Computing Systems, pages 421–430. ACM, 2005.
[18] M. Herlihy and N. Shavit, The Art of Multiprocessor Programming. Morgan Kaufmann, 2008.
[19] C. Johnson, A. Parker, C. Hansen, G. Kindlmann, and Y. Livnat, Interactive Simulation and Visualization. Computer, 32 (12): 59–65, 1999.
[20] C. Law, W. Schroeder, K. Martin, and J. Temkin, A Multi-Threaded Streaming Pipeline Architecture for Large Structured Data Sets. In Proc. of the IEEE Conf. on Visualization '99, pages 225–232. IEEE Computer Society, 1999.
[21] E. A. Lee, The Problem with Threads. IEEE Computer, 39 (5), 2006.
[22] T. Mattson, B. Sanders, and B. Massingill, Patterns for Parallel Programming. Addison-Wesley Professional, 2004.
[23] B.S. Michel and H. Zima, SC'08 Workshop: Bridging Multicore's Programmability Gap, 2008.
[24] P. Muigg, J. Kehrer, S. Oeltze, H. Piringer, H. Doleisch, B. Preim, and H. Hauser, A Four-level Focus+Context Approach to Interactive Visual Analysis of Temporal Features in Large Scientifi c Data. Computer Graphics Forum, 27 (3): 775–782, 2008.
[25] M. Novotné and H. Hauser, Outlier-Preserving Focus+Context Visualization in Parallel Coordinates. IEEE Transactions on Visualization and Computer Graphics, 12 (5): 893–900, 2006.
[26] H. Piringer, W. Berger, and H. Hauser, Quantifying and Comparing Features in High-Dimensional Datasets. In Proc. of the Intl. Conf. on Information Visualisation (IV08), pages 240–245. IEEE Computer Society, 2008.
[27] D. Schmidt, M. Stal, H. Rohnert, and F. Buschmann, Pattern-Oriented Software Architecture, Volume 2, Patterns for Concurrent and Networked Objects. John Wiley & Sons, 2000.
[28] B. Shneiderman, Direct Manipulation: a Step beyond Programming Languages. IEEE Computer, 16 (8): 57–69, 1983.
[29] B. Shneiderman, Dynamic Queries for Visual Information Seeking. IEEE Software, 11 (6): 70–77, 1994.
[30] R. Spence, Information Visualization: Design for Interaction (2nd Edition). Prentice-Hall, Inc., 2007.
[31] E. Tanin, R. Beigel, and B. Shneiderman, Incremental Data Structures and Algorithms for Dynamic Query Interfaces. SIGMOD Rec., 25 (4): 21– 24, 1996.
[32] M. Theus, Interactive Data Visualization using Mondrian. Journal of Statistical Software, 7 (11): 1–9, 11 2002.
[33] C. Tominski, J. Abello, and H. Schumann, Axes-Based Visualizations with Radial Layouts. In Proc. of ACM Symp. on Applied Computing (SAC'04), pages 1242–1247. ACM Press, 2004.
[34] C. Tominski, J. Abello, and H. Schumann, CGV − An Interactive Graph Visualization System. Computers & Graphics, 2009. (to appear).
[35] C. Weaver, Building Highly-Coordinated Visualizations in Improvise. In Proc. of the IEEE Symp. on Information Visualization, pages 159–166. IEEE Computer Society, 2004.
[36] C. Weaver and M. Livny, Improving Visualization Interactivity in Java. In Proc. of Visual Data Exploration and Analysis. IS&T/SPIE, 2000.
[37] C. E. Weaver, Improvise: A User Interface for Interactive Construction of Highly-Coordinated Visualizations. PhD thesis, University of Wisconsin - Madison, 2006.

Index Terms:
Information visualization architecture, continuous interaction, multi-threading, layer, preview
Harald Piringer, Christian Tominski, Philipp Muigg, Wolfgang Berger, "A Multi-Threading Architecture to Support Interactive Visual Exploration," IEEE Transactions on Visualization and Computer Graphics, vol. 15, no. 6, pp. 1113-1120, Nov.-Dec. 2009, doi:10.1109/TVCG.2009.110
Usage of this product signifies your acceptance of the Terms of Use.