This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Equalizer: A Scalable Parallel Rendering Framework
May/June 2009 (vol. 15 no. 3)
pp. 436-452
Stefan Eilemann, Eyescale Software, Neuchatel and University of Zurich, Zurich
Maxim Makhinya, University of Zurich, Zurich
Renato Pajarola, University of Zurich, Zurich
Continuing improvements in CPU and GPU performances as well as increasing multi-core processor and cluster-based parallelism demand for flexible and scalable parallel rendering solutions that can exploit multipipe hardware accelerated graphics. In fact, to achieve interactive visualization, scalable rendering systems are essential to cope with the rapid growth of data sets. However, parallel rendering systems are non-trivial to develop and often only application specific implementations have been proposed. The task of developing a scalable parallel rendering framework is even more difficult if it should be generic to support various types of data and visualization applications, and at the same time work efficiently on a cluster with distributed graphics cards. In this paper we introduce a novel system called Equalizer, a toolkit for scalable parallel rendering based on OpenGL which provides an application programming interface (API) to develop scalable graphics applications for a wide range of systems ranging from large distributed visualization clusters and multi-processor multipipe graphics systems to single-processor single-pipe desktop machines. We describe the system architecture, the basic API, discuss its advantadges over previous approaches, present example configurations and usage scenarios as well as scalability results.

[1] SGI, “OpenGL Multipipe SDK,” http://www.sgi.com/products/software/multipipe sdk/, Technical Publication 007-4516-002, 2002.
[2] G. Agranov and C. Gotsman, “Algorithms for Rendering Realistic Terrain Image Sequences and Their Parallel Implementation,” The Visual Computer, vol. 11, no. 9, pp. 455-464, 1995.
[3] J. Ahrens and J. Painter, “Efficient Sort-Last Rendering Using Compression-Based Image Compositing,” Proc. Eurographics Workshop Parallel Graphics and Visualization (EGWPGV), 1998.
[4] J. Allard, V. Gouranton, L. Lecointre, E. Melin, and B. Raffin, “Netjuggler: Running VR Juggler with Multiple Displays on a Commodity Component Cluster,” Proc. IEEE Virtual Reality Conf. (VR '02), pp. 275-276, 2002.
[5] W.E. Bethel, G. Humphreys, B. Paul, and J.D. Brederson, “Sort-First, Distributed Memory Parallel Visualization and Rendering,” Proc. IEEE Symp. Parallel and Large-Data Visualization and Graphics (PVG '03), pp. 41-50, 2003.
[6] P. Bhaniramka, P.C.D. Robert, and S. Eilemann, “OpenGL Multipipe SDK: A Toolkit for Scalable Parallel Rendering,” Proc. IEEE Visualization (VIS '05), pp. 119-126, 2005.
[7] A. Bierbaum and C. Cruz-Neira, “ClusterJuggler: A Modular Architecture for Immersive Clustering,” Proc. Workshop Commodity Clusters for Virtual Reality, IEEE Virtual Reality Conf., 2003.
[8] A. Bierbaum, C. Just, P. Hartling, K. Meinert, A. Baker, and C. Cruz-Neira, “VR Juggler: A Virtual Platform for Virtual Reality Application Development,” Proc. IEEE Virtual Reality Conf. (VR '01), pp. 89-96, 2001.
[9] W. Blanke, C. Bajaj, D. Fussel, and X. Zhang, “The Metabuffer: A Scalable Multi-Resolution 3-D Graphics System Using Commodity Rendering Engines,” Technical Report TR2000-16, Univ. of Texas at Austin, 2000.
[10] X. Cavin and C. Mion, “Pipelined Sort-Last Rendering: Scalability, Performance and Beyond,” Proc. Eurographics Symp. Parallel Graphics and Visualization (EGPGV), 2006.
[11] X. Cavin, C. Mion, and A. Filbois, “COTS Cluster-Based Sort-Last Rendering: Performance Evaluation and Pipelined Implementation,” Proc. IEEE Visualization (VIS '05), pp. 111-118, 2005.
[12] W.T. Correa, J.T. Klosowski, and C.T. Silva, “Out-of-Core Sort-First Parallel Rendering for Cluster-Based Tiled Displays,” Proc. Eurographics Workshop Parallel Graphics and Visualization (EGWPGV'02), pp. 89-96, 2002.
[13] T.W. Crockett, “An Introduction to Parallel Rendering,” Parallel Computing, vol. 23, pp. 819-843, 1997.
[14] S. Eilemann, “Equalizer Programming Guide,” Technical Report IFI-2007.11, Dept. of Informatics, Univ. of Zurich, 2007.
[15] S. Eilemann and R. Pajarola, “Direct Send Compositing for Parallel Sort-Last Rendering,” Proc. Eurographics Symp. Parallel Graphics and Visualization (EGPGV), 2007.
[16] K. Engel, M. Kraus, and T. Ertl, “High-Quality Pre-Integrated Volume Rendering Using Hardware-Accelerated Pixel Shading,” Proc. ACM SIGGRAPH/Eurographics Workshop Graphics Hardware (GH'01), pp. 9-16, 2001.
[17] J. Eyles, S. Molnar, J. Poulton, T. Greer, A. Lastra, N. England, and L. Westover, “PixelFlow: The Realization,” Proc. ACM SIGGRAPH/Eurographics Workshop Graphics Hardware (GH '97), pp. 57-68, 1997.
[18] A. Garcia and H.-W. Shen, “An Interleaved Parallel Volume Renderer with PC-Clusters,” Proc. Eurographics Workshop Parallel Graphics and Visualization (EGWPGV '02), pp. 51-60, 2002.
[19] E. Gobbetti and F. Marton, “Layered Point Clouds: A Simple and Efficient Multiresolution Structure for Distributing and Rendering Gigantic Point-Sampled Models,” Computers and Graphics, vol. 28, no. 1, pp. 815-826, Feb. 2004.
[20] M. Guthe, P. Borodin, Ä. Balazs, and R. Klein, “Real-Time Appearance Preserving Out-of-Core Rendering with Shadows,” Proc. Eurographics Workshop Rendering Techniques, pp. 69-80, 2004.
[21] S. Guthe, M. Wand, J. Gonser, and W. Strasser, “Interactive Rendering of Large Volume Data Sets,” Proc. IEEE Visualization (VIS '02), pp. 53-60, 2002.
[22] M. Houston, Raptor, http://graphics.stanford.edu/projectsraptor /, 2005.
[23] J. Huang, N. Shareef, R. Crawfis, P. Sadayappan, and K. Mueller, “A Parallel Splatting Algorithm with Occlusion Culling,” Proc. Eurographics Workshop Parallel Graphics and Visualization (EGWPGV), 2000.
[24] G. Humphreys, I. Buck, M. Eldridge, and P. Hanrahan, “Distributed Rendering for Scalable Displays,” Proc. IEEE Supercomputing, Oct. 2000.
[25] G. Humphreys, M. Eldridge, I. Buck, G. Stoll, M. Everett, and P. Hanrahan, “WireGL: A Scalable Graphics System for Clusters,” Proc. ACM SIGGRAPH '01, pp. 129-140, 2001.
[26] G. Humphreys and P. Hanrahan, “A Distributed Graphics System for Large Tiled Displays,” Proc. IEEE Visualization (VIS'99), pp. 215-224, Oct. 1999.
[27] G. Humphreys, M. Houston, R. Ng, R. Frank, S. Ahern, P.D. Kirchner, and J.T. Klosowski, “Chromium: A Stream-Processing Framework for Interactive Rendering on Clusters,” ACM Trans. Graphics, vol. 21, no. 3, pp. 693-702, 2002.
[28] H. Igehy, G. Stoll, and P. Hanrahan, “The Design of a Parallel Graphics Interface,” Proc. ACM SIGGRAPH '98, pp. 141-150, July 1998.
[29] A. Johnson, J. Leigh, P. Morin, and P. Van Keken, “GeoWall: Stereoscopic Visualization for Geoscience Research and Education,” IEEE Computer Graphics and Applications, vol. 26, no. 6, pp. 10-14, Nov./Dec. 2006.
[30] K. Jones, C. Danzer, J. Byrnes, K. Jacobson, P. Bouchaud, D. Courvoisier, S. Eilemann, and P. Robert, “SGI OpenGL Multipipe SDK User's Guide,” Technical Report 007-4239-004, Silicon Graphics, 2004.
[31] C. Just, A. Bierbaum, A. Baker, and C. Cruz-Neira, “VR Juggler: A Framework for Virtual Reality Development,” Proc. Immersive Projection Technology Workshop (IPT), 1998.
[32] P.G. Lever, SEPIA—Applicability to MVC, white paper, Manchester Visualization Centre (MVC), Univ. of Manchester, 2004.
[33] P. Li, W.H. Duquette, and D.W. Curkendall, “RIVA: A Versatile Parallel Rendering System for Interactive Scientific Visualization,” IEEE Trans. Visualization and Computer Graphics, vol. 2, no. 3, pp.186-201, Sept. 1996.
[34] P.P. Li, S. Whitman, R. Mendoza, and J. Tsiao, “ParVox: A Parallel Splatting Volume Rendering System for Distributed Visualization,” Proc. IEEE Parallel Rendering Symp. (PRS '97), pp. 7-14, 1997.
[35] S. Lombeyda, L. Moll, M. Shand, D. Breen, and A. Heirich, “Scalable Interactive Volume Rendering Using Off-the-Shelf Components,” Technical Report CACR-2001-189, California Inst. of Tech nology, 2001.
[36] S. Lombeyda, L. Moll, M. Shand, D. Breen, and A. Heirich, “Scalable Interactive Volume Rendering Using Off-the-Shelf Components,” Proc. IEEE Symp. Parallel and Large-Data Visualization and Graphics (PVG '01), pp. 115-121, 2001.
[37] M. Meissner, U. Hoffmann, and W. Strasser, “Enabling Classification and Shading for 3D Texture Mapping Based Volume Rendering Using OpenGL and Extensions,” Proc. IEEE Visualization (VIS '99), pp. 207-214, 1999.
[38] L. Moll, A. Heirich, and M. Shand, “Sepia: Scalable 3D Compositing Using PCI Pamette,” Proc. Seventh IEEE Symp. Field-Programmable Custom Computing Machines (FCCM '99), pp.146-155, 1999.
[39] S. Molnar, M. Cox, D. Ellsworth, and H. Fuchs, “A Sorting Classification of Parallel Rendering,” IEEE Computer Graphics and Applications, vol. 14, no. 4, pp. 23-32, 1994.
[40] S. Molnar, J. Eyles, and J. Poulton, “PixelFlow: High-Speed Rendering Using Image Composition,” Proc. ACM SIGGRAPH'92, pp.231-240, 1992.
[41] C. Mueller, “The Sort-Frst Rendering Architecture for High-Performance Graphics,” Proc. Symp. Interactive 3D Graphics (I3D), ACM SIGGRAPH '95, pp. 75-84, 1995.
[42] C. Mueller, “Hierarchical Graphics Databases in Sort-First,” Proc. IEEE Parallel Rendering Symp. (PRS '97), p. 49, 1997.
[43] S. Muraki, M. Ogata, K.-L. Ma, K. Koshizuka, K. Kajihara, X. Liu, Y. Nagano, and K. Shimokawa, “Next-Generation Visual Supercomputing Using PC Clusters with Volume Graphics Hardware Devices,” Proc. ACM/IEEE Conf. Supercomputing (SC '01), p. 51, 2001.
[44] W. Nie, J. Sun, J. Jin, X. Li, J. Yang, and J. Zhang, “A Dynamic Parallel Volume Rendering Computation Mode Based on Cluster,” Proc. Int'l Conf. Computational Science and Its Applications (ICCSA '05), vol. 3482, pp. 416-425, 2005.
[45] K. Niski and J.D. Cohen, “Tile-Based Level of Detail for the Parallel Age,” IEEE Trans. Visualization and Computer Graphics, vol. 13, no. 6, pp. 1352-1359, Nov./Dec. 2007.
[46] J. Rohlf and J. Helman, “IRIS Performer: A High Performance Multiprocessing Toolkit for Real-Time 3D Graphics,” Proc. ACM SIGGRAPH '94, pp. 381-394, 1994.
[47] R. Samanta, T. Funkhouser, and K. Li, “Parallel Rendering with K-Way Replication,” Proc. IEEE Symp. Parallel and Large-Data Visualization and Graphics (PVG '01), 2001.
[48] R. Samanta, T. Funkhouser, K. Li, and J.P. Singh, “Hybrid Sort-First and Sort-Last Parallel Rendering with a Cluster of PCs,” Proc. Eurographics Workshop Graphics Hardware, pp. 97-108, 2000.
[49] R. Samanta, J. Zheng, T. Funkhouser, K. Li, and J.P. Singh, “Load Balancing for Multi-Projector Rendering Systems,” Proc. Eurographics Workshop Graphics Hardware, pp. 107-116, 1999.
[50] J.P. Schulze and U. Lang, “The Parallelization of the Perspective Shear-Warp Volume Rendering Algorithm,” Proc. Eurographics Workshop Parallel Graphics and Visualization (EGWPGV '02), pp.61-70, 2002.
[51] O.G. Staadt, J. Walker, C. Nuber, and B. Hamann, “A Survey and Performance Analysis of Software Platforms for Interactive Cluster-Based Multi-Screen Rendering,” Proc. Eurographics Workshop Virtual Environments, pp. 261-270, 2003.
[52] G. Stoll, M. Eldridge, D. Patterson, A. Webb, S. Berman, R. Levy, C. Caywood, M. Taveira, S. Hunt, and P. Hanrahan, “Lightning-2: A High-Performance Display Subsystem for PC Clusters,” Proc. ACM SIGGRAPH '01, pp. 141-148, 2001.
[53] A. Stompel, K.-L. Ma, E.B. Lum, J. Ahrens, and J. Patchett, “SLIC: Scheduled Linear Image Compositing for Parallel Volume Rendering,” Proc. IEEE Symp. Parallel and Large-Data Visualization and Graphics (PVG '03), pp. 33-40, 2003.
[54] X. Tong, W. Wang, W. Tsang, and Z. Tang, “Efficiently Rendering Large Volume Data Using Texture Mapping Hardware,” Proc. Joint Eurographics-IEEE TCVG Symp. Visualization (VisSym), 1999.
[55] G. Vezina and P.K. Robertson, “Terrain Perspectives on a Massively Parallel SIMD Computer,” Proc. Computer Graphics Int'l (CGI '91), pp. 163-188, 1991.
[56] C.M. Wittenbrink, “Survey of Parallel Volume Rendering Algorithms,” Proc. Int'l Conf. Parallel and Distributed Processing Techniques and Applications (PDPTA '98), pp. 1329-1336, 1998.
[57] D.-L. Yang, J.-C. Yu, and Y.-C. Chung, “Efficient Compositing Methods for the Sort-Last-Sparse Parallel Volume Rendering System on Distributed Memory Multicomputers,” J. Supercomputing, vol. 18, no. 2, pp. 201-220, Feb. 2001.
[58] S.-E. Yoon, B. Salomon, R. Gayle, and D. Manocha, “Quick-VDR: Out-of-Core View-Dependent Rendering of Gigantic Models,” IEEE Trans. Visualization and Computer Graphics, vol. 11, no. 4, pp.369-382, July/Aug. 2005.
[59] X. Zhang, C. Bajaj, and W. Blanke, “Scalable Isosurface Visualization of Massive Datasets on COTS Clusters,” Proc. IEEE Symp. Parallel and Large-Data Visualization and Graphics (PVG '01), pp. 51-58, 2001.

Index Terms:
Parallel Rendering, Scalable Visualization, Cluster Graphics, Display Wall
Citation:
Stefan Eilemann, Maxim Makhinya, Renato Pajarola, "Equalizer: A Scalable Parallel Rendering Framework," IEEE Transactions on Visualization and Computer Graphics, vol. 15, no. 3, pp. 436-452, May-June 2009, doi:10.1109/TVCG.2008.104
Usage of this product signifies your acceptance of the Terms of Use.