Loading in 5 sec....

Parallel Cellular Environments to Enable Scientists to Solve Complex ProblemsPowerPoint Presentation

Parallel Cellular Environments to Enable Scientists to Solve Complex Problems

Download Presentation

Parallel Cellular Environments to Enable Scientists to Solve Complex Problems

Loading in 2 Seconds...

- 322 Views
- Uploaded on
- Presentation posted in: Pets / Animals

Parallel Cellular Environments to Enable Scientists to Solve Complex Problems

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Parallel Cellular Environments to Enable Scientists to Solve Complex Problems

DOMENICO TALIA

ISI-CNR

Rende, Italy

talia@si.deis.unical.it

San Feliu de Guixols, Spain, June 1999

- Computational Simulation
- Cellular Automata
- Parallel Computing and Cellular Automata
- Parallel CA Systems
- CAMEL and CARPET
- Performance
- Conclusions

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

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

C

2-D

3-D

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

The global behavior of the system is determined by the evolution of the states of all cells as a result of multiple interactions.

Two-dimensional lattices and neighborhoods

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

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

Several cellular environments have been implemented on sequentialcomputers (PCs, workstations)

In the past years, significant parallelcellular 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.

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-performancethat allows these environments to support the efficient execution of very complex real world phenomena that cannot be simulated on sequential computers.

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

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

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

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

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

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

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

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.

CARPET

cadef

{ /* A simple forest fire model */

dimension 2;

radius 1;

state (short ground);

neighbor Moore[8]([0,-1]N,[-1,-]NW,[-1,0]W,

[-1,1]SW,[0,1]S,[1,1]SE,[1,0]E, [1,-1]NE);

}

{

if((cell_ground == tree) &&

(N_ground==fire || S_ground==fire || E_ground==fire ||

W_ground==fire || N_ground==fire || SW_ground==fire ||

SE_ground ==fire || N_ground ==fire))

update(cell_ground, fire);

else

if (cell_ground == fire)

update(cell_ground, dead);

}

CARPET

/* The Jacoby finite difference method in CARPET */

cadef

{

dimension 2;

radius 1;

state (floal value);

neighbor Neum[4]([0,-1]N,[-1,0]W, [0,1]S,[1,0]E);

}

{

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);

}

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.

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

- http://liinwww.ira.uka.de/ca/
The Cellular Automata Pages (maintained by T. Worsch)

- http://isi-cnr.deis.unical.it:1080/~talia/CA.html
CAMEL and CARPET

Cellular Automata: Promise and Prospects in Computational Science

Special Issue ofFUTURE GENERATION COMPUTER SYSTEMS, December 1999.