Papers by Giandomenico Spezzano
Genetic Programming, 2007
A Genetic Programming based boosting ensemble method for the classification of distributed stream... more A Genetic Programming based boosting ensemble method for the classification of distributed streaming data is proposed. The approach handles flows of data coming from multiple locations by building a global model obtained by the aggregation of the local models coming from each node. A main characteristics of the algorithm presented is its adaptability in presence of concept drift. Changes in data can cause serious deterioration of the ensemble performance. Our approach is able to discover changes by adopting a strategy based on self-similarity of the ensemble behavior, measured by its fractal dimension, and to revise itself by promptly restoring classification accuracy. Experimental results on a synthetic data set show the validity of the approach in maintaining an accurate and up-to-date GP ensemble.

Journal of Software, 2006
Solving complex real-world problems using evolutionary computation is a CPU time-consuming task t... more Solving complex real-world problems using evolutionary computation is a CPU time-consuming task that requires a large amount of computational resources. Peerto-Peer (P2P) computing has recently revealed as a powerful way to harness these resources and efficiently deal with such problems. In this paper, we present P-CAGE: a P2P environment for Genetic Programming based on the JXTA protocols. P-CAGE is based on a hybrid multi-island model that combines the island model with the cellular model. Each island adopts a cellular model and the migration occurs between neighboring peers placed in a virtual ring topology. Three different termination criteria (effort, time and maxgen) have been implemented. Experiments were conducted on some popular benchmarks and scalability, accuracy and the effect of migration have been studied. Performance are at least comparable with classical distributed models, retaining the obvious advantages in terms of decentralization, fault tolerance and scalability of P2P systems. We also demonstrated the important effect of migration in accelerating the convergence. Gianluigi Folino was born in Catanzaro, Italy, on May 27, 1972. He received his Laurea degree in Engineering from the University of Calabria, Italy, in 1997. In 1999 he joined CNR-ICAR, Institute of High Performance Computing and Networking of the Italian National Research Council, supported by an INFN fellowship. Currently, he is a researcher at CNR-ICAR in the area of distributed and parallel computing. He has published more than 50 papers in conference proceedings and journals and he is member of the program committee for many international conference and reviewer for many international journals as IEEE TEC, Parallel Computing, Parallel and Distributed Computing. His research interests include cellular automata, genetic programming, swarm intelligence, peer-to-peer and grid computing. Agostino Forestiero received his Laurea degree in Computer Engineering from University of Calabria, Cosenza, Italy, in 2002. He collaborates with the Institute of High Performance Computing and Networks of the Italian National Research Council (ICAR-CNR) in Cosenza, Italy, and since 2003, he is a PhD Student in Computer Engineering at the DEIS Department, University of Calabria. His research interests include Grid Computing, Peerto-Peer Networks and Multi-Agent Systems. Giandomenico Spezzano is a research director at the institute of high performance computing and networking (icar) of the italian national research council (cnr), where he manages the intelligent grid and peer-to-peer systems group. He is also a contract professor in the department of electronics, computer science and systems (deis) at the university of calabria, italy, since 1994. Previously, he worked at crai (consortium for research and applications of information technology), Italy, where he has led various research projects in the distributed and parallel computing area. He received the laurea degree in industrial technologies engineering from the university of calabria, italy, in 1980. He has published two books and more than 120 papers in conference proceedings and journals such as ieee tec, ieee cse, fgcs, pdcp, parallel computing, concurrency:practice and experience. his current research interests cover models and tools for massively parallel architecture, grid computing,peer-to-peer computing, parallel and distributed data mining, parallel genetic programming, cellular automata and swarm intelligence. He is serving as a program committee member for many international conference and he is member of ACM and IEEE Computer Society.

Parallel Computing, 2003
Landslides are natural disasters which can cause serious damages in terms of lives lost, homes de... more Landslides are natural disasters which can cause serious damages in terms of lives lost, homes destroyed, economies disrupted. By understanding how and where these natural events occur, we can respond effectively when disasters strike. The simulation of landslide hazards is particularly relevant for the prevention of natural disasters, since it enables to compute risk maps and helps to design protection works. This paper presents a parallel simulator developed by a problem-solving environment, called Cellular Automata environMent for systEms modeLing Open Technology (CAMELOT), that handles debris/mud-flows. It allows interactive simulation and steering of parallel cellular computations. CAMELOT is a simulation environment that uses the cellular automata formalism to model and simulate dynamic complex phenomena on parallel machines. It combines simulation, visualization, control and parallel processing into one tool which allows to interactively explore a simulation, visualize the state of the computation as it progresses and change parameters, resolution or representation on the fly. In the paper, we give an overview of the CAMELOT system and show that the dynamics of debris/mud-flows can be simulated using a cellular automaton landslide model. The quality of the reproduced shape of the landslide demonstrates substantial agreement with the real event. Moreover, an evaluation of the performances of the simulator on a Linux Beowulf cluster is presented.
Future Generation Computer Systems, 2008
Protocol) is capable of reducing the entropy of the system and efficiently propagating content. F... more Protocol) is capable of reducing the entropy of the system and efficiently propagating content. Furthermore, ARMAP permits to enforce the dissemination of descriptors related to high Quality of Service (QoS) resources. The Grid information system built with the proposed protocol enables the use of a semi-informed discovery algorithm which drives query messages towards "representative peers" that maintain information about high QoS resources having the required characteristics.
A Dynamic Load Balancing Strategy for Massively Parallel Computers
This paper describes a new load balancing algorithm, the probabilistic strategy with neighbourhoo... more This paper describes a new load balancing algorithm, the probabilistic strategy with neighbourhood synchronization (PNS), for massively parallel computers. The proposed strategy differs from fully distributed approaches which require a high interprocessor communication overhead when the number of processors becomes large. This load balancing strategy uses only local information and takes into account the information lags in distributed systems for estimating the system load.

Future Generation Computer Systems, 1998
This paper describes the main features of the CARPET language and its practical use for programmi... more This paper describes the main features of the CARPET language and its practical use for programming three-dimensional models of the contamination of soils developed in the CABOTO project. CARPET is a high-level language based on the cellular automata model, which supports rapid prototyping of a large number of applications in science and engineering. A CARPET implementation has been used for programming cellular algorithms in the CAMEL parallel system. The CAMEL (Cellular Automata environMent for systEms modeLing) system is a parallel implementation of a software environment for the simulation and modeling of complex systems based on cellular automata. CAMEL offers the computing power of a parallel computer although hiding, by the CARPET language, the architecture issues to a user. The CARPET language allows the design of parallel programs for describing the actions of thousands of simple active interacting agents that might simulate the behavior of very complex systems.

In this paper we describe CAMEL, an interactive parallel environment based on the cellular automa... more In this paper we describe CAMEL, an interactive parallel environment based on the cellular automata theory. CAMEL is a tool 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. CAMEL implements a cellular automaton as a SPMD (Single Program Multiple Data) program and includes a load balancing strategy to equally distribute the computation load over the processing elements. By CAMEL a user might write programs to describe the actions of thousands of simple active objects, then observe the global complex evolution that arise from all the interactions. The paper presents a set of applications in significant areas such as lava flow, landslides, freeway traffic, image processing, and genetic algorithms where CAMEL has been successfully utilized to solve complex problems.
Future Generation Computer Systems, 1997
This paper describes CAMEL, a parallel environment for designing scientific applications based on... more 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.

Parallel Computing, 1995
This paper describes CAMEL (Cellular Automata environMent for systEms modeLing), a scalable softw... more This paper describes CAMEL (Cellular Automata environMent for systEms modeLing), a scalable software environment based on the cellular automata theory implemented on a Transputer-based parallel computer. Cellular automata were originally defined as a theory to model the basic mechanisms of dynamic systems, permitting a new approach which is in many cases simpler and more efficient than the traditional approach based on partial differential equations. Today, cellular automata become more attractive because they are suitable to be effectively and naturally implemented on parallel computers achieving high performance. CAMEL allows a user to program computational science applications exploiting the computing power offered by highly parallel computers in a transparent way. CAMEL implements a cellular automaton as a SPMD program. A load balancing strategy is used to minimize time costs in case of not uniform intervals for transition steps. In the paper the programming environment and the parallel architecture of CAMEL are presented and some experiments are discussed.

In this paper we describe CAMEL, an interactive parallel environment based on the cellular automa... more In this paper we describe CAMEL, an interactive parallel environment based on the cellular automata theory. CAMEL is a tool 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. CAMEL implements a cellular automaton as a SPMD (Single Program Multiple Data) program and includes a load balancing strategy to equally distribute the computation load over the processing elements. By CAMEL a user might write programs to describe the actions of thousands of simple active objects, then observe the global complex evolution that arise from all the interactions. The paper presents a set of applications in significant areas such as lava flow, landslides, freeway traffic, image processing, and genetic algorithms where CAMEL has been successfully utilized to solve complex problems.
CARPET: A Programming Language for Parallel Cellular Processing
Abstract In this paper we describe CARPET, a parallel programming language based on the cellular ... more Abstract In this paper we describe CARPET, a parallel programming language based on the cellular automata model. CARPET is the language used for programming cellular algorithms in the CAMEL environment. CAMEL is an 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 ...

Future Generation Computer Systems, 1999
A high-level programming support is an essential component for the practical development of compu... more A high-level programming support is an essential component for the practical development of computational science applications using the cellular automata model. This paper, after introducing the CARPET language, shows its practical use for programming cellular automata simulations on parallel computers. CARPET is a high-level language designed for supporting rapid prototyping and full implementation of a large number of science and engineering applications on high-performance computers. The language provides a user with a programming layer that offers constructs for the direct definition of the cellular automata features such as lattice dimension, cell state, neighborhood, and transition function. The CARPET parallel run-time system maps CA programs on a parallel computer hiding the architecture issues to a user and it provides advanced visualization of program’s output. The paper describes how practical cellular automata algorithms for lattice gas, gas diffusion simulation, and traffic flow modeling can be designed using the CARPET programming language.

This paper presents a parallel spatial clustering algorithm based on the use of new Swarm Intelli... more This paper presents a parallel spatial clustering algorithm based on the use of new Swarm Intelligence (SI) techniques. SI is an emerging new area of research into Artificial Life, where a problem can be solved using a set of biologically inspired (unintelligent) agents exhibiting a collective intelligent behaviour. The algorithm, called SPARROW, combines a smart exploratory strategy based on a flock of birds with a density-based cluster algorithm to discover clusters of arbitrary shape and size in spatial data. Agents use modified rules of the standard flock algorithm to transform an agent (boid) into a hunter foraging for clusters in spatial data. We have applied this algorithm to two synthetic data sets and we have measured, through computer simulation, the impact of the flocking search strategy on performance. Moreover, we have evaluated the accuracy of SPARROW compared to the DBSCAN algorithm.

A model of efficient asynchronous parallel algorithms on multicomputer systems
Parallel Computing, 1992
This paper describes a methodology for the implementation of asynchronous parallel algorithms on ... more This paper describes a methodology for the implementation of asynchronous parallel algorithms on multicomputer systems. The algorithms studied here belong to the class of iterative methods. The proposed methodology is based on the definition of a computational model by which an algorithm is specified as a set of concurrent processes mapped onto a set of processors and communicating by asynchronous message passing.This approach can be appealing and innovative since there is a need to reduce the cost of synchronization that affects synchronous algorithms.As an application of the proposed approach, the implementation on a network of INMOS Transputers of an asynchronous parallel version of the classical Newton method for solving nonlinear optimization problem is described and discussed. In this implementation each computational task of the algorithm is implemented as an Occam process running on a Transputer. The performance results of the numerical experiments are encouraging and show the effectiveness of the proposed approach.
IEEE Transactions on Evolutionary Computation, 2006
An extension of cellular genetic programming for data classification (CGPC) to induce an ensemble... more An extension of cellular genetic programming for data classification (CGPC) to induce an ensemble of predictors is presented. Two algorithms implementing the bagging and boosting techniques are described and compared with CGPC. The approach is able to deal with large data sets that do not fit in main memory since each classifier is trained on a subset of the overall training data. The predictors are then combined to classify new tuples. Experiments on several data sets show that, by using a training set of reduced size, better classification accuracy can be obtained, but at a much lower computational cost.
A high-level cellular programming model for massively parallel processing
Cellular automata are used for designing high performance applications in many areas. The paper d... more Cellular automata are used for designing high performance applications in many areas. The paper describes CARPET, a high level programming language based on the cellular automata model. CARPET is a programming language designed to support the development of parallel high performance software. It exploits the computing power of a highly parallel computer releasing a user from using explicit parallel constructs. A CARPET implementation has been used for programming cellular algorithms in the CAMEL parallel environment. With CARPET, a user might write programs to describe the actions of thousands of simple active agents interacting locally, then the CAMEL environment allows a user to observe the global complex evolution that arises from their parallel execution and their local interactions
This paper presents a study that evaluates the influence of the parallel genetic programming (GP)... more This paper presents a study that evaluates the influence of the parallel genetic programming (GP) models in maintaining diversity in a population. The parallel models used are the cellular and the multipopulation one. Several measures of diversity are considered to gain a deeper understanding of the conditions under which the evolution of both models is successful. Three standard test problems are used to illustrate the different diversity measures and analyze their correlation with performance. Results show that diversity is not necessarily synonym of good convergence.
Concurrency and Computation: Practice and Experience, 1992
St. Petersburg FL 33733. USA
The paper presents an evolutionary method for solving the satisfiability problem. It is based on ... more The paper presents an evolutionary method for solving the satisfiability problem. It is based on a parallel cellular genetic algorithm which performs global search on a random initial population of individuals and local selective generation of new strings according to new defined genetic operators. The algorithm adopts a diffusion model of information among chromosomes by realizing a two dimensional cellular automaton. Global search is then specialized in local search by changing the assignment of a variable that leads to the greatest decrease in the total number of unsatisfied clauses. A parallel implementation of the algorithm has been realized on a CS-2 parallel machine
A General Architecture for Grid-Based PSE Toolkits
A PSE Toolkit can be defined as a group of technologies within a software architecture that can b... more A PSE Toolkit can be defined as a group of technologies within a software architecture that can build multiple PSEs. We designed a general architecture for the implementation of PSE toolkits on Grids. The paper presents the rationale of the proposed architecture, its components and structure.
Uploads
Papers by Giandomenico Spezzano