Rendering and Visualization in Affordable Parallel Environments
Total Page:16
File Type:pdf, Size:1020Kb
SIGGRAPH 2000 course on ”Rendering and Visualization in Parallel Environments” Rendering and Visualization in Parallel Environments Dirk Bartz Bengt-Olaf Schneider Claudio Silva WSI/GRIS IBM T.J. Watson Research Center AT&T Labs - Research University of T¨ubingen Email: [email protected] Email: [email protected] Email: [email protected] The continuing commodization of the computer market has precipitated a qualitative change. Increasingly powerful processors, large memories, big harddisk, high-speed networks, and fast 3D rendering hardware are now affordable without a large capital outlay. A new class of computers, dubbed Personal Workstations, has joined the traditional technical workstation as a platform for 3D modeling and rendering. In this course, attendees will learn how to understand and leverage both technical and personal workstations as components of parallel rendering systems. The goal of the course is twofold: Attendees will thoroughly understand the important characteristics workstations architectures. We will present an overview of these architectures, with special emphasis on current technical and personal workstations, address- ing both single-processors as well as SMP architectures. We will also introduce important methods of programming in parallel environment with special attention how such techniques apply to developing parallel renderers. Attendees will learn about different approaches to implement parallel renderers. The course will cover parallel polygon rendering and parallel volume rendering. We will explain the underlying concepts of workload characterization, workload partitioning, and static, dynamic, and adaptive load balancing. We will then apply these concepts to characterize various parallelization strategies reported in the literature for polygon and volume rendering. We abstract from the actual implementation of these strategies and instead focus on a comparison of their benefits and drawbacks. Case studies will provide additional material to explain the use of these techniques. The course will be structured into two main sections: We will first discuss the fundamentals of parallel programming and parallel machine architectures. Topics include message passing vs. shared memory, thread programming, a review of different SMP architectures, clustering techniques, PC architectures for personal workstations, and graphics hardware architectures. The second section builds on this foundation to describe key concepts and particular algorithms for parallel polygon rendering and parallel volume rendering. For updates and additional information, see http://www.gris.uni-tuebingen.de/˜bartz/sig2000course Preliminary Course Schedule 5 min Introduction Bartz Part One: Foundations Bartz/Schneider 25 min Personal Workstations Schneider 20 min Technical Workstations Bartz 60 min Parallel Programming Bartz Part Two: Rendering Schneider/Silva 45 min Parallel Polygonal Rendering Schneider 60 min Parallel Volume Rendering Silva 5 min Questions and Answers Bartz/Schneider/Silva SIGGRAPH 2000 course on ”Rendering and Visualization in Parallel Environments” Course Speakers Dirk Bartz is currently member of the research staff of the Computer Graphics Laboratory (GRIS) at the Computer Science department of the University of T¨ubingen. His recent works covers interactive virtual medicine and thread-based visualization of large regular datasets. In 1998, he was co-chair of the ”9th Eurographics Workshop on Visualization in Scientific Computing 1998”, and he is editor of the respective Springer book. Dirk studied computer science and medicine at the University of Erlangen-Nuremberg and the SUNY at Stony Brook. He received a Diploma (M.S.) in computer science from the University of Erlangen-Nuremberg. His main research interests are in visualization of large datasets, occlusion culling, scientific visualization, parallel computing, virtual reality, and virtual medicine. Bengt-Olaf Schneider holds a degree in electrical and computer engineering from the Technical University in Darmstadt (Germany) and a doctorate from the University of T¨ubingen. After completion of his Ph.D. work he joined the IBM T.J. Watson Research Center in Yorktown Heights, first as a Postdoc and later as a Research Staff Member and Manager. He is currently a manager for 3D graphics architecture and 3D graphics software. He has also taught as an adjunct assistant professor at Columbia University in New York. Bengt has been the organizing co-chair of the 10th and 11th Eurographics Workshops on Graphics Hardware, program co-chair for the Siggraph/Eurographics Workshop on Graphics Hardware and is a member of the editorial board of Computer Graphics Forum. He has published technical papers on computer architecture and computer graphics algorithms. He also holds several patents in those areas. His research interests include computer architectures for multimedia, parallel graphics algorithms and rendering algorithms for high-performance graphics. Claudio Silva is a Senior Member of Technical Staff in the Information Visualization Research Department at AT&T Research. Before joining AT&T, Claudio was a Research Staff Member at IBM T. J. Watson Research Center, where he worked on geometry compression, 3D scanning, visibility culling and polyhedral cell sorting for volume rendering. Claudio got his Ph.D. in computer science at the State University of New York at Stony Brook in 1996. While a student, and later as an NSF Postdoc, he worked at Sandia National Labs, where he developed large-scale scientific visualization algorithms and tools for handling massive datasets. His main research interests are in graphics, visualization, applied computational geometry, and high-performance computing. Content I Course Notes A. Foundations A.1 Personal Workstations Schneider A.2 Technical Workstations Bartz A.3 Parallel Programming Bartz B. Rendering B.1 Parallel Polygonal Rendering Schneider B.1 Parallel Volume Rendering Silva C Bibliography II Slides S1. Introduction Bartz S2. Personal Workstations Schneider S3. Technical Workstations Bartz S4. Parallel Programming Bartz S5. Parallel Polygonal Rendering Schneider S6. Parallel Volume Rendering Silva III Re-Prints The PVR System Silva 2 SIGGRAPH 2000 course on ”Rendering and Visualization in Parallel Environments” Part I Foundations 1 Personal Workstations 1.1 Introduction The advent of powerful processors and robust operating systems for PCs has sparked the creation of a new type of compute platform, the Personal Workstation (PWS). Several vendors, including Compaq, HP, and IBM, sell systems that are targeted at market segments and applications that till only a few years ago were almost exclusively the domain of UNIX-based technical workstations [103]. Such applications include mechanical and electrical CAD, engineering simulation and analysis, financial analysis, and digital content creation (DCC). PWSs are rapidly adopting many features from UNIX workstations, such as high- performance subsystems for graphics, memory, and storage, as well as support for fast and reliable networking. This development creates the opportunity to leverage the lower cost of PWSs to attack problems that were traditionally in the domain of high-end workstations and supercomputers. We will start with an overview of the state of the technology in PWSs and their utility for building parallel rendering systems. Then we will discuss how to improve parallel rendering performance by enhancing PWS subsystems like disks or network connections like disks or 1.2 Personal Workstations 1.3 Architecture In accordance with the intended application set, PWSs constitute the high-end of the PC system space. Figure 1 shows the archi- tecture of a typical Personal Workstation. Graphics CPU 0 L2$ AGP CPU (Frontside) Bus Chipset Memory PCI CPU 1 L2$ Peripherals Figure 1: Architecture of a PWS. The system contains one or two Pentium II processors, large L2 caches (up to 512 kBytes) and main memory (32 MBytes up to several GBytes). If configured with multiple CPUs, the system acts as a symmetric multiprocessor (SMP) with shared memory. As is well known, shared memory architectures have only limited scalability due to finite access bandwidth to memory. Current PWSs only support dual-processor configurations. The chipset connects the main processor(s) with other essential subsystems, including memory and peripherals. Among the tech- niques employed to improve the bandwidth for memory accesses are parallel paths into memory [2] and faster memory technolo- gies, e.g. Synchronous DRAM (SDRAM) [62]. Intel has announced that its next generation processor will use Rambus (RDRAM) technology to increase the available memory bandwidth. The graphics adapter is given a special role among the peripherals due to the high bandwidth demands created by 3D graphics. The Accelerated Graphics Port (AGP) [3] provides a high-bandwidth path from the graphics adapter into main memory. The AGP extends the basic PCI bus protocol with higher clock rate and special transfer modes that are aimed at supporting the storage of textures and possibly z-buffers in main memory, thus reducing the requirements for dedicated graphics memory. 3 SIGGRAPH 2000 course on ”Rendering and Visualization in Parallel Environments” Integer performance: 650 MIPS Floating point performance: 250 MFLOPS Memory bandwidth: 150 MBytes/sec Disk bandwidth: 13 MBytes/sec Table 1: Approximate peak performance data for a Personal Workstation. Token Ring 16 Mbit/sec: 14-15 Mbit/sec Ethernet 10 Mbit/sec: 7-8 Mbit/sec Ethernet