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.





















Similar content being viewed by others
References
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Eilemann, S., Makhinya, M., Pajarola, R.: Equalizer: a scalable parallel rendering framework. IEEE Trans. Vis. Comput. Graph. 15, 436–452 (2009)
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)
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)
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)
Fout, N., Ma, K.-L.: Transform coding for hardware-accelerated volume rendering. IEEE Trans. Vis. Comput. Graph. 13(6) (2007)
Graham, R.L., Grahamt, R.L.: Bounds on multiprocessing timing anomalies. SIAM J. Appl. Math. 17, 416–429 (1969)
ICL Group: Papi software specification (2010)
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)
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)
Kim, J., Jaja, J.: Streaming model based volume ray casting implementation for cell broadband engine. Sci. Program. 17(1–2), 173–184 (2009)
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)
Labronici, B., Bentes, C., Drummond, L., Farias, R.: Dynamic screen division for load balancing the raycasting of irregular data. In: IEEE Cluster (2009)
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)
Levoy, M.: Display of surfaces from volume data. IEEE Comput. Graph. Appl. 8, 29–37 (1988)
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)
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)
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)
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)
Max, N.: Optical models for direct volume rendering. IEEE Trans. Vis. Comput. Graph. 1, 99–108 (1995)
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)
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)
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)
Moloney, B., Ament, M., Weiskopf, D., Moller, T.: Sort-first parallel volume rendering. IEEE Trans. Vis. Comput. Graph. 17, 1164–1177 (2011)
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)
Mueller, C.: Hierarchical graphics databases in sort-first. In: Proceedings of the IEEE Symposium on Parallel Rendering (PRS’97), pp. 49–57 (1997)
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)
Muller, C., Strengert, M., Ertl, T.: Adaptive load balancing for raycasting of non-uniformly bricked volumes. Parallel Comput. 33(6), 406–419 (2007)
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)
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)
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)
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)
Roth, S.D.: Ray casting for modeling solids. Comput. Graph. Image Process. 18(2), 109–144 (1982)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Whitman, S.: Dynamic load balancing for parallel polygon rendering. IEEE Comput. Graph. Appl. 14(4), 41–48 (1994)
Wylie, B., Pavlakos, C., Lewis, V., Moreland, K.: Scalable rendering on PC clusters. IEEE Comput. Graph. Appl. 21(4), 62–70 (2001)
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)
Acknowledgements
This work was partially supported by the Brazilian Research Agency CNPq by grant 480006/2010-5.
Author information
Authors and Affiliations
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10586-013-0244-0