The Journal of Supercomputing

, Volume 60, Issue 3, pp 389–409 | Cite as

A hierarchical component model for large parallel interactive applications

  • Jean-Denis Lesage
  • Bruno Raffin


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.


Interactive applications Parallelism Components Composite design pattern 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Tu T, Yu H, Ramirez-Guzman L, Bielak J, Ghattas O, Ma KL, O’Hallaron DR (2006) From mesh generation to scientific visualization: an end-to-end approach to parallel supercomputing. In: Super computing, 2006 Google Scholar
  2. 2.
    Smarr LL, Chien AA, DeFanti T, Leigh J, Papadopoulos PM (2003) The OptIPuter. Commun ACM 46(11):58–67 CrossRefGoogle Scholar
  3. 3.
    Gross M, Wuermlin S, Naef M, Lamboray E, Spagno C, Kunz A, Koller-Meier E, Svoboda T, Gool LV, Lang KS, Moere AV, Staadt O (2003) Blue-C: a spatially immersive display and 3D video portal for telepresence. In: Proceedings of ACM SIGGRAPH 03, San Diego, 2003 Google Scholar
  4. 4.
    Allard J, Ménier C, Raffin B, Boyer E, Faure F (2007) Grimage: markerless 3D Interactions. In: Proceedings of ACM SIGGRAPH 07, San Diego, USA, August 2007. Emerging Technology Google Scholar
  5. 5.
    Brodlie K, Duce DA, Gallop JR, Walton JPRB, Wood J (2004) Distributed and collaborative visualization. Comput Graph Forum 23(2):223–251 CrossRefGoogle Scholar
  6. 6.
    Allard J, Gouranton V, Lecointre L, Limet S, Melin E, Raffin B, Robert S (2004) FlowVR: a middleware for large scale virtual reality applications. In: Proceedings of Euro-par 2004, Pisa, Italy, August 2004 Google Scholar
  7. 7.
    Lucas B, Abram GD, Collins NS, Epstein DA, Gresh DL, McAuliffe KP (1992) An architecture for a scientific visualization system. In: IEEE visualization conference, Los Alamitos, CA, USA, 1992. IEEE Computer Society Press, Los Alamitos, pp 107–114 Google Scholar
  8. 8.
    Foulser D (1995) IRIS explorer: a framework for investigation. J ACM SIGGRAPH 95 29(2):13–16 CrossRefGoogle Scholar
  9. 9.
    Schroeder W, Martin K, Lorensen B (2003) The visualization toolkit an object-oriented approach to 3D graphics, 3rd edn. Kitware, Inc., New York Google Scholar
  10. 10.
    Ahrens J, Law C, Schroeder W, Martin K, Papka M (2000) A parallel approach for efficiently visualizing extremely large time-varying datasets. Technical report, Los Alamos National Laboratory Google Scholar
  11. 11.
    Wang C, Gao J, Shen HW (2005) Parallel multiresolution volume rendering of large data sets with error-guided load balancing. Parallel Comput 31(2):185–204 CrossRefGoogle Scholar
  12. 12.
    Margery D, Arnaldi B, Chauffaut A, Donikian S, Duval T (2002) OpenMASK: multi-threaded or modular animation and simulation kernel or kit: a general introduction. In: Richir S, Richard P, Taravel B (eds) VRIC 2002 proceedings, pp 101–110 Google Scholar
  13. 13.
    Wierse A, Lang U, Rhle R (1993) Architectures of distributed visualization systems and their enhancements. In: Eurographics workshop on visualization in scientific computing, Abingdon, 1993 Google Scholar
  14. 14.
    Zhang K, Damevski K, Venkatachalapathy V, Parker SG (2004) SCIRun2: a CCA framework for high performance computing. In: Proceedings of the ninth international workshop on high-level parallel programming models and supportive environments, HIPS, Los Alamitos, CA, USA, 2004. IEEE Computer Society, pp 72–79 Google Scholar
  15. 15.
    Denis A, Pérez C, Priol T (2003) PadicoTM: an open integration framework for communication middleware and runtimes. Future Gener Comput Syst 19(4):575–585 CrossRefGoogle Scholar
  16. 16.
    Bruneton E, Coupaye T, Leclercq M, Quéma V, Stefani J-B (2006) The FRACTAL component model and its support in Java: experiences with auto-adaptive and reconfigurable systems. Softw Pract Exp 36(11–12):1257–1284 CrossRefGoogle Scholar
  17. 17.
    Baude F, Caromel D, Morel M (2003) From distributed objects to hierarchical grid components. In: CoopIS/DOA/ODBASE, 2003, pp 1226–1242 Google Scholar
  18. 18.
    Cole M (1989) Algorithmic skeletons: structured management of parallel computation. MIT Press, Cumberland zbMATHGoogle Scholar
  19. 19.
    Mattson TG, Sanders BA, Massingill BL (2004) A pattern language for parallel programming. Addison-Wesley, Reading Google Scholar
  20. 20.
    Aldinucci M, Coppola M, Danelutto M, Vanneschi M, Zoccolo C (2006) ASSIST as a research framework for high-performance grid programming environments. In: Cunha JC, Rana OF (eds) Grid computing: software environments and tools. Springer, Berlin, January, 2006 Google Scholar
  21. 21.
    Serot J, Ginhac D (2002) Skeletons for parallel image processing: an overview of the skipper project. Parallel Comput 28(12):1685–1708 zbMATHCrossRefGoogle Scholar
  22. 22.
    Thies W, Karczmarek M, Amarasinghe SP (2002) StreamIt: A language for streaming applications. In: CC ’02: proceedings of the 11th international conference on compiler construction. Springer, London, Berlin, pp 179–196 Google Scholar
  23. 23.
    Buck I, Foley T, Horn D, Sugerman J, Fatahalian K, Houston M, Hanrahan P (2004) Brook for GPUs: stream computing on graphics hardware. ACM Trans Graph 23(3):777–786 CrossRefGoogle Scholar
  24. 24.
    Mark WR, Glanville RS, Akeley K, Kilgard MJ (2003) Cg: a system for programming graphics hardware in a C-like language. In: Proceedings of ACM SIGGRAPH 03, New York, NY, USA, 2003. ACM Press, New York, pp 896–907 CrossRefGoogle Scholar
  25. 25.
    Arcila T, Allard J, Ménier C, Boyer E, Raffin B (2006) Flowvr: a framework for distributed virtual reality applications. In: Lière journées de l’association Française de réalité virtuelle, augmentée, mixte et d’interaction 3D, Rocquencourt, France, November 2006 Google Scholar
  26. 26.
    Allard J, Raffin B (2006) Distributed physical based simulations for large VR applications. In: IEEE virtual reality conference, Alexandria, USA, March 2006 Google Scholar
  27. 27.
    Allard J, Raffin B (2005) A shader-based parallel rendering framework. In: IEEE visualization conference, Minneapolis, USA, October 2005 Google Scholar
  28. 28.
    Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, Longman Publishing Co., Inc., Boston Google Scholar
  29. 29.
    Molmar S, Cox M, Ellsworth D, Fuchs H (1994) A sorting classification of parallel rendering. IEEE Comput Graph Appl 14(4):23–32 CrossRefGoogle Scholar
  30. 30.
    Stam J (1999) Stable fluids. In: Proceedings of ACM SIGGRAPH 99, New York, 1999. ACM Press, New York, pp 121–128 Google Scholar
  31. 31.
    Franco J, Boyer E (2003) Exact polyhedral visual hulls. In: Proceedings of BMVC2003 Google Scholar
  32. 32.
    Allard J, Boyer E, Franco JS, Ménier C, Raffin B (2004) Marker-less real time 3D modeling for virtual reality. In: Proceedings of the immersive projection technology workshop, Ames, Iowa, May 2004 Google Scholar
  33. 33.
    Allard J, Cotin S, Faure F, Bensoussan PJ, Poyer F, Duriez C, Delingette H, Grisoni L (2007) SOFA: an open source framework for medical simulation. In: Medicine meets virtual reality (MMVR), 2007 Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2008

Authors and Affiliations

  1. 1.Laboratoire d’Informatique de Grenoble (LIG)INRIAGrenobleFrance

Personalised recommendations