Skip to main content
Log in

Towards an efficient parallel raycasting of unstructured volumetric data on distributed environments

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

Direct volume rendering of large and unstructured datasets demands high computational power and memory bandwidth. Developing an efficient parallel algorithm requires a deep understanding of the bottlenecks involved in the solutions for this problem. In this work, we make a thorough analysis of the overhead components involved in parallel volume raycasting of unstructured grids for high-resolution images on distributed environments. This evaluation has revealed potential opportunities for performance improvements. The result is a novel approach to distributed memory raycasting that includes different acceleration techniques to enhance ray distribution, face projection, memory locality, and message exchanging, while maintaining load balance. We report the gains achieved in each phase and in the complete parallel algorithm when compared with a conventional approach.

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.

Algorithm 1
Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20

Similar content being viewed by others

References

  1. Abraham, F., Celes, W., Cerqueira, R., Campos, J.L.: A load-balancing strategy for sort-first distributed rendering. In: 17th Brazilian Symposium on Computer Graphics and Image Processing, pp. 292–299 (2004)

    Chapter  Google Scholar 

  2. Aykanat, C., Cambazoglu, B.B., Findik, F., Kurc, T.: Adaptive decomposition and remapping algorithms for object-space-parallel direct volume rendering of unstructured grids. J. Parallel Distrib. Comput. 67(1), 77–99 (2007)

    Article  MATH  Google Scholar 

  3. Bernardon, F.F., Callahan, S.P., Comba, J.L.D., Silva, C.T.: An adaptive framework for visualizing unstructured grids with time-varying scalar fields. Parallel Comput. 33(6), 391–405 (2007)

    Article  Google Scholar 

  4. Bernardon, F.F., Pagot, C.A., Comba, J.L.D., Silva, C.T.: GPU-Based tiled ray casting using depth peeling. J. Graph. Tools 3, 23–29 (2006)

    Google Scholar 

  5. Bethel, E.W., Howison, M.: Multi-core and many-core shared-memory parallel raycasting volume rendering optimization and tuning. Int. J. High Perform. Comput. Appl. 26(4), 399–412 (2012)

    Article  Google Scholar 

  6. Childs, H., Duchaineau, M., Ma, K.-L.: A scalable, hybrid scheme for volume rendering massive data sets. In: Proceedings of Eurographics Symposium on Parallel Graphics and Visualization, pp. 153–162 (2006)

    Google Scholar 

  7. Coelho, A., Lopes, A., Bentes, C., de Castro, M., Farias, R.: Distributed load balancing algorithms for parallel volume rendering on cluster of PCs. In: XXXII Conferencia Latinoamericana de Informática (CLEI 2006), pp. 51–58 (2006)

    Google Scholar 

  8. Cox, G., Maximo, A., Bentes, C., Farias, R.: Irregular grid raycasting implementation on the cell broadband engine. In: Proceedings of the 2009 21st International Symposium on Computer Architecture and High Performance Computing (SBAC-PAD’09), pp. 93–100 (2009)

    Chapter  Google Scholar 

  9. Danskin, J., Hanrahan, P.: Fast algorithms for volume ray tracing. In: Proceedings of the 1992 Workshop on Volume Visualization (VV’92), pp. 91–98 (1992)

    Chapter  Google Scholar 

  10. Debattista, K., Chalmers, A., Gillibrand, R., Longhurst, P., Mastoropoulou, G., Sundstedt, V.: Parallel selective rendering of high-fidelity virtual environments. Parallel Comput. 33, 361–376 (2007)

    Article  Google Scholar 

  11. Drebin, R.A., Carpenter, L., Hanrahan, P.: Volume rendering. In: Proceedings of the 15th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH’88), pp. 65–74 (1988)

    Chapter  Google Scholar 

  12. Eilemann, S., Makhinya, M., Pajarola, R.: Equalizer: a scalable parallel rendering framework. IEEE Trans. Vis. Comput. Graph. 15, 436–452 (2009)

    Article  Google Scholar 

  13. Espinha, R., Celes, W.: High-quality hardware-based ray-casting volume rendering using partial pre-integration. In: Proceedings of the XVIII Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI’05), pp. 273–281 (2005)

    Chapter  Google Scholar 

  14. Farias, R., Bentes, C., Coelho, A., Guedes, S., Goncalves, L.: Work distribution for parallel zsweep algorithm. In: XI Brazilian Symp. on Computer Graphics and Image Processing, October, pp. 107–114 (2003)

    Chapter  Google Scholar 

  15. Fogal, T., Childs, H., Shankar, S., Krueger, J., Bergeron, D., Hatcher, P.J.: Large data visualization on distributed memory multi-GPU clusters. In: High Performance Graphics, pp. 57–66 (2010)

    Google Scholar 

  16. Fout, N., Ma, K.-L.: Transform coding for hardware-accelerated volume rendering. IEEE Trans. Vis. Comput. Graph. 13(6) (2007)

  17. Graham, R.L., Grahamt, R.L.: Bounds on multiprocessing timing anomalies. SIAM J. Appl. Math. 17, 416–429 (1969)

    Article  MATH  MathSciNet  Google Scholar 

  18. ICL Group: Papi software specification (2010)

  19. Howison, M., Bethel, E.W., Childs, H.: Mpi-hybrid parallelism for volume rendering on large, multi-core systems. In: Eurographics Symposium on Parallel Graphics and Visualization (EGPGV) (2010)

    Google Scholar 

  20. Kaufman, A., Mueller, K.: Overview of volume rendering. In: Johnson, C., Hansen, C. (eds.) The Visualization Handbook, pp. 127–174. Academic Press, San Diego (2005)

    Chapter  Google Scholar 

  21. Kim, J., Jaja, J.: Streaming model based volume ray casting implementation for cell broadband engine. Sci. Program. 17(1–2), 173–184 (2009)

    Google Scholar 

  22. Kutluca, H., Kurç, T.M., Aykanat, C.: Image-space decomposition algorithms for sort-first parallel volume rendering of unstructured grids. J. Supercomput. 15(1), 51–93 (2000)

    Article  MATH  Google Scholar 

  23. Labronici, B., Bentes, C., Drummond, L., Farias, R.: Dynamic screen division for load balancing the raycasting of irregular data. In: IEEE Cluster (2009)

    Google Scholar 

  24. Lee, J.K., Newman, T.S.: Acceleration of opacity correction mechanisms for over-sampled volume ray casting. In: Symposium on Parallel Graphics and Visualization (EGPGV’08), pp. 22–30 (2008)

    Google Scholar 

  25. Levoy, M.: Display of surfaces from volume data. IEEE Comput. Graph. Appl. 8, 29–37 (1988)

    Article  Google Scholar 

  26. Ma, K.L.: Parallel volume ray-casting for unstructured-grid data on distributed-memory architectures. In: IEEE Parallel Rendering Symposium, October, pp. 23–30 (1995)

    Chapter  Google Scholar 

  27. Marchesin, S., Mongenet, C., Dischler, J.M.: Dynamic load balancing for parallel volume rendering. In: Eurographics Symposium on Parallel Graphics and Visualization, Braga, Portugal (2006)

    Google Scholar 

  28. Marchesin, S., Mongenet, C., Dischler, J.-M.: Multi-GPU sort-last volume visualization. In: Symposium on Parallel Graphics and Visualization (EGPGV’08), pp. 1–8 (2008)

    Google Scholar 

  29. Marroquim, R., Maximo, A., Farias, R., Esperança, C.: Volume and isosurface rendering with GPU-accelerated cell projection. Comput. Graph. Forum 27, 24–35 (2008)

    Article  Google Scholar 

  30. Max, N.: Optical models for direct volume rendering. IEEE Trans. Vis. Comput. Graph. 1, 99–108 (1995)

    Article  Google Scholar 

  31. Maximo, A., Ribeiro, S., Bentes, C., Oliveira, A., Farias, R.: Memory efficient GPU-based ray casting for unstructured volume rendering. In: IEEE/EG Int. Symp. Volume and Point-Based Graph, pp. 55–62 (2008)

    Google Scholar 

  32. Molnar, S.E.: Image-composition architectures for real-time image generation. PhD thesis, University of North Carolina at Chapel Hill, Chapel Hill, NC, USA (1992)

  33. Moloney, B., Weiskopf, D., Moller, T., Strengert, M.: Scalable sort-first parallel direct volume rendering with dynamic load balancing. In: Eurographics Symposium on Parallel Graphics and Visualization, Lugano, Switzerland, pp. 45–52 (2007)

    Google Scholar 

  34. Moloney, B., Ament, M., Weiskopf, D., Moller, T.: Sort-first parallel volume rendering. IEEE Trans. Vis. Comput. Graph. 17, 1164–1177 (2011)

    Article  Google Scholar 

  35. Mueller, C.: The sort-first rendering architecture for high-performance graphics. In: Proceedings of the 1995 Symposium on Interactive 3D Graphics (SI3D’95), pp. 75–84 (1995)

    Chapter  Google Scholar 

  36. Mueller, C.: Hierarchical graphics databases in sort-first. In: Proceedings of the IEEE Symposium on Parallel Rendering (PRS’97), pp. 49–57 (1997)

    Google Scholar 

  37. Muller, C., Strengert, M., Erl, T.: Optimized volume raycasting for graphics-hardware-based cluster systems. In: Eurographics Symposium on Parallel Graphics and Visualization, pp. 59–66 (2006)

    Google Scholar 

  38. Muller, C., Strengert, M., Ertl, T.: Adaptive load balancing for raycasting of non-uniformly bricked volumes. Parallel Comput. 33(6), 406–419 (2007)

    Article  Google Scholar 

  39. Nieh, J., Levoy, M.: Volume rendering on scalable shared-memory MIMD architectures. In: Proc. of the 1992 Workshop on Volume Visualization, October, pp. 17–24 (1992)

    Chapter  Google Scholar 

  40. Pina, A., Bentes, C., Farias, R.: Memory efficient and robust software implementation of the raycast algorithm. In: The 15th Int. Conf. in Central Europe on Computer Graphics, Visualization and Computer Vision (WSCG’07) (2007)

    Google Scholar 

  41. Ribeiro, S., Maximo, A., Bentes, C., Oliveira, A., Farias, R.: Memory-aware and efficient ray-casting algorithm. In: Proceedings of the XX Brazilian Symposium on Computer Graphics and Image Processing (SIBGRAPI’07), pp. 147–154 (2007)

    Chapter  Google Scholar 

  42. Roth, M., Rieb, P., Reiners, D.: Load balancing on cluster-based multi projector display systems. In: 14th International Conference in Central Europe on Computer Graphics, Visualization and Computer Vision, pp. 55–62 (2006)

    Google Scholar 

  43. Roth, S.D.: Ray casting for modeling solids. Comput. Graph. Image Process. 18(2), 109–144 (1982)

    Article  Google Scholar 

  44. Ruijters, D., Vilanova, A.: Optimizing GPU volume rendering. In: The 15th Int. Conf. in Central Europe on Computer Graphics, Visualization and Computer Vision (WSCG’06) (2006)

    Google Scholar 

  45. Samanta, R., Funkhouser, T., Li, K., Singh, J.P.: Hybrid sort-first and sort-last parallel rendering with a cluster of PCs. In: Proc. of the SIGGRAPH/Eurographics Workshop on Graphics Hardware (2000)

    Google Scholar 

  46. Samanta, R., Zheng, J., Funkhouser, T., Li, K., Singh, J.P.: Load balancing for multi-projector rendering systems. In: Proc. of the SIGGRAPH/Eurographics Workshop on Graphics Hardware, August, pp. 107–116 (1999)

    Chapter  Google Scholar 

  47. Strengert, M., Magallón, M., Weiskopf, D., Guthe, S., Ertl, T.: Hierarchical visualization and compression of large volume datasets using GPU clusters. In: Eurographics Symposium on Parallel Graphics and Visualization (EGPGV04), pp. 41–48 (2004)

    Google Scholar 

  48. Vanek, J., Benes, B., Herout, A., Stava, O.: Large-scale physics-based terrain editing using adaptive tiles on the GPU. IEEE Comput. Graph. Appl. 31(6), 35–44 (2011)

    Article  Google Scholar 

  49. Walshaw, C., Berzins, M.: Adaptive time-dependent cfd on distributed unstructured meshes. In: Ecer, A., et al. (eds.) Parallel Computational Fluid Dynamics: New Trends and Advances, pp. 191–198. Elsevier, Amsterdam (1995)

    Google Scholar 

  50. Wang, W., Yang, J., Muntz, R.: Sting: a statistical information grid approach to spatial data mining. In: Proceedings of 23rd International Conference on Very Large Data Bases, pp. 186–195 (1997)

    Google Scholar 

  51. Weiler, M., Kraus, M., Merz, M., Ertl, T.: Hardware-based ray casting for tetrahedral meshes. In: Proceedings of the 14th IEEE Conference on Visualization’03, pp. 333–340 (2003)

    Google Scholar 

  52. Weiler, M., Mallon, P.N., Kraus, M., Ertl, T.: Texture-encoded tetrahedral strips. In: Proceedings of the 2004 IEEE Symposium on Volume Visualization and Graphics (VV’04), pp. 71–78 (2004)

    Chapter  Google Scholar 

  53. Whitman, S.: Dynamic load balancing for parallel polygon rendering. IEEE Comput. Graph. Appl. 14(4), 41–48 (1994)

    Article  Google Scholar 

  54. Wylie, B., Pavlakos, C., Lewis, V., Moreland, K.: Scalable rendering on PC clusters. IEEE Comput. Graph. Appl. 21(4), 62–70 (2001)

    Article  Google Scholar 

  55. Yu, H., Wang, C., Ma, K.-L.: Parallel volume rendering using 2–3 swap image compositing for an arbitrary number of processors. In: Proceedings of Proceedings of IEEE/ACM Supercomputing 2008 Conference (2008)

    Google Scholar 

Download references

Acknowledgements

This work was partially supported by the Brazilian Research Agency CNPq by grant 480006/2010-5.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Cristiana Bentes.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bentes, C., Labronici, B.B., Drummond, L.M.A. et al. Towards an efficient parallel raycasting of unstructured volumetric data on distributed environments. Cluster Comput 17, 423–439 (2014). https://doi.org/10.1007/s10586-013-0244-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10586-013-0244-0

Keywords

Navigation