Distributed Simulation with Cellular Automata: Architecture and Applications P. M. A. Sloot, J. A. Kaandorp, A. G. Hoekstra, and B. J. Overeinder Faculty of Sciences, University of Amsterdam Section Computational Science Kruislaan 403, 1098 SJ Amsterdam, The Netherlands {sloot,jaapk,alfons,bjo}@wins.uva.nl www.wins.uva.nl/research/scs/ 1 Introduction Many fundamental problems from natural sciences deal with complex systems. We define a complex system as a population of unique elements with well defined microscopic attributes and interactions, showing emerging macroscopic behav- ior. This emergent behavior can, in general, not be predicted from the individual elements and their interactions. A typical example of emergent behavior is self- organization, e.g. Turing patterns in reaction-diffusion systems. Complex sys- tems are often irreducible 1 and can not be solved in an analytical way. The only available option to obtain more insight into these systems is through explicit sim- ulation. Many of these problems are intractable: in order to obtain the required macroscopic information, extensive and computationally expensive simulation is necessary. Since simulation models of complex systems require an enormous computational effort, the only feasible way is to apply massively parallel compu- tation. A major challenge is to apply High Performance Computing in research on complex systems and, in addition, to offer a parallel computing environment that is easily accessible for applications [62,63]. Traditionally, science has studied the properties of large systems composed of basic entities that obey simple microscopic equations reflecting the fundamental laws of nature. These natural systems may be studied by computer simulations in a variety of ways. Generally, the first step in any computer simulation is to develop some continuous mathematical model that is subsequently discretized for implementation on a computer. An alternative, less widely used approach is to develop solvers that conserve the characteristic intrinsic parallel properties of the applications and that allow for optimal mapping to a massively parallel computing system. These solvers have the properties that they map the paral- lelism in the application via a simple transformation to the parallelism in the machine. With these transformations the necessity to express the application into complex mathematical formulations becomes obsolete. One example is the modeling of a fluid flow. Traditionally this problem is sim- ulated through mathematical description of the phenomenon via Navier-Stokes 1 Irreducible problems can only be solved by direct simulation J. Pavelka, G. Tel, M. Bartoˇ sek (Eds.): SOFSEM’99, LNCS 1725, pp. 203–248, 1999. c Springer-Verlag Berlin Heidelberg 1999