The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.01 - January (2012 vol.18)
pp: 17-29
M. Howison , Center for Comput. & Visualization, Brown Univ., Providence, RI, USA
E. W. Bethel , Visualization Group, Lawrence Berkeley Nat. Lab., Berkeley, CA, USA
H. Childs , Visualization Group, Lawrence Berkeley Nat. Lab., Berkeley, CA, USA
ABSTRACT
With the computing industry trending toward multi- and many-core processors, we study how a standard visualization algorithm, raycasting volume rendering, can benefit from a hybrid parallelism approach. Hybrid parallelism provides the best of both worlds: using distributed-memory parallelism across a large numbers of nodes increases available FLOPs and memory, while exploiting shared-memory parallelism among the cores within each node ensures that each node performs its portion of the larger calculation as efficiently as possible. We demonstrate results from weak and strong scaling studies, at levels of concurrency ranging up to 216,000, and with data sets as large as 12.2 trillion cells. The greatest benefit from hybrid parallelism lies in the communication portion of the algorithm, the dominant cost at higher levels of concurrency. We show that reducing the number of participants with a hybrid approach significantly improves performance.
INDEX TERMS
Graphics processing unit, Rendering (computer graphics), Instruction sets, Parallel processing, Concurrent computing,parallel processing., Volume visualization
CITATION
M. Howison, E. W. Bethel, H. Childs, "Hybrid Parallelism for Volume Rendering on Large-, Multi-, and Many-Core Systems", IEEE Transactions on Visualization & Computer Graphics, vol.18, no. 1, pp. 17-29, January 2012, doi:10.1109/TVCG.2011.24
REFERENCES
[1] K. Asanovic, R. Bodik, B.C. Catanzaro, J.J. Gebis, P. Husbands, K. Keutzer, D.A. Patterson, W.L. Plishker, J. Shalf, S.W. Williams, and K.A. Yelick, “The Landscape of Parallel Computing Research: A View from Berkeley,” Technical Report UCB/EECS-2006-183, EECS Dept., Univ. of California, Berkeley, http://www.eecs.berkeley.edu/Pubs/TechRpts/ 2006EECS-2006-183.html, Dec. 2006.
[2] C.T. Silva, A.E. Kaufman, and C. Pavlakos, “PVR: High-Performance Volume Rendering,” IEEE Computational Science and Eng., vol. 3, no. 4, pp. 18-28, Dec. 1996.
[3] J. Kniss, P. McCormick, A. McPherson, J. Ahrens, J. Painter, A. Keahey, and C. Hansen, “Interactive Texture-Based Volume Rendering for Large Data Sets,” IEEE Computer Graphics and Applications, vol. 21, no. 4, pp. 52-61, July 2001.
[4] T. Peterka, H. Yu, R. Ross, K.L. Ma, and R. Latham, “End-to-End Study of Parallel Volume Rendering on the IBM Blue Gene/P,” Proc. Int'l Conf. Parallel Processing (ICPP '09), Sept. 2009.
[5] M. Howison, E.W. Bethel, and H. Childs, “MPI-Hybrid Parallelism for Volume Rendering on Large, Multicore Clusters,” Proc. Eurographics Parallel Visualization and Graphics, May 2010.
[6] M. Levoy, “Display of Surfaces from Volume Data,” IEEE Computer Graphics and Applications, vol. 8, no. 3, pp. 29-37, May 1988.
[7] R.A. Drebin, L. Carpenter, and P. Hanrahan, “Volume Rendering,” ACM SIGGRAPH Computer Graphics, vol. 22, no. 4, pp. 65-74, 1988.
[8] A. Kaufman and K. Mueller, “Overview of Volume Rendering,” The Visualization Handbook, C.D. Hansen and C.R. Johnson, eds., pp. 127-174, Elsevier, 2005.
[9] K.L. Ma, J.S. Painter, C.D. Hansen, and M.F. Krogh, “A Data Distributed, Parallel Algorithm for Ray-Traced Volume Rendering,” Proc. Symp. Parallel Rendering, pp. 15-22, Oct. 1993.
[10] R. Tiwari and T.L. Huntsberger, “A Distributed Memory Algorithm for Volume Rendering,” Proc. Scalable High Performance Computing Conf., May 1994.
[11] K.L. Ma, “Parallel Volume Ray-Casting for Unstructured-Grid Data on Distributed-Memory Architectures,” PRS '95: Proc. IEEE Symp. Parallel Rendering, pp. 23-30, 1995.
[12] C. Bajaj, I. Ihm, G. Joo, and S. Park, “Parallel Ray Casting of Visibly Human on Distributed Memory Architectures,” Proc. VisSym Joint EUROGRAPHICS-IEEE TVCG Symp. Visualization, pp. 269-276, 1999.
[13] P. Sabella, “A Rendering Algorithm for Visualizing 3D Scalar Fields,” ACM SIGGRAPH Computer Graphics, vol. 22, no. 4, pp. 51-58, 1988.
[14] C. Upson and M. Keeler, “V-Buffer: Visible Volume Rendering,” Proc. ACM SIGGRAPH, pp. 59-64, 1988.
[15] J. Nieh and M. Levoy, “Volume Rendering on Scalable Shared-Memory MIMD Architectures,” Proc. Workshop Vol. Visualization, pp. 17-24, Oct. 1992.
[16] C. Müller, M. Strengert, and T. Ertl, “Optimized Volume Raycasting for Graphics-Hardware-Based Cluster Systems,” Proc. Eurographics Parallel Graphics and Visualization, pp. 59-66, 2006.
[17] B. Moloney, M. Ament, D. Weiskopf, and T. Moller, “Sort First Parallel Volume Rendering,” IEEE Trans. Visualization and Computer Graphics, vol. 99, Sept. 2010.
[18] H. Childs, M.A. Duchaineau, and K.L. Ma, “A Scalable, Hybrid Scheme for Volume Rendering Massive Data Sets,” Proc. Eurographics Symp. Parallel Graphics and Visualization, pp. 153-162, 2006.
[19] T. Peterka, D. Goodell, R. Ross, H.W. Shen, and R. Thakur, “A Configurable Algorithm for Parallel Image-Compositing Applications,” Supercomputing '09: Proc. ACM/IEEE Conf. Supercomputing, pp. 1-10, 2009.
[20] W. Kendall, T. Peterka, J. Huang, H.W. Shen, and R. Ross, “Accelerating and Benchmarking k Image Compositing at Large Scale,” Proc. Eurographics Parallel Visualization and Graphics, May 2010.
[21] G. Hager, G. Jost, and R. Rabenseifner, “Communication Characteristics and Hybrid MPI/OpenMP Parallel Programming on Clusters of Multi-Core SMP Nodes,” Proc. Cray User Group Conf., 2009.
[22] D. Mallón, G. Taboada, C. Teijeiro, J. Tourino, B. Fraguela, A. Gómez, R. Doallo, and J. Mourino, “Performance Evaluation of MPI, UPC and OpenMP on Multicore Architectures,” Proc. 16th European PVM/MPI Users' Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface (EuroPVM/MPI '09), Sept. 2009.
[23] T. Peterka, R. Ross, H. Yu, K.L. Ma, W. Kendall, and J. Huang, “Assessing Improvements to the Parallel Volume Rendering Pipeline at Large Scale,” UltraVis '08: Proc. Workshop Ultrascale Visualization, 2008.
[24] T. Fogal, H. Childs, S. Shankar, J. Krüger, D. Bergeron, and P. Hatcher, “Large Data Visualization on Distributed Memory Multi-GPU Clusters,” Proc. Conf. High Performance Graphics, 2010.
[25] M. Snir, S. Otto, S. Huss-Lederman, D. Walker, and J. Dongarra, MPI - The Complete Reference: The MPI Core, second ed. MIT Press, 1998.
[26] D.R. Butenhof, Programming with POSIX Threads. Addison-Wesley Longman Publishing Co., Inc., 1997.
[27] R. Chandra, L. Dagum, D. Kohr, D. Maydan, J. McDonald, and R. Menon, Parallel Programming in OpenMP. Morgan Kaufmann Publishers, Inc., 2001.
[28] NVIDIA Corporation, NVIDIA ${\rm CUDA}$ Programming Guide Version 3.0, http://developer.nvidia.com/objectcuda_3_0_downloads. html , 2010.
[29] “The Top 500 Supercomputers,” http:/www.top500.org, 2009.
[30] J.K. Lawder and P.J.H. King, “Using Space-Filling Curves for Multi-Dimensional Indexing,” Proc. British Nat'l Conf. Databases: Advances in Databases, pp. 20-35, 2000.
36 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool