13
FGCS @IJTURE OENERATION OOMPUTER SYSTEMS ELSEVIER Future Generation Computer Systems 12 (1997) 357-369 High performance scientific computing by a parallel cellular environment S. Di Gregorioa, R. Rongoavl, W. Spataroav2,G. Spezzanob>3and D. Taliab***4 a Dip. di Matematica, Universita della Calabria, 87036 Rende (CS), Italy b ISI-CNR, cfo DEB, Universitir della Calabria, 87036 Rende (CS), Italy Abstract This paper describes CAMEL, a parallel environment for designing scientific applications based on the cellular automata mathematical model. CAMEL is an interactive environment designed to support the development of high performance applications in science and engineering. It offers the computing power of a highly parallel computer, hiding the architecture issues from a user. The system can be used both as a tool to model dynamic complex phenomena and as a computational model for parallel processing. By CAMEL a user might write programs to describe the actions of thousands of simple active agents, then observe the global complex evolution that arises from all the local interactions. The paper presents the programming environment and a significant application in the area of soil decontamination. Keywords: High performance computing; Parallel programming Cellular automata; Simulation; Scientific visualization 1. Introduction Although massively parallel computing can be very useful to engineers and scientists, the lack of models and tools that simply and automatically permit the exploitation of parallelism in complex engineering and scientific problems prevents a wide- spread use of this technology by industry. Issues as the decomposition of physical problems in parallel parts, efficient communication between processors, *Corresponding author. E-mail: toti: dig@unical. it. E-mail: rongo@ pobox. unical. it. ‘E-mail: spataro@ pobox. unical. it. 3 E-mail: spezzano@ si. deis. unical. it. 4 E-mail: talia@ si. deis. unical. it. computation load balancing across multiple’proces- sors, and fast movement of data in and out of a computer are major factors that created the per- ception that parallel computers can be used only by experts. For a large class of complex simulation and modeling problems many of these issues can be faced by using an appropriate computational model and implementing it on a commercial parallel com- puter. The study of real physical phenomena by com- puter modeling and simulation provides a virtual laboratory where one can investigate very complex problems in many areas such as biology, physics, chemistry, economics, and engineering [7], For many years it has been very difficult to study the behavior of complex phenomena because the 0167-739X/97/$17.00 Copyright IQ 1997 Ekvier Science B.V. All rights reserved PIISO167-739X(96)00023-4

High performance scientific computing by a parallel cellular environment

Embed Size (px)

Citation preview

FGCS @IJTURE

OENERATION OOMPUTER

SYSTEMS ELSEVIER Future Generation Computer Systems 12 (1997) 357-369

High performance scientific computing by a parallel cellular environment

S. Di Gregorioa, R. Rongoavl, W. Spataroav2,G. Spezzanob>3and D. Taliab***4

a Dip. di Matematica, Universita della Calabria, 87036 Rende (CS), Italy

b ISI-CNR, cfo DEB, Universitir della Calabria, 87036 Rende (CS), Italy

Abstract

This paper describes CAMEL, a parallel environment for designing scientific applications based on the cellular automata mathematical model. CAMEL is an interactive environment designed to support the development of high performance applications in science and engineering. It offers the computing power of a highly parallel computer, hiding the architecture issues from a user. The system can be used both as a tool to model dynamic complex phenomena and as a computational model for parallel processing. By CAMEL a user might write programs to describe the actions of thousands of simple active agents, then observe the global complex evolution that arises from all the local interactions. The paper presents the programming environment and a significant application in the area of soil decontamination.

Keywords: High performance computing; Parallel programming Cellular automata; Simulation; Scientific visualization

1. Introduction

Although massively parallel computing can be very useful to engineers and scientists, the lack of models and tools that simply and automatically permit the exploitation of parallelism in complex engineering and scientific problems prevents a wide- spread use of this technology by industry. Issues as the decomposition of physical problems in parallel parts, efficient communication between processors,

*Corresponding author. E-mail: toti: dig@unical. it. ’ E-mail: rongo@ pobox. unical. it. ‘E-mail: spataro@ pobox. unical. it. 3 E-mail: spezzano@ si. deis. unical. it. 4 E-mail: talia@ si. deis. unical. it.

computation load balancing across multiple’proces- sors, and fast movement of data in and out of a computer are major factors that created the per- ception that parallel computers can be used only by experts. For a large class of complex simulation and modeling problems many of these issues can be faced by using an appropriate computational model and implementing it on a commercial parallel com- puter.

The study of real physical phenomena by com- puter modeling and simulation provides a virtual

laboratory where one can investigate very complex problems in many areas such as biology, physics, chemistry, economics, and engineering [7],

For many years it has been very difficult to study the behavior of complex phenomena because the

0167-739X/97/$17.00 Copyright IQ 1997 Ekvier Science B.V. All rights reserved PIISO167-739X(96)00023-4

358 S.D. Gregorio et al./Future Gewation Computer Systems 12 (1997) 357-369

formal models describing them were so hard that the main computational modality, represented by the integration of differential equations, was intractable despite using powerful parallel computers.

Consequent upon the development of computer science in recent years, its application boundaries have been expanded considerably because of the continuous rise of computing power. At the same time research in parallel computing evidenced the significant potentialities of parallel computing models, such as cellular automata (CAs) and neural networks, in representing a valid alternative to dif- ferential calculus in the description of complex phe- nomena. This occurs especially when differential equations cannot be solved because of their com- plexity or when the problem being solved cannot be described in terms of differential equations.

The CAs approach was taken in the development of CAMEL (Cellular Automata environMent for systEms ModeLing), a parallel environment for the execution of complex-system models [2] by means of CAs. CAMEL allows the programming and the efficient processing of CAs models. Further, it pro- vides a simple and user friendly interface that allows on-going monitoring and interactive simulation. CAs represent both a powerful tool for modeling complex dynamic problems and an abstract parallel computing model L-61. CAs capture the peculiar features of systems that evolve exclusively according to local interactions of their basic components and guarantee computational universality [lo]. A CA can be represented as an n-dimensional lat- tice, partitioned into cells of uniform size, each one embedding an identical elementary automaton. In- put for each elementary automaton or cell at time t is given by the states of the neighboring cells at time t-l. The states of the cells are updated in parallel according to a local rule called transition function. According to this local rule, the state of a cell at given time depends only on its own state in the previous time step and the states of its neigh- bours at the previous step. Therefore, the transition function plays in CAs an analog role to that of the evolution equation in classical dynamic models. Different neighborhoods can be defined for a CA. All cells of the automaton are updated in parallel and synchronously. Thus the state of the entire automaton advances in 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.

CAs provide a global framework for the descrip- tion of dynamic phenomena in complex systems which is based on the use of discrete time, discrete space and a discrete set of state variable values. Moreover, CAs are intrinsically parallel, so they can be simulated on parallel computers with high effi- ciency, as the communication flow between proces- sors can be kept low. Application areas of CAs are very broad, ranging from the simulation of physical, biological, and chemical phenomena to the modeling of engineering problems in many fields such as road traffic, image processing, and science of materials.

Parallel computers represent the most natural architecture where CAs environments might be im- plemented. In fact, if a sequential computer is used to support the simulation, the execution time might become very high since such computer has to per- form the transition function for each cell of the automaton in a sequential way. Thus, parallel com- puters are necessary as a practical support for the effective implementation of high performance CAs [l]. There are two possible alternatives that allow one to achieve high performance in the implementa- tion of CAs. The first one is the design of special parallel hardware devoted to the execution of CAs. The second alternative is based on the use of com- mercial parallel computers. Although the systems developed according to the first approach allow one to run CAs simulation in an efficient way, they are generally limited in the size of the automata which can be simulated and in the number of states per cell. Furthermore, they are specialized machines which cannot be used as general purpose computers. On the other hand, highly parallel computers offer a very effective architecture for implementing CA machines. These systems are based on many inter- connected processors that perform a task in parallel. Both SIMD and MIMD architecture are suitable to support high performance CA implementation. We preferred to use the MIMD computers because they are more flexible than SIMD machines and allow one to efficiently implement heterogeneous systems also. In Sections 2 and 3 of the paper the CAMEL environment and its application areas are described.

S.D. Gregorio et aLlFuture Generation Computer Systems 12 (1997) 357-369 359

In particular, a significant application for the bio- removal of contaminants in the soils that is current- ly being developed using CAMEL is discussed.

2. CAMEL environment

According to the approach mentioned above the CAMEL environment has been implemented on a message-passing MIMD parallel computer [2]. In the design of the CAMEL architecture and run-time system, special attention has been paid to allow a future porting on new MIMD parallel computers such as the Cray T3D, the Meiko CS2, and the IBM SP2.

2.1. Architecture

CAMEL has been implemeneted on a parallel computer composed of a mesh of 32 transputers connected to a host node. The current implementa- tion of CAMEL does not limit the number of trans- puters that compose the parallel computer, so no changes should be necessary in the software of CAMEL if a very large number of transputer should be used. The CAMEL environment has three main components. The run-time system, the user interface and the visualization system.

Fig. 1. The structure of the CAMEL system on a single processor.

The parallel run-time system of CAMEL com- prises a set of macrocell (MC) processes each run- ning on a single processing element (PE) of the parallel machine and by a controller process run- ning on a master processor. Each MC process im- plements a cluster of elementary cells and makes use of a communication system (MRR) which handles the data exchange among cells. The whole set of the MCs implement a CA.

never change state. For a large class of problems, as in flow diffusion, the areas of active cells are restric- ted to one, or a few domains. From a computational point of view it is useless to compute the next state of the passive cells until they become active. Thus, it is important to develop a load balancing strategy to manage the stationary regions in order to save precious computational power.

Fig. 1 shows the structure of processes that com- prise the parallel run-time system of CAMEL on each single Transputer. The MC process runs the transition function for all the cells that belong to its lattice partition and exchanges data with the other MCs through the MRR process. Processes Bufl Mux and Demux provide services for implementing communications into the same processor.

We implemented in CAMEL a load balancing strategy [2] that avoids computing the next state of cells which belongs to a stationary region. Further, the load balancing strategy divides the computation of the next state of the active cells among all the processors of the parallel machine. The load balanc- ing strategy used in CAMEL is a domain decompo- sition strategy similar to the scattered decomposition technique [S]. Our strategy is applicable to MIMD parallel computers and it is suitable for problems where the load may vary greatly between processors (e.g., in a dynamic simulation or where an irregular region is being modeled).

In CA applications, cells with passive states do The User Interface (UI) of CAMEL provides not change state until the state of neighboring cells a window-oriented graphical interface that allows does not change too, while cells with inert states one to perform interactive simulations. In fact the

360 S.D. Gregorio et aLlFuture Generation Computer Systems 12 (1997) 357-369

UI offers to a user an integrating environment that allows one to perform all the steps needed to deve- lop an application in CAMEL, from the program editing to the configuration, running and monitor- ing of a simulation. In particular, for the configur- ation the UI allows one by menu pops, to define the size of the CAs, the number of the processors onto which the automata must be executed, and to choose the colours to be assigned to the cell sub- states for the graphical visualization of their values. The UI provides useful information such as the displayed substates, the current iteration step and the visualization. Further, the UI allows a user to change the system parameters during the applica- tion running. This feature is used for monitoring and tuning the application. It also allows to adapt the visualization of the simulation output in order to simplify the user interpretation of the application results.

2.2 Programming

The rationale of CAMEL is to make parallel computers available to application-oriented users hiding the implementation issues arising from their architectural complexity.

CAMEL allows the solution of complex prob- lems which may be represented as discrete across a square or hexagonal grid or lattice. It presents a CA as a SPMD (Single Program, Multiple Data) program. CAs are implemented as a number of processes each mapped on a distinct PE that ex- ecutes the same code on different data. According to this approach a user must specify only the transition function of a single cell of the system he wants to simulate by CARPET, a cellular language defined to program CAs applications in CAMEL. CARPET (CellulAR Programming EnvironmenT) [9] is a high-level language that extends C with some additional constructs to describe the rules of the transition function of a single cell of a CA. The main features of CARPET are the possibility to describe the state of a cell as a set of typed substates each by a user-defined type, and the simple definition of complex neighborhoods (e.g., hexagonal), that can also be time dependent, in an n-dimensional discrete Cartesian space. The language does not provide

statements to configure the automata, to visualize the cell values or to define data channels that can connect the cells according to different topologies. The configuration of a CA is defined by the UI of the CAMEL environment. The UI allows one, by menu pops, to define the size of the CAs, the number of the processors on which the automata must be ex- ecuted, change the global parameters of a simula- tion and choose the colours to be assigned to the cell substates to support the graphical visualization of their values. As an example, Fig. 2 shows a snapshot of a window of the CAMEL UI.

The exclusion from the language of constructs for configuration and visualization of the data allows one to execute the same CARPET program with different configurations. Further, it is possible to change from time to time the size of the automaton and/or the number of the nodes onto which the automaton must be executed. Finally, this approach allows one to select the more suitable range of the colours for the visualization of data. Using CARPET a wide variety of cellular programs can be described in a simple but very expressive way. The language utilizes the control structures, the types, the operators and the expressions of the C language and it is enhanced by a declaration part that allows one to specify the dimensions (dimension) of the automaton, the radius (radius) of the neigh- borhood (neighbor), the type of the neighborhood, and to describe the state (state) of a cell as a set of typed substates that can be: shorts, integers,JIoats and doubles. Furthermore, a set of global par- ameters (parameter) describe the global characteris- tics of the system (e.g., the permeability of a soil). The typification of the substates allows one to ex- tend the range of applications that can be coded in CARPET simplifying the writing of the programs and improving their readability. Most cellular systems and languages define the cell substates only as integers. In this case, for example, if a user must store a real value in a substate then he must write some procedures for the data retyping. The writing of these procedures makes the program longer and difficult to read or change. The CARPET language frees the user from this tedious task and offers him a high-level abstraction to define the state. The set of substates is defined through the state declaration. All substates are contained in round

S.D. Greqorio et ul..Futurr Generation Computer Systems 12 (1997) 357-369 361

I State Setuo Colors Start... Pause ? I

Fig. 2. A snapshot of the CAMEL UI

brackets and separated by commas. A type specifier must be included for each substate. In the following example the state consists of three substates. state (shorttemp, quote, float

volume);

The first two substates temp and quote are shorts, the third volume is a float. CARPET allows the user to directly define by the neighbor declaration a logic neighborhood that inside the same radius may represent a wide range of different neighborhoods. Neigh- borhoods can be asymmetrical or have any other special topological properties (e.g., hexagonal). The neighbor keyword must be followed by the name of a vector that has as dimension the number

of elements comprising the logic neighborhood. The elements of the logic neighborhood are put in round brackets and are separated by commas. Each ele- ment is described by relative indexing. Furthermore, each of these elements can be associated with a name that can be used as an alias in referring to the

neighbor cell. The von Neumann neighborhood can be defined as follows: neighborNeumann[a] ([0,-l] North,[-l,O]

West, [0, l] South, [l, O]East); The example in Fig. 3 describes how the CARPET constructs are used to implement the classical Life program in a simple and very expressive way. In particular, the update statement assigns a new value to the cell state.

362 S.D. Gregorio et a/./Future Generation Computer Systems 12 (1997) 357-369

#define alive 1

ldefine dead 0

cadef

f

dimension 2; /* bidimensional lattice */

radius 1;

state (short life);

neighbor Moore[81 ([O,-llNorth, [-1,-l]NorthWest, [-l,O]West,

[-1,1lSouthWest,[O,llSouth,[l,llSouthEast,

[l,OI East, [1,-l] NorthEast 1;

1

int i; short sum;

(

/* computing the number of alive neighbors of cell fx,y) */

for (i = 0; i-z8; i++)

sum = Moore_life[i] + sum;

/* computing the new state of cell (x,y) */

if ((sum == 2 && cell-life == 1) 11 sum == 3)

update (cell_life,alive);

else

update (cell_life,dead);

1

Fig. 3. The game of Life written in CARPET language.

2.3. Visualization

The CAMEL system allows one, by the Graphical Interface (GI), to rapidly and interactively explore and analyze very large amounts of scientific data, composed of values of the cell states, gathered dur- ing the execution of computer simulations. Atoolcalled ZVT(Znteractiue Wualization Tool) has been added to CAMEL to improve data visualiz- ation. Utilizing data computed by simulation, IVT provides a variety of functions and services, includ-

ing two- and three-dimensional graphical displays of data, hard copy of graphical displays and text, interao tive color manipulation, animation creation and dis- play, rotation of the images saving of data in files according to different data formats. Further, the tool allows quick access to the software for the novice as well as the advanced user and provides an intuitive easy-to-learn-and-use interface. IVT has been design- ed by the MATLAB package to extend the graphical facilities of CAMEL providing a window-oriented GI for an interactive manipulation of graphical displays.

S.D. Gregorio et al/Future Generation Computer Systems 12 (1997) 357-369 363

The integration of IVT with the CAMEL system allows one to extract, transparently from a user, more information from raw data gathered during the simulation using graphics facilities (i.e. three- dimensional (3D) visualization of 2D images) and numerical transformation functions. A software in- terface controls the communications between CAMEL and IVT. The communication occurs con- necting dynamically, under Windows, the two ap- plications. Further, this approach provides remote visualization of data and the possibility to use IVT with other parallel applications. Fig. 4 shows a snapshot of the IVT window where a graphical representation of the values of a substate of cells in a 3D lattice is shown.

3. CAMEL applications

CAMEL has already been used to simulate sev- eral physical phenomena. In geophysics both the flow of lava from a volcano [2] and the evolution of a landslide [4] have been simulated with good accuracy and achieved high performance. The CAs approach taken in these cases is based on the most important physical aspects, introducing also, whenever necessary, semi-empirical parameters which lack a direct physical meaning (but which are measurable). For example, in the case of the lava flow the adherence parameter was introduced, al- though it is related to viscosity, it has no straight- f&ward physical meaning. Other CAMEL applica-

Fig. 4. Snapshot of the IVT window.

364 S.D. Gregorio et aLlFuture Generation Computer Systems I2 (1997) 357-369

tions concern freeway traffic simulation [3], image processing and genetic algorithms. In the last two years, CAMEL has been used in the CABOT0 (Cellular Automata for the Bioremoval of Toxic Contaminants) project within the PC1 ESPRIT program. The CABOTO’s main objective concerns the use of CAs to model and simulate the bioremediation of contaminated soils. In particular, such models describe the decontamination pro- cesses that can be performed by proper stimulation of the growth of indigenous bacteria. These models allow the prediction of real scale bioremediation operation from the knowledge of geological, chemi- cal, and microbiological data and from results of suitable experiments performed in the laboratory or in a pilot plant. The CAs model that has been used to simulate the phenomenon, celled Asoil, is composed by a large number of cells, where each cell being of “me- soscopic” size does not describe the phenomena which takes place inside a single pore (typical pore dimensions being 10-100~) but those inside a portion of soil. Our model is 3D and is designed for real scale simulations in order to describe hetero- geneous regions. The neighborhood of each cell is composed of six other cells, four of them being at the same height (north, south, east, west), while the re- maining two neighboring cells are in the up and down positions. The model has a “layered” structure, where the first layer describes fluid flow through the soil, the sec- ond layer describes the behavior ofchemicals (either solutes or adsorbed on the pore surface) and the third layer describes the interaction between chemi- cals and biomass [SJ. The lower layer of the model is the fluid dynamical one which describes the flow of different fluid phases in a porous medium (the soil). The motion of one or more liquid or gaseous phases can be completely described in this layer. The second layer describes the physical and chemi- cal fate of the solutes, including hydrodynamic dis- persion, interactions of the solutes with other solutes as well as with chemicals which may be present in the soil, and the processes of adsorption and desorption to and from the pore walls. The contamination of a soil by a chemical or a mixture of chemicals is described in this layer of the model.

The third layer of the model is the biological one, It describes the interaction of biomass with its envi- ronment: -The growth of micro-organisms which depends upon the availability of nutrients, -the disappearance and the appearance of chemi- cals which depend upon the metabolic activity, and -the interaction among different bacterial popula- tions. To be complete the model should take into account, in this layer, also the possible modifications of the flow pattern which can be raised by huge bacterial growth leading to a reduction of the pore space available for the fluids. The CAs transition function that implements the model in CAMEL can be considered as composed of three parts, one per layer, applied sequentially, according to the hierarchy which results from the dependence of the phenomena described in a layer on the results of the operations of the other layers. Each transition function concerns two main actions: -the outflow (hence the inflow) of the components, water, chemicals and biomass, from a central cells to neighbors; -the interactions of the components inside a cell. The CA transition function has bean designed on the basis of the following assumptions: (a) A central cell tends to reach equilibrium condi-

tions with its neighbors. For example, the capil- lary water must be distributed in order to balance the capillary forces between the central cell and its neighbors; the solute chemical must diffuse in order to minimize the difference of water concentrations between the central cell and its neighbors. So minimization laws with proper relaxation rates are determined for such situations.

(b) A central cell tends to reach internal equilibrium conditions. For example, concentrations of the contaminant in water and soil must reach a cer- tain proportionality at the equihbrium. So an appropriate migration law of the contaminant from water to soil (or vice versa) has been de- signed.

(c) The main transformation mechanisms have been taken into account. For instance, growing of biomass by assumption of nutrients and con- taminants.

S.D. Gregorio et aLlFuture Generation Computer Systems 12 (1997) 357-369 365

(d) The main transport mechanisms are also taken into account. For example, the gravitational water of a cell tends to fill the empty (air inside) space of the inferior cell. The complete model therefore uses different types of interacting phe- nomena involving water, chemicals (contaminants and nutrients) and biomass. The CABOT0 simu- lations resulted in accordance with experimental results obtained on a pilot plant [S].

3800 -

3600 -

3400 -

3200 -

3000 -

2800 -

2600 -

2400 -

T 2200 - 8 3 2000 -

E 1800 - u # 1600 -

$ w 1400 -

1200 -

1000

800

600

400

200

0

3.1 Per$ormance results

In this section we present the performance results obtained by the simulation of the bioremediation model which includes the water flow, the phenol contamination and the bioremediation event. We measured the CAMEL execution times (in sec- onds) using transputer-based parallel machines changing the number of used processors and using

0 4 8 12 16 20 24 28 32

Processors

-~-32x15x11

-m-64x15x11

-A-96x15x11

-;;;L128x15xll

-.-64x15x22

Fig. 5. Elapsed time for 100 simulation steps.

366 S.D. Gregorio et al/Future Generation Computer Systems 12 (1997) 357-369

different grid sizes. The measurements have been about 16 simulation hours are necessary using 32 performed both to obtain the elapsed time on differ- processors. This important result shows the need for ent configurations of processors and to evaluate the parallel computation in solving complex problems speed up and efficiency of the parallel system on such as the bioremediation phenomenon, and the different configurations (grid sizes) of the automa- great efficiency of our implementation in exploiting tion. parallelism.

To simulate the full bioremediation model the state of each cell is composed of 14 substates. In the simulation 100 steps correspond to 50 min. of the real phenomenon. Fig. 5 shows the trend of the elapsed time to execute 100 steps when the number of processors is increased. From this figure we can deduce that the execution time of a single step is about 9 s on one processor and about 0.3 s on 32 processors for a 32 x 15 x 11 grid composed of 5280 cells. When a 128 x 15 x 11 grid (21120 cells) is used the execution time of a single step is about 36 s on one processor and about 1,2 s on 32 processors. This result is very important because it shows that to simulate the full event of bioremediation which takes 64 real days about 19 simulation days are required using a single processor whereas only

Fig. 6 shows that the speed up curves of the system are very close to the ideal behavior, that is speed up curves are quite linear. In fact, on 32 processors we obtained speed up values ranging from 26.2 to 29.9 depending on the automata size. We see that good speed up has been achieved on up to 32 processors as the automata size is increased since this results in an increase in the ratio of computation with respect to the overheads of I/O and interprocessor com- munication. The speed up measures obtained show the good scalability of the system and demonstrate that execution time can be further on reduced using more than 32 processors. Fig. 7 shows, for different configurations of the par- allel system, how each single processor is efficiently used during the simulation. As we can see, up to 32

32

28

24

4 20

$ 16 $ v) 12

8

L - _ _ - -i&al

--~-32x15x1

--,-64x15x1

-=-96x15x1

-.-128x15x

-*-64x15x2

0 4 8 12 16 20 24 28 32

Processors

Fig. 6. System speed up to 32 processors.

S.D. Gregorio et d/Future Generation Computer Systems 12 (1997) 357-369 361

0.8

SI g 097

._ u ._

’ 0,6

-*-32x15x11 --a- 64x15~1 1

---96x15x11

-*--128x15x11

-64x15~22

094 4 *

0 4 8 12 16 20 24 28 32

Processors

Fig. 7. Efficiency measures up to 32 processors.

processors the efficiency is about 0.9. This result makes in evidence that the bioremediation applica- tion exploits very effectively the computational power offered by the parallel machine used. The measures performed show that a decomposi- tion of the grid along the x-axis (for example the grid 128 x 15 x 11) allows to obtain a better efficiency in comparison with the decomposition along another axis (for example the grid 64 x 15 x 22). This is due to the higher communication overhead that occurs in the latter case. Anyway the difference between the two set of values is small. In summary, CAMEL showed good values of per- formance and scalability in the implementation of the full bioremediation model and the CABOT0 experience demonstrated that parallel computers can be effectively used to model and simulate com- plex phenomena in the environmental field.

4. Conclusions

In this paper we described CAMEL, a parallel software environment based on the CAs model, and

its utilization in a significant computational science problem. CAMEL has been developed to support scientists, programmers and professionals in design- ing and implementing high performance appli- cation in science and engineering. CAMEL has been used successfully for the implementation of applica- tions in several scientific areas, such as fluid-dy- namics, road traffic and image processing. In particular, as discussed in the paper, CAMEL has been used in the CABOT0 project within the PC1 ESPRIT framework. The CABOT03 main objec- tive was the use of CAs models for the bioremedi- ation of contaminated soils. This experience has been positive both in terms of simulation accuracy and performance results. In fact, the CABOT0 project demonstrated the validity of our assump- tions, namely that complex models of bioremedi- ation processes which integrate physical, chemical and biological phenomena can be successfully par- allelized on MIMD parallel computers achieving great accuracy and high performance [lo]. In this paper we discussed how CAMEL can be used as a versatile and scalable system that allows a user to solve complex problems exploiting the comput-

368 S.D. Gregorio et aLlFuture Generation Computer Systems 12 (1997) 357-369

ing power offered by a highly parallel computer in a transparent way. The application described here is a significant example of the use of a high perform- ance system to solve complex problems by an inter- disciplinary collaboration of scientists and professional coming from different fields. In the application design and implementation each one contributed with his expertise to define, model, im- plement, and evaluate the solutions to real problems developed by CAMEL.

Acknowledgements

This research was partially supported by CEC ESPRIT P.C.I. contract no. 94529419370. We thank Graziano Zucchini who contributed to the develop- ment of the IVT tool discussed here.

References

Cl1

w

c31

M

PI

PI

CTI

PI

P. Brinch Hansen, Parallel cellular automata: A model for computational science, Concurrency: Practice and Experi- ence, Vol. 5 (Wiley, New York, 1993) 425-448. M. Cannataro. S. Di Gregorio, R. Rongo, W. Spataro, G. Spezzano and D. Talia, A parallel cellular automata envi- ronment on multicomputers for computational science, Parallel Computing, Vol. 21 (North-Holland, Amsterdam, 1995) 803-823. S. Di Gregorio, D.C. Festa, R. Rongo, W. Spataro, G. Spezzano and D. Talia, A microscopic freeway traffic simu- lator on a highly parallel system, in: Parallel Computing: State of the Art and Perspectitis (North-Holland, Amster- dam 1996) 69-76. S. Di Gregorio, F. Nicoletta, R. Rongo, G. Spezzano, D. Talia and M. Sorriso-Valvo, Landslide simulation by cellu- lar automata in a parallel environment, in: Proc. ofthe Int. Workshop on Massively Parallel: Hardware, Software and Applications (World Scientific, Singapore, 1994) 392-407. S. Di Gregorio, R. Rongo, R. Serra, W. Spataro, G. Spez- zano, M. Villani and D. Talia, Bioremediation full applica- tion, CABOT0 project, Deliverable D7, September 1996. Y. Feldman and E. Shapiro, Spatial machines: A more realistic approach to parallel computation, Comm. ACM 35 (1992) 61-73. E. Gallopoulus, E. Houstis and J. Rice, Problem-solving environments for computational science, IEEE Comput. Sci. Engrg. Vol. 1 (1994) 1 l-23. D.M.Nicol and J. H. Saltz, An analysis of scatter decompo- sition, IEEE Trans. ComputersC-39(11)(1990) 1337-1345.

[9] G. Spezzano and D. Talia, A high-level language for pro- gramming cellular algorithms on parallel machines, in: Proc. 2nd Co@ ACR196, Workshop in Computing Series (Springer London, 1996).

[lo] T. Toffoli and N. Margolus, Cellular Automata Machines A New Environmentfor Modeling (MIT Press, Cambridge, MA, 1986).

Salvatore Di Gregorlo received his Laurea degree in Physics from the Uni- versity ofPalermo &d continued his studies at the Universitv of Naoles and the University of British Columbia. He is Associate Professor of Computer Science and Director of the Laboratorio di Informatica e Applicazioni at the Universitv of Calabna. His research fo- cuses on parallel computing, theory of cellular automata and their implemen- tation on parallel architectures, and the modeling and simulation of complex phenomena.

Rocco Rongo earned his degree in Ap plied Mathematics from the University of Calabria in 1992. Currently he is working with the Department of Mathe- matics at the University of Calabria. His research interests are, parallel computer programming, complex systems model- mg, and cellular automata.

William Spataro earned his degree in Applied Mathematics from the Univer- sity of Calabria in 1992. Currently he is working with the Department of Mathe- matics at the University of Calabria. His research interests are parallel comput- ing, complex system modeling, and cel- lular automata.

Giandomenico Spezzaoo received his Laurea degree in engineering from Uni- versity of Calabria in 1980. Since 1981 he has been a researcher at CRAI in the area of distributed systems and parallel computing. Currently he is working with ISI-CNR and he also lecturer in the Department of Electronics, Computer Science and Systems at the University of Calabria. His research focuses on tools for parallel computers, parallel genetic algorithms and parallel prooessing by cellular automata. He is member of IEEE Computer Society and ACM.

S.D. Gregorio et al/Future Generation Computer Systems 12 (1997) 357-369

Domenico Talia received his Laurea degree in Physics from University of Calabria. Since 1982 he has been re- searcher at CRAI working in the area of distributed systems and parallel com- puting. Currently he is working with ISI-CNR. His research interests are fo- cused on parallel high performance computing concurrent programming languages, distributed systems, cellular automata and complex systems He is member of IEEE Computer Society and ACM.

369