This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
An Architecture for Java-Based Real-Time Distributed Visualization
October-December 2003 (vol. 9 no. 4)
pp. 570-579

Abstract—In this paper, we present a Java-based software architecture for real-time visualization that utilizes a cluster of conventional PCs to generate high-quality interactive graphics. Normally, a large multiprocessor computer would be needed for interactive visualization tasks requiring more processing power than a single PC can provide. By using clusters of PCs, enormous cost savings can be realized, and proprietary “high-end” hardware is no longer necessary for these tasks. Our architecture minimizes the amount of synchronization needed between PCs, resulting in excellent scalability. It provides a modular framework that can accommodate a wide variety of rendering algorithms and data formats, provided that the rendering algorithms can generate pixels individually and the data is duplicated on each PC. Demonstration modules that implement ray tracing, fractal rendering, and volume rendering algorithms were developed to evaluate the architecture. Results are encouraging—using 15 PCs connected to a standard 100 Megabit/s Ethernet network, the system can interactively render simple to moderately complex data sets at modest resolution. Excellent scalability is achieved; however, our tests were limited to a cluster of 15 PCs. Results also demonstrate that Java is a viable platform for real-time distributed visualization.

[1] A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek,, and V. Sunderam,PVM: Parallel Virtual Machine—A Users' Guide and Tutorial for Networked Parallel Computing. The MIT Press, 1994.
[2] G. Bishop et al., "Frameless Rendering: Double Buffering Considered Harmful," Computer Graphics Proc.(Siggraph 94), ACM Press, New York, 1994, pp. 175-176.
[3] G. Bollella, B. Brosgol, P. Dibble, S. Furr, J. Gosling, D. Hardin, and M. Turnbull, The Real-Time Specification for Java. Addison-Wesley, 2000.
[4] R. Buyya, ed., High Performance Cluster Computing: Architectures and Systems, Volume 1, Prentice Hall, Old Tappan, N.J., 1999.
[5] A. Chalmers and E. Reinhard, Parallel and Distributed Photo-Realistic Rendering Proc. Course #3, SIGGRAPH 98 Conf., July 1998.
[6] An Introduction to Ray Tracing. A.S. Glassner, ed., Academic Press, 1989.
[7] C.S. Horstmann and G. Cornell, Core JAVA 2. vol. II Advanced Features, Sun Microsystems Press (Prentice-Hall), 1999.
[8] D. Kirk and J. Arvo, The Ray Tracing Kernel Proc. Ausgraph `88, July 1988.
[9] S. Lombeyda, L. Moll, M. Shand, D. Breen, and A. Heirich, Scalable Interactive Volume Rendering Using Off-the-Shelf Components Proc. IEEE Parallel and Large-Data Visualization and Graphics Symp., 2001.
[10] W.E. Lorensen and H.E. Cline, “Marching Cubes: A High Resolution 3D Surface Construction Algorithm,” Computer Graphics (SIGGRAPH '87 Proc.), vol. 21, pp. 163-169, 1987.
[11] B. Mandelbrot, The Fractal Geometry of Nature. W.H. Freeman and Company, 1988.
[12] M. Migliardi and V. Sunderam, The Harness Metacomputing Framework Proc. Ninth SIAM Conf. Parallel Processing for Scientific Computing, Mar. 1999.
[13] M.J. Muuss, RT and REMRT Shared Memory Parallel and Network Distributed Ray-Tracing Programs USENIX: Proc. Fourth Computer Graphics Workshop, Oct. 1987.
[14] M.J. Muuss, Towards Real-Time Ray-Tracing of Combinatorial Solid Geometric Models Proc. BRL-CAD Symp. '95, June 1995.
[15] T.D. Nguyen, C. Peery, and J. Zahorjan, DDDDRRaW: A Prototype Toolkit for Distributed Real-Time Rendering on Commodity Clusters Proc. Int'l Parallel and Distributed Processing Symp. (IPDPS), May 2001.
[16] P.S. Pacheco, Parallel Programming with MPI. Morgan Kaufmann, 1997.
[17] S. Parker et al., "Interactive Ray Tracing," Symp. Interactive 3D Graphics, ACM Press, New York, 1999, pp. 119-126.
[18] S. Parker, M. Parker, Y. Livnat, P.-P. Sloan, C. Hansen, and P. Shirley, Interactive Ray Tracing for Volume Visualization IEEE Trans. Visualization and Computer Graphics, vol. 5, no. 3, pp. 238-250, July-Sept. 1999.
[19] S. Parker, P. Shirley, Y. Livnat, C. Hansen, and P. Sloan, Interactive Ray Tracing for Isosurface Rendering Proc. IEEE Visualization Conf., pp. 233-238, Oct. 1998.
[20] E.J.S. Zagier, Defining and Refining Frameless Rendering Technical Report #TR97-008, Univ. of North Carolina, Apr. 1997.
[21] K. Shoemake, Arcball Rotation Control Graphics Gems IV, pp. 175-192, 1994.
[22] SoftLab Software Systems Laboratory, The Chapel Hill Volume Rendering Test Dataset vol. II, Univ. of North Carolina, Dept. of Computer Science, 2000.
[23] I. Wald, P. Slusallek, and C. Benthin, Interactive Distributed Ray Tracing of Highly Complex Models Rendering Techniques 2001/Proc. EUROGRAPHICS Rendering Workshop 2001, pp. 274-285, June 2001.
[24] I. Wald, P. Slusallek, C. Benthin, and M. Wagner, Interactive Rendering with Coherent Ray Tracing Proc. Eurographics 2001 Conf., vol. 20, no. 3, pp. 153-164, 2001.
[25] B. Wylie, C. Pavlakos, V. Lewis, and K. Moreland, Scalable Interactive Rendering on PC Clusters IEEE Computer Graphics and Applications, pp. 62-69, July/Aug. 2001.

Index Terms:
Real-time rendering, distributed computing, java, volume rendering, ray-tracing, fractals.
Citation:
Jeffrey Mahovsky, Luigi Benedicenti, "An Architecture for Java-Based Real-Time Distributed Visualization," IEEE Transactions on Visualization and Computer Graphics, vol. 9, no. 4, pp. 570-579, Oct.-Dec. 2003, doi:10.1109/TVCG.2003.1260749
Usage of this product signifies your acceptance of the Terms of Use.