Abstract
We present a framework that uses data dependency information to automate load balanced volume distribution and ray-task scheduling for parallel visualization of massive volumes. This dependency graph approach improves load balancing for both ray casting and ray tracing. The main bottlenecks in distributed volume rendering involve moving data across the network and loading memory into rendering hardware. Our load balancing solution combines static network distribution with dynamic ray-task scheduling. At the core of the dependency graph approach are the flex-block tree, introduced in this paper, and the cell-tree. The flex-block tree is similar to a kd-tree except that leaf nodes are cells containing a combination of empty space and tightly cropped subvolumes, or flex-blocks. A main contribution of this paper is the moving walls algorithm, which uses dynamic programming to create a flex-block partition. We show results for optimizing distributed ray cast rendering using a time cost function. We compare data distribution using the moving walls algorithm, with distribution using a recursive solution, and with a grid combined with a local kd-tree partition on each render-node.
Similar content being viewed by others
References
Bentley, J.: Multidimensional binary search trees used for associative searching. Commun. ACM 18(9), 509–517 (1975)
Chalmers, A.: Practical Parallel Rendering. A K Peters (2002)
Cohen, D.: Voxel traversal along a 3D line. In: Heckbert, P. (ed.) Graphics Gems IV, pp. 366–369 (1994)
Dachille, F., Kaufman, A.: GI-Cube: An architecture for volumetric global illumination and rendering. In: SIGGRAPH/Eurographics Workshop on Graphics Hardware, pp. 119–128 (August 2000)
DeMarle, D.E., Parker, S.G., Hartner, M., Gribble, C., Hansen, C.D.: Distributed interactive ray tracing for large volume visualization. In: IEEE Symposium on Parallel Visualization and Graphics, pp. 87–94 (2003)
Falby, J., Zyda, M., Pratt, D., Mackey, R.: NPSNET: Hierarchical data structures for real-time three-dimensional visual simulation. IEEE Comput. Graph. Appl. 17(1), 65–69 (1993)
Frank, S., Kaufman, A.: Dependency graph scheduling in a volumetric ray tracing architecture. In: SIGGRAPH/Eurographics Workshop on Graphics Hardware, pp. 127–135 (2002)
Frank, S., Kaufman, A.: Distributed volume rendering on a visualization cluster. In: CAD/Graphics, pp. 371–376 (2005)
Frank, S., Kaufman, A.: Distributed volume rendering on a visualization cluster. Technical Report (2008)
Garey, M., Johnson, D.: Computers and Intractability: A Guide to the Theory of NP-Completeness. Series of Books in the Mathematical Sciences. W.H. Freeman, San Francisco (1979)
Ghosh, A., Prabhu, P., Kaufman, A., Mueller, K.: Hardware assisted multichannel volume rendering. In: Computer Graphics International, pp. 2–7 (2003)
Glassner, A.: Space subdivision for fast ray tracing. IEEE Comput. Graph. Appl. 4(10), 15–22 (1984)
Glassner, A.S.: Principles of Digital Image Synthesis, vol. 2. Morgan Kaufmann Series in Computer Graphics and Geometric Modeling. Kaufmann, Los Altos (1995)
Havran, V.: Heuristic ray shooting algorithms. Ph.D. thesis, Czech Technical University (2000)
Heirich, A.: Optimal automatic multi-pass shader partitioning by dynamic programming. In: SIGGRAPH/Eurographics Workshop on Graphics Hardware, pp. 91–98 (2005)
Levoy, M.: Efficient ray tracing of volume data. ACM Trans. Graph. 9(3), 245–261 (1990)
Li, W., Mueller, K., Kaufman, A.: Empty space skipping and occlusion clipping for texture-based volume rendering. In: IEEE Visualization, pp. 317–324 (2003)
Lombeyda, S., Moll, L., Shand, M., Breen, D., Heirich, A.: Scalable interactive volume rendering using off-the-shelf components. In: Symposium on Parallel Visualization and Graphics, pp. 115–121 (2001)
Ma, K., Painter, J.: Parallel volume visualization on workstations. IEEE Comput. Graph. Appl. 17, 31–37 (1993)
Ma, K., Parker, S.: Massively parallel software rendering for visualizing large-scale data sets. IEEE Comput. Graph. Appl. 21(4), 72–83 (2001)
Moll, L., Heirich, A., Shand, M.: Sepia: scalable 3D compositing using PCI pamette. In: IEEE Symposium on Field Programmable Custom Computing Machines, pp. 146–155 (1999)
Molnar, S., Eyles, J., Poulton, J.: PixelFlow: High-speed rendering using image composition. Comput. Graph. 26(2), 231–240 (1992)
Moloney, B., Weiskopf, D., Möller, T., Strengert, M.: Scalable sort-first parallel direct volume rendering with dynamic load balancing. In: Eurographics Symposium on Parallel Graphics and Visualization, pp. 45–52 (2007)
Muraki, S., Lum, E., Ma, K., Ogata, M., Liu, X.: A PC cluster system for simultaneous interactive volume modeling and visualization. In: IEEE Symposium on Parallel and Large-Data Visualization and Graphics, pp. 95–102 (2003)
Nishimura, H., Endo, T., Maruyama, T., Saito, J., Christensen, P.H.: Parallel rendering and the quest for realism: The KILAUEA massively parallel ray tracer. In: SIGGRAPH Course Notes, pp. 1–59 (2001)
Park, J., Chung, J., Hwang, S., Shin, B., Park, H.: Visible Korean Human: Its techniques and applications. Clin. Anat. 19, 216–224 (2006)
Parker, S., Shirley, P., Livnat, Y., Hansen, C., Sloan, P.P.: Interactive ray tracing for isosurface rendering. In: IEEE Visualization, pp. 233–238 (1998)
Pharr, M., Kolb, C., Gershbein, R., Hanrahan, P.: Rendering complex scenes with memory-coherent ray tracing. ACM SIGGRAPH Comput. Graph. 31, 101–108 (1997)
Reinhard, E., Chalmers, A., Jansen, F.: Hybrid scheduling for parallel rendering using coherent ray tasks. In: IEEE Parallel Visualization and Graphics Symposium, pp. 21–28 (1999)
Rubin, S.M., Whitted, J.T.: A 3-dimensional representation for fast rendering of complex scenes. Comput. Graph. 14, 110–116 (1980)
Spitzer, V.M., Ackerman, M., Sherzinger, A., Whitlock, D.: The Visible Human Male: A Technical Report. J. Am. Med. Inf. Assoc., 118–130 (1996)
Wald, I., Ize, T., Kensler, A., Knoll, A., Parker, S.: Ray tracing animated scenes using coherent grid traversal. ACM Trans. Graph. 25(3), 485–493 (2006)
Woop, S., Marmitt, G., Slusallek, P.: B-kd trees for hardware accelerated ray tracing of dynamic scenes. In: SIGGRAPH/Eurographics Workshop on Graphics Hardware, pp. 67–77 (2006)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Frank, S., Kaufman, A. Dependency graph approach to load balancing distributed volume visualization. Vis Comput 25, 325–337 (2009). https://doi.org/10.1007/s00371-008-0295-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-008-0295-z