Title: Parallel Cellular Environments to Enable Scientists to Solve Complex Problems
1Parallel Cellular Environments to Enable
Scientists to Solve Complex Problems
- DOMENICO TALIA
- ISI-CNR
- Rende, Italy
- talia_at_si.deis.unical.it
- San Feliu de Guixols, Spain, June 1999
2OUTLINE
- Computational Simulation
- Cellular Automata
- Parallel Computing and Cellular Automata
- Parallel CA Systems
- CAMEL and CARPET
- Performance
- Conclusions
3Computational Simulation
- Computational simulation is based on the use of
computers for modeling and simulation of complex
phenomena and systems in science and engineering. - A computer equipped with problem-solving software
tools may represent a virtual laboratory where it
is possible to build a model for a given problem
and run it under different conditions. - A significant amount of work has been carried out
in the area of PSEs for problems specified by
differential equations.
4Computational Simulation
- Our work has a different emphasis from much of
the work in PSEs by focusing on cellular automata
models, tools and systems for problem solving. - Parallel computers represent a class of machines
that can effectively support the computational
simulation approach. - This talk discusses the combined use of parallel
computing systems and cellular automata for
high-performance computational simulation.
5Cellular Automata
- A cellular automaton is a discrete dynamical
system composed of a large number of cells in a
(1-D, 2-D, or 3-D) lattice. - Each cell interacts only with its neighbor cells
and there exists an evolution rule of the
cellular automaton that changes the state of all
cells simultaneously ( in parallel ) at discrete
time steps.
6Cellular Automata
The global behavior of the system is determined
by the evolution of the states of all cells as a
result of multiple interactions.
7 Cellular Automata
Two-dimensional lattices and neighborhoods
8Cellular Automata
- Cellular automata (CA) are discrete dynamical
systems that are often described as a counterpart
to partial differential equations, which have the
capability to describe continuous dynamical
systems. - CA offer us a perfect model for exploring systems
with no central control and parallel execution. - Explore, using a decentralized control, systems
where simple local interaction occur for a large
population of cells over a period of time. - The basic idea is to try to describe a complex
system simulating this system by the interaction
of a massive number of cells following simple
rules, not to describe its global behavior using
difficult equations.
9Parallel Computing and Cellular Automata
- The use of high-performance parallel computers
supports the CA model to be of practical use for
solving real world problems. - Cellular Automata model represents a parallel
computing model that can be implemented on
parallel architectures because of its inherent
parallelism and locality. - CA exploit data parallelism by partitioning cells
on the processing elements of a parallel
computer. - In a distributed-memory MIMD computer the
parallelism of CA can be exploited using the SPMD
(Single Program Multiple Data) approach.
10Parallel CA Systems
- Several cellular environments have been
implemented on sequential computers (PCs,
workstations) - In the past years, significant parallel cellular
environments have been designed - CAPE ? PECANS
- CAMEL ? P-CAM
- StarLogo ? NEMO
- DEVS ? CELLULAR
- CAM-8 (hardware)
- Application areas physics, biology, genetics,
chemistry, cryptography, image processing,
environment modeling, town planning, and finance.
11Features of Parallel CA Systems
- The main features of parallel cellular software
environments are - a high-level programming layer for designing
software models of complex phenomena and systems
which is independent from the underlying parallel
architecture. - a graphical user interface (GUI) that allows the
visualization of the complete evolution of a
simulation of dynamic systems and the display of
numerical values associate to a simulation. - control and tuning facilities that allow for
on-line computational steering of application
evolution. - scalable high-performance that allows these
environments to support the efficient execution
of very complex real world phenomena that cannot
be simulated on sequential computers.
12P-CAM
- P-CAM (Parallel Cellular Automata Modeling) is a
simulation environment based on a computational
framework of interconnected cells (virtual
particles). - Cells are arranged in graphs that define the cell
interconnections and interactions. - An initial decomposition of the graph on a
parallel machine is generated and a load
balancing strategy is used also to migrate cells. - P-CAM has been implemented at University of
Amsterdam using the C language with the MPI
library. - P-CAM has been used for modeling computational
fluid dynamics, a lattice Boltzmann solver in
combination with a simple aggregation process,
and a parallel finite element simulation of an
underwater explosion.
13StarLogo
- StarLogo is a CA-based extension of the Logo
programming language which has been designed by
Mitchel Resnick at MIT. - Starlogo provides simple constructs to define the
evolution rules of the cells that compose a
cellular automaton. A Starlogo environment has
been implemented on the Connection Machine 1. - Starlogo has been used to simulate
- the spread of a fire through a forest
- disease diffusion
- freeway traffic flow
- ant colonies
- gas molecules diffusion.
14A Forest Fire Simulation Model
- The fire starts on specific point of the forest,
and spreads to neighboring trees. - The fire spreads in four directions north, east,
south, and west. - The fire's chance of diffusing towards all the
forest depends critically on the density of trees
in the forest.
15NEMO
- NEMO (Neighborhood Modelling) is a CA based
environment designed by the PARADIGM group at
Carleton University. - NEMO has been implemented on a MIMD distributed
memory computer (Alex AVX Series II) providing,
like the other CA systems mentioned here,
transparent parallelism. - The NEMO parallel system has been used for
developing computational applications such as - earthquake modeling,
- ice tracking,
- forest fire modeling, and
- crystal growth processes.
- This system is currently used for the development
of a parallel tool for processing, storing and
visualizing of spatial data in application areas
such as GIS, remote sensing, medical computing,
and robotics.
16DEVS-C
- DEVS-C is a high-performance environment based
on the DEVS (Discrete Event System Specification)
formalism that supports the analysis, design and
simulation of discrete event dynamic systems. - The DEVS formalism, based on cellular automata
theory and discrete event simulation, provides a
means of specifying a mathematical object called
a system defined as a lattice of cells. - DEVS-C DEVS parallel implementation, uses the
C language for programming simulation and
models designed by the DEVS formalism. - The DEVS-C system has been implemented at
University of Arizona on parallel computers such
as the Thinking Machines CM-5 and the IBM SP2. - Applications watershed hydrology, ecosystem
modeling.
17CAMEL
- CAMEL is a CA environment designed for
message-passing parallel computers. - CAMEL can be used as a virtual laboratory for
scientific applications it hides parallelism
issues from a user. - In CAMEL a user specifies only the transition
function of a single cell of the system he wants
to simulate by CARPET, a high-level cellular
language defined as an extention of the C
language. - CAMELot is a portable implementation (Meiko CS-2,
Linux PCs clusters, SGI) developed in the ESPRIT
project COLOMBO by ISI-CNR, EPCC and ENEA.
18CAMEL
- CAMEL implements parallel cellular automata using
the SPMD model. - The run-time system is composed of a set of
macrocell processes. Each macrocell implements a
partition of cells on a single processor of a
parallel computer ? the programmer does
not specify data distribution! - All the macrocell processes execute in parallel
to update the state of the cells that compose an
automaton. - A graphical user interface (GUI) allows dynamic
visualization and on-line steering facilities.
19(No Transcript)
20(No Transcript)
21(No Transcript)
22CARPET
- CARPET (CellulAR Programming EnvironmenT) is a
language for parallel cellular processing. - In a CARPET program a user can define
- the basic rules of the system to be simulated
- the macroscopic quantities that constitute the
global parameters of a model - but nothing needs to be specified about the
parallel execution. - The main features of CARPET are
- the definition of the cell state as a set of
typed substates - the simple definition of complex neighborhoods,
that can be also time dependent, in a
d-dimensional discrete Cartesian space - addressing and updating operations that respect
the CA semantics.
23CARPET
- cadef
- / A simple forest fire model /
- dimension 2
- radius 1
- state (short ground)
- neighbor Moore8(0,-1N,-1,-NW,-1,0W,
- -1,1SW,0,1S,1,1SE,1,0E, 1,-1NE)
-
-
- if((cell_ground tree)
- (N_groundfire S_groundfire
E_groundfire - W_groundfire N_groundfire
SW_groundfire - SE_ground fire N_ground fire))
- update(cell_ground, fire)
- else
- if (cell_ground fire)
- update(cell_ground, dead)
-
24CARPET
/ The Jacoby finite difference method in CARPET
/ cadef dimension 2 radius 1 state
(floal value) neighbor Neum4(0,-1N,-1,0W
, 0,1S,1,0E) if (step 0) if (GetY
256) cell_value 1.0 else cell_value
0.0 update(cell_value,(N_value W_value
S_value E_value)/4)
25CARPET CAMEL
- CAMEL and CARPET have been used to implement
complex algorithms for several real life
applications such as - landslide simulation,
- soil bioremediation models,
- lava flow models,
- freeway traffic simulation,
- gas particles, and
- genetic algorithms.
- COLOMBO (Parallel Computers Improve Clean Up of
Contaminated Soils) funded by the ESPRIT
programme.
26CAMEL Performance Results
27CAMEL Performance Results
28Conclusions
- The cellular automata model is an efficient
paradigm to achieve scalable performance on
parallel computers. - Parallel cellular processing provide
- a viable mathematical way to represent problems,
- the scalable performance of MIMD processors, and
- efficient environments supporting for
interdisciplinary efforts for simulation in
science and engineering. - In the past years several environments and tools
have been developed to support computational
simulation based on parallel cellular processing. - These tools provide assistance to users in
formulating problems, running models on
high-performance computers, and viewing and
analyzing the results.
29Further Info
- http//liinwww.ira.uka.de/ca/
- The Cellular Automata Pages (maintained by
T. Worsch)
- http//isi-cnr.deis.unical.it1080/talia/CA.html
- CAMEL and CARPET
Cellular Automata Promise and Prospects in
Computational Science Special Issue of FUTURE
GENERATION COMPUTER SYSTEMS, December 1999.