Skip to main content
Log in

A hierarchical component model for large parallel interactive applications

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  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

  2. Smarr LL, Chien AA, DeFanti T, Leigh J, Papadopoulos PM (2003) The OptIPuter. Commun ACM 46(11):58–67

    Article  Google Scholar 

  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

  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

  5. Brodlie K, Duce DA, Gallop JR, Walton JPRB, Wood J (2004) Distributed and collaborative visualization. Comput Graph Forum 23(2):223–251

    Article  Google Scholar 

  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

  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. Foulser D (1995) IRIS explorer: a framework for investigation. J ACM SIGGRAPH 95 29(2):13–16

    Article  Google Scholar 

  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. 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

  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

    Article  Google Scholar 

  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

  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

  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

  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

    Article  Google Scholar 

  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

    Article  Google Scholar 

  17. Baude F, Caromel D, Morel M (2003) From distributed objects to hierarchical grid components. In: CoopIS/DOA/ODBASE, 2003, pp 1226–1242

  18. Cole M (1989) Algorithmic skeletons: structured management of parallel computation. MIT Press, Cumberland

    MATH  Google Scholar 

  19. Mattson TG, Sanders BA, Massingill BL (2004) A pattern language for parallel programming. Addison-Wesley, Reading

    Google Scholar 

  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

  21. Serot J, Ginhac D (2002) Skeletons for parallel image processing: an overview of the skipper project. Parallel Comput 28(12):1685–1708

    Article  MATH  Google Scholar 

  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. 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

    Article  Google Scholar 

  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

    Chapter  Google Scholar 

  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

  26. Allard J, Raffin B (2006) Distributed physical based simulations for large VR applications. In: IEEE virtual reality conference, Alexandria, USA, March 2006

  27. Allard J, Raffin B (2005) A shader-based parallel rendering framework. In: IEEE visualization conference, Minneapolis, USA, October 2005

  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. Molmar S, Cox M, Ellsworth D, Fuchs H (1994) A sorting classification of parallel rendering. IEEE Comput Graph Appl 14(4):23–32

    Article  Google Scholar 

  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. Franco J, Boyer E (2003) Exact polyhedral visual hulls. In: Proceedings of BMVC2003

  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

  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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jean-Denis Lesage.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lesage, JD., Raffin, B. A hierarchical component model for large parallel interactive applications. J Supercomput 60, 389–409 (2012). https://doi.org/10.1007/s11227-008-0228-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-008-0228-7

Keywords

Navigation