Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
A Sorting Classification of Parallel Rendering
IEEE Computer Graphics and Applications
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
IRIS Explorer: a framework for investigation
ACM SIGGRAPH Computer Graphics - Special focus: modular visualization environments (MVEs)
Proceedings of the 26th annual conference on Computer graphics and interactive techniques
StreamIt: A Language for Streaming Applications
CC '02 Proceedings of the 11th International Conference on Compiler Construction
Skeletons for parallel image processing: an overview of the SKIPPER project
Parallel Computing - Special issue: Advanced environments for parallel and distributed computing
PadicoTM: an open integration framework for communication middleware and runtimes
Future Generation Computer Systems - Selected papers from CCGRID 2002
blue-c: a spatially immersive display and 3D video portal for telepresence
ACM SIGGRAPH 2003 Papers
Cg: a system for programming graphics hardware in a C-like language
ACM SIGGRAPH 2003 Papers
Communications of the ACM - Blueprint for the future of high-performance networking
An architecture for a scientific visualization system
VIS '92 Proceedings of the 3rd conference on Visualization '92
Brook for GPUs: stream computing on graphics hardware
ACM SIGGRAPH 2004 Papers
A parallel multiresolution volume rendering algorithm for large data visualization
Parallel Computing - Parallel graphics and visualization
Distributed Physical Based Simulations for Large VR Applications
VR '06 Proceedings of the IEEE conference on Virtual Reality
Software—Practice & Experience
From mesh generation to scientific visualization: an end-to-end approach to parallel supercomputing
Proceedings of the 2006 ACM/IEEE conference on Supercomputing
Grimage: markerless 3D interactions
ACM SIGGRAPH 2007 emerging technologies
Patterns for parallel programming
Patterns for parallel programming
Grimage: 3D modeling for remote collaboration and telepresence
Proceedings of the 2008 ACM symposium on Virtual reality software and technology
Modularity for large virtual reality applications
Presence: Teleoperators and Virtual Environments
Hi-index | 0.00 |
This paper focuses on parallel interactive applications ranging from scientific visualization, to virtual reality or computational steering. Interactivity makes them particular on three main aspects: they are endlessly iterative, use advanced I/O devices, and must perform under strong performance constraints (latency, refresh rate). A data flow graph is a common approach to describe such applications. Edges represent data streams while vertices are nodes processing incoming data streams and producing new data streams. When applications become large, this approach shows its limits in terms of maintainability and portability. In this paper, we propose to use the composite design pattern to extend this model for supporting hierarchies of components. The component hierarchy is traversed to instantiate the application and extract the data flow graph required for the execution. This approach has been implemented for the FlowVR middleware. It enables to define parametric composite components, commonly called skeletons, that can be reused in various applications. This approach proved to significantly leverage application modularity as presented in different case studies.