Parallel Cellular Environments to Enable Scientists to Solve Complex Problems PowerPoint PPT Presentation

presentation player overlay
1 / 29
About This Presentation
Transcript and Presenter's Notes

Title: Parallel Cellular Environments to Enable Scientists to Solve Complex Problems


1
Parallel 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

2
OUTLINE
  • Computational Simulation
  • Cellular Automata
  • Parallel Computing and Cellular Automata
  • Parallel CA Systems
  • CAMEL and CARPET
  • Performance
  • Conclusions

3
Computational 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.

4
Computational 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.

5
Cellular 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.

6
Cellular 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
8
Cellular 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.

9
Parallel 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.

10
Parallel 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.

11
Features 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.

12
P-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.

13
StarLogo
  • 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.

14
A 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.

15
NEMO
  • 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.

16
DEVS-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.

17
CAMEL
  • 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.

18
CAMEL
  • 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)
22
CARPET
  • 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.

23
CARPET
  • 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)

24
CARPET
/ 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)
25
CARPET 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.

26
CAMEL Performance Results
27
CAMEL Performance Results
28
Conclusions
  • 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.

29
Further 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.
Write a Comment
User Comments (0)
About PowerShow.com