Abstract
This paper describes the design and implementation of Mistral-3, a parallel solid odeller for distributed-memory multicomputers implementing algorithms for creating, ray tracing and incrementally updating octree-based spatial data structures. The system has been designed to be scalable and portable. Scalability is addressed by distributing the control of task and data management between all available processors and portability's solved by building software for the abstraction of a distributed-memory multicomputer. An object-oriented approach to the design is adopted to help produce a structured system. Results are presented showing Mistral-3 has made good use of up to 128 T800 transputers. It has been ported to transputer-and non-transputer-based multicomputers.
Similar content being viewed by others
References
Alverson R, Callahan D, Cummings D, Koblenz B, Porterfield A, Smith B (1990) The Tera computer system. ACM Siggarch 1-6
Amdahl GM (1967) Validity of the single processor approach to achieving large scale computing capabilities. AFIPS 30:483–485
Arvo J, Kirk D (1989) A survey of ray tracing acceleration techniques. In: Glassner AS (ed) An introduction to ray tracing Academic Press, New York London
Athas WC, Seitz CL (1988) Multicomputers: message-passing concurrent computers. IEEE Comput 21 (8):9–24
Barton E (1987) Data concurrency and the computing surface. Meiko
Bisiani R, Nowatzyk A, Ravishankar M (1988) Coherent shared memory on a message passing machine. Technical report CMU-CS-88-204, Carnegie Mellon School of Computer Science
Bomans L, Roose D (1989) Benchmarking the iPSC/2 hypercube multiprocessor. Concurrency 1(1):3–18
Boothe B (1989) Multiprocessor strategies for ray-tracing. Technical report UCB/CSD 89/534, Computer Science Division, Department of Electrical Engineering and Computer Sciences, University of California Berkeley
Borkar S, Cohn R, Cox G, Gleason S, Gross T, Kung HT, Lam M, Moore B, Peterson C, Pieper J, Rankin L, Tseng PS, Sutton J, Urbanski J, Webb J (1988) iWarp: an integrated solution to high-speed parallel computing. In Supercomputing '88, Kissimme, Florida
Bouatouch K, Priol T (1988) Parallel space tracing: an experience on an iPSC hypercube. In: Magnenat-Thalmann N, Thalmann D (eds) New trends in computer graphics. Springer Verlag Berlin Heidelberg New York
Caspary E, Scherson ID (1989) A self balanced parallel ray tracing algorithm. In: Parallel processing for computer vision and display. Reading, Mass, pp 408–419
Clarke LJ (1989) Tiny: user guide. Technical report ECSP-UG-9, Edinburgh Concurrent Supercomputer Project
Cleary JG, Wyvil BM, Birtwistle GM, Vatti R (1986) Multiprocessor ray tracing. Comput Graph Forum 5:3–12
Davy JR, Dew PM, Holliman NS, Mallon DP, De Pennington A, Towards a software architecture for solid modelling on processor networks. Proc Tech Meet Occam User Group 11
Demos G (1990) Issues in applying massively parallel computing power. Int J Supercomput Appl 4(4):90–105
Dew PM, Fernando LTP, Holliman NS, Lawler M, Malhi R, Parkin D (1990) Illuminating chapters in history: computer aided visualisation for archaeological reconstruction. World Archaeol Cong 2:20–27
Dew PM, Holliman NS, Morris DT, de Pennington A (1988) Techniques for rendering solid objects on a processor farm. Proc Tech Meet Occam User Group 9
Dippe, M, Swensen J (1984) An adaptive subdivision algorithm and parallel architecture for realistic image synthesis. ACM Comput Graph 18(3):149–158
Fernando T, Dew PM, Smith GL, Babbs T (1989) Enhancing the performance of 3D interactive electronic assembly design systems. In: Freeman L, Phillips C (eds) Applications of transputers 1
Fox GC (1989) Parallel computing comes of age: supercomputer level parallel computations at Caltech. Concurrency 1(1):63–104
Glassner AS (1984) Space subdivision for ray tracing. IEEE Comput Graph Appl 4(10):15–22
Goldsmith J, Salmon J (1985) A ray tracing system for the hypercube. Technical report Memorandum HM 154. Caltech Concurrent Computer Project, California Institute of Technology Pasadena
Green SA (1989) Multiprocessor systems for realistic image synthesis. Thesis, Department of Computer Studies, University of Bristol
Green SA, Paddon DJ (1989) Exploiting coherence for multiprocessor ray tracing. IEEE Comput Graph Appl 9(6):12–26
Green SA, Paddon DJ, Lewis E (1989) A parallel algorithm and tree-based computer architecture for ray traced computer graphics. In: Parallel processing for computer vision and display Addison-Wesley, Reading Mass, pp 431–442
Gustafson JL, Montry GR, Benner RE (1988) Development of parallel methods for a 1024-processor hypercube. SIAM J Sci Stat Comput 9(4):609–638
Hennessy JL, Patterson DL (1990) Computer architecture: a quantitative approach. Morgan Kaufmann
Holliman NS (1990) Visualising solid models: an exercise in parallel programming. Thesis, University of Leeds, School of Computer Studies and Department of Mechanical Engineering
Holliman NS, Morris DT, Dew PM, de Pennington A (1989) An evaluation of the processor farm for visualising constructive solid geometry. In: Parallel processing for computer vision and display. Addison-Wesley Reading, Mass, pp. 443–451
James DV, Laundrie AT, Gjessing S, Sohi GS (1990) Scalable coherent interface. IEEE Comput 74-77
Jevans DAJ (1989) Optimistic multiprocessor ray tracing. In: Earnshaw RA, Wyvill B (eds) New advances in computer graphics. pp 507–521
Kobayashi H, Nakamura T, Shigei Y (1987) Parallel processing of object space for image synthesis using ray tracing. The Visual Computer 3:13–22
Kobayashi H, Nakamura S, Kubota H, Nakamura T, Shigei Y (1988a) Load balancing strategies for a parallel ray tracing system based on constant subdivision. The Visual Computer 4:197–209
Kobayashi H, Nakamura T, Shigei Y (1988b) A strategy for mapping parallel ray tracing into a hypercube multiprocessor system. In: Magnenat-Thalmann N, Thalmann D (eds) New trends in computer graphics. Springer Verlag, Berlin Heidelberg New York
Kung HT (1989) Network-based multicomputers: redefining high performance computing in the 1990s. Proc Decennial Caltech Conf VLSI
Latham W (1990) A sequence from the evolution of form. Comput Graph 24(4):438
Lenoski D, Laudon J, Gharachorloo K, Gupta A, Hennessy J, Horowitz M, Lam M (1989) Design of the Stanford DASH multiprocessor. Technical report CSL-TR-89-403, Stanford University
Lindsay DC (1988) Towards a shared memory hypercube. Technical report CMU-CS-88-190, Carnegie Mellon School of Computer Science
May D (1989) Toward general purpose parallel computers. MIT Press, Cambridge
Muuss MJ (1987) RT and REMRT: shared memory parallel and network distributed ray tracing programs. Proc USEN-IX Assoc Comput Graph Workshop 4:86–97
Nemoto K, Omachi T (1986) An adaptive subdivision by sliding boundary surfaces. Graphics Interface 43–48
Nishimura H, Ohno H, Kawata T, Shirakawa I, Omura K (1983) Links-1: a parallel pipelined multi-microcomputer system for image creation. ACM Siggarch 387-394
Packer J (1989) Exploiting concurrency: a ray tracing example. In: The trasputer application notebook. Inmos, pp 144–152
Potmesil M, McMilan L, Hoffert EM, Inman JF, Farah RL, Howard M (1989) A parallel image computer with a distributed frame buffer: system architecture and programming. In: Eurographics 89. North Holland, Hamburg
Pountain D (1990) Virtual channels: the next generation of transputers Byte 15(4):3–12
Priol T, Bouatouch K (1989) Static load balancing for a parallel ray tracing on a MIMD hypercube. The Visual Computer 5:109–119
Priot D, Radcliffe N, Norman M, Clarke L (1990) What price regularity? Concurrency: Practice and Experience 2(1):55–78
Purgathofer W, Zeiller M (1989) Configuring transputers for ray tracing. Technische Universität Wien, Institut für Praktische Informatik, Vienna
Reilly P (1989) Data visualization in archaeology. IBM Sys J 28(4):569–579
Requicha AAG (1980) Representations for rigid solids: theory, methods and systems. ACM Comput Surv 12(4):437–464
Rogers DF (1985) Procedural elements for computer graphics. McGraw-Hill, New York
Roth SD (1982) Ray casting for modelling solids. Compt Graph Image Proc 18(2):109–144
Steenkiste P (1988) Nectarine — a Nectar interface. Technical report, CMU, Department of Computer Science
Tilove RB, Requicha AAG, Hopkins MR (1984) Efficient editing of solid models by exploiting structural and spatial locality. Computer Aided Geometric Design 1(3):227–239
Ullner MK (1983) Parallel machines for computer graphics. Thesis, California Institute of Technology, Pasadena
Whitted JT (1980) An improved illumination model for shaded display. Comm ACM 23(6):343–349
Wyvill G, Kunii TL, Shiral Y (1986) Space division for ray tracing CSG. IEEE Comput Graph Appl 6(4):28–34
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Holliman, N.S., Wang, C.M. & Dew, P.M. Mistral-3: Parallel solid modelling. The Visual Computer 9, 356–370 (1993). https://doi.org/10.1007/BF01901686
Issue Date:
DOI: https://doi.org/10.1007/BF01901686