high performance individual-oriented simulation using complex models

10
Procedia Computer Science International Conference on Computational Science, ICCS 2010 High Performance Individual-Oriented Simulation Using Complex Models Roberto Solar a , Remo Suppi a , Emilio Luque a a Computer Architecture and Operating Systems Department (CAOS) University Autonoma of Barcelona Barcelona, Spain Abstract Computational simulation has been used as a powerful tool to represent the dynamical behavior of systems based on complex analytic models. These types of models have two main drawbacks: a) limitations due to the degree of abstraction needed to simulate them, b) high computing power to simulate a heavily simplified models. The computing power available today can overcome these limitations to perform quicker simulations of complex models that are closer to reality. In this paper, the experiments and performance analysis of a distributed simulation for a complex individual oriented model (fish schools) are presented. The development of the fish school simulator includes the possibility of working with large models that include large numbers of fish (> 10 6 of individuals), predators and obstacles in the simulated world. Keywords: high performance simulation, individual-oriented models, fish school, complex models. 1. Introduction During the last few years, computational simulation has been used as a support tool to understand the behavior of some complex systems. This tool has proved to have a high predictive capability as well as short response times. Collective behavior of groups of animals are a common phenomenon existing at dierent scales and complexity levels. These global patterns emerge without hierarchical structure or centralized control [1]. Basically, members of a group of individuals generally act on the basis of some limited information and interaction with their neighbors and the information flows through the system producing collective patterns [2]. Fish schooling is an example of these collective emerging behavior (self-organization). An individual-oriented model consists of a fixed number of individuals and an environment in which interactions occur. It is very dicult to solve this type of model analytically but it is possible to use simulation techniques to obtain a dynamic behavior of the system. The main disadvantages involved in this type of model are: the limitations imposed by the complexity and the workload imposed on the computing system even for a small number of individuals. Currently, there is low cost This research has been supported by the MEC-MICINN Spain under contract TIN2007-64974 Email addresses: [email protected] (Roberto Solar), [email protected] (Remo Suppi), [email protected] (Emilio Luque) c 2012 Published by Elsevier Ltd. Procedia Computer Science 1 (2012) 447–456 www.elsevier.com/locate/procedia 1877-0509 c 2012 Published by Elsevier Ltd. doi:10.1016/j.procs.2010.04.048

Upload: gabinetecomunicacionyeducacion

Post on 10-Dec-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

Procedia Computer Science 00 (2010) 1–10

Procedia ComputerScience

International Conference on Computational Science, ICCS 2010

High Performance Individual-Oriented Simulation Using ComplexModels �

Roberto Solara, Remo Suppia, Emilio Luquea

aComputer Architecture and Operating Systems Department (CAOS)University Autonoma of Barcelona

Barcelona, Spain

Abstract

Computational simulation has been used as a powerful tool to represent the dynamical behavior of systems basedon complex analytic models. These types of models have two main drawbacks: a) limitations due to the degree ofabstraction needed to simulate them, b) high computing power to simulate a heavily simplified models. The computingpower available today can overcome these limitations to perform quicker simulations of complex models that are closerto reality. In this paper, the experiments and performance analysis of a distributed simulation for a complex individualoriented model (fish schools) are presented. The development of the fish school simulator includes the possibility ofworking with large models that include large numbers of fish (> 106 of individuals), predators and obstacles in thesimulated world.

Keywords: high performance simulation, individual-oriented models, fish school, complex models.

1. Introduction

During the last few years, computational simulation has been used as a support tool to understand the behavior ofsome complex systems. This tool has proved to have a high predictive capability as well as short response times.

Collective behavior of groups of animals are a common phenomenon existing at different scales and complexitylevels. These global patterns emerge without hierarchical structure or centralized control [1]. Basically, members ofa group of individuals generally act on the basis of some limited information and interaction with their neighbors andthe information flows through the system producing collective patterns [2]. Fish schooling is an example of thesecollective emerging behavior (self-organization).

An individual-oriented model consists of a fixed number of individuals and an environment in which interactionsoccur. It is very difficult to solve this type of model analytically but it is possible to use simulation techniques toobtain a dynamic behavior of the system.

The main disadvantages involved in this type of model are: the limitations imposed by the complexity and theworkload imposed on the computing system even for a small number of individuals. Currently, there is low cost

�This research has been supported by the MEC-MICINN Spain under contract TIN2007-64974Email addresses: [email protected] (Roberto Solar), [email protected] (Remo Suppi), [email protected] (Emilio

Luque)

c⃝ 2012 Published by Elsevier Ltd.

Procedia Computer Science 1 (2012) 447–456

www.elsevier.com/locate/procedia

1877-0509 c⃝ 2012 Published by Elsevier Ltd.doi:10.1016/j.procs.2010.04.048

R. Solar et al. / Procedia Computer Science 00 (2010) 1–10 2

computing power available in distributed architectures and thus the simulation of complex models with large numbersof individuals is possible [3]. This type of model simulation (with a reduced abstraction level) allows results to beobtained closer to reality, allowing scientists to reach conclusions and gain knowledge about the system under study.Moreover, the use of distributed computing systems allows us to work with a high number of individuals because thescalability of the available computing power may be increased according to the needs of the simulated model.

In related works [4] [5] [6], high performance individual-oriented simulation has been used to obtain collectiveemerging behaviors of huge number of fish known as Fish School. Fish schools are an example of many individualsinteracting with a common goal: coordinated and polarized group motion. Due the spatially-explicit nature of thistype of model, it is possible the individuals’ geometrical distribution through the computing distributed architectureachieving a significantly simulation response times decreasing. In [7] we can appreciate the use of parallel/distributedsimulation to explore the emerging behavior of cooperative autonomous UAVs (Unmanned Aerial Vehicles) swarmsbased on the flocking model [8] and used to simulate wartime missions. Another case study is shown in [9] in whicha parallel/distributed simulation is used to decrease the response times of a pedestrian movement simulator based onthe social forces model [10]. As can be seen, it exists many research about high performance individual-orientedsimulation covering multiples scales and complexity levels.

Our main interest to overcome the limitations imposed by models’ complexity proposing to achieve followinggoals: first, to give computational support to the biologists through simulation results closest to reality and secondly,to solve complex computational problems justifying the use of distributed and parallel architectures.

In this paper we present results of a distributed individual-oriented fish school simulator based on Huth & Wisselrule model [11] redesigned to simulate large numbers of individuals. This development has been realized to efficientlysimulate complex three-dimensional models on more realistic scenarios. These scenarios are considered in order toreduce the system’s abstraction level including active and passive individuals. Active individuals are represented aspredators: searching, pursuing, attacking, capturing and handling fish belonging to fish school. Passive individualsrepresent irregular terrain, rocks, submarine vegetation, the surface and the seafloor (cylindrical obstacles and worldbounds), i.e. every static element belonging to environment.

2. Individual-Oriented Models

Ecologist have used discrete models to understand, using simulation, how global patterns emerge from individualinteractions in ecosystems. These models (according to the system and objective) are called individual-orientedmodels (IoM), individual-based models (IbM) or agent-based models (AbM) and are developed in order to understandthe dynamic behavior of a system and to solve the disadvantages imposed by population models based on differentialequations. These models consists of a fixed number of autonomous individuals, interaction rules, individual attributeswhich are maintained through time and a environment where interactions occur. Some individual-oriented modelsare also spatially-explicit, i.e. the individuals are associated with a location in geometrical space. Moreover, somespatially-explicit individual-oriented models also can show motion patterns, i.e. the individuals can change its relativeposition in geometrical space.

There are considerable literature and studies of spatially-explicit individual-oriented simulation in the biologicalarea, such as: bird flocks [8] [12], insect swarms [13] [14], mammal herds [15] and fish schools [11] [16] [17] [18][19].

2.1. Fish School Model

Fish Schools are one of the most frequent social groups in the animal world [11]. This social aggregation showscomplex emergent properties such as coordinated and polarized behavior, leaderless group navigation or hierarchicalstructure and absence of external influences.

In order to describe the fish behavior we consider that each fish changes its position and orientation in discrete stepof time (associated to a simulation step) and the new position and orientation depend on the position and orientationof a fixed number of neighbors. The neighbors’ influence on a single fish depends on their space-time positionand to select appropriately the neighbor’s influence we identify three vision areas: attraction, repulsion and parallelorientation (Figure 1).

448 R. Solar et al. / Procedia Computer Science 1 (2012) 447–456

R. Solar et al. / Procedia Computer Science 00 (2010) 1–10 3

non visible area

attraction area

parallel orientation area

repulsion area

Figure 1: Neighbor influences areas.

Depending on spatial-temporal neighbor’s position, the fish chooses between three behavior patterns: repulsion- collision avoidance between fish of the same group (turning the fish’s orientation minimum-angle rotation so thefish’s orientation and that of its neighbor are perpendicular, Figure 2(a)), parallel orientation - the group moves in thesame direction (matching the fish’s orientation with that of its neighbor, Figure 2(b)) and attraction - to maintain thecohesion of the group to avoid predators (steering the fish’s orientation towards its neighbor’s position, Figure 2(c)).

(a) Repulsion behavior pattern. (b) Parallel orientation behavior pattern. (c) Attraction behavior pattern.

Figure 2: Fish school behavior patterns.

Furthermore, the model should include a small random behavior in the searching phase for the selection of anindividual in relation to a set of them that meet the same conditions.

2.2. Prey-Predator Interaction

One of the main motivations of a fish is to keep close to the group as a protective mechanism to avoid becomingprey for a predator. When a fish detects a threat, if it is part of the group it can increase the chances of survival, andthere are different behaviors: dilution effect - the prey change direction in order to confuse the predator and makingthe prey selection difficult, confusion effect - the predator will have difficulty in selecting a prey in front of a largenumber of them [20], and many eyes hypothesis - the group size increases in order to have more eyes analyzing theenvironment detecting potential threats.

As basis for prey-predator interaction we adapt two ”steering behavior” routines [8] described below: pursuit- to guide the individual towards a predicted target’s future position and evade - to guide the individual in oppositedirection of predicted target’s future position.

Moreover, we use a set of behavior patterns to effective collective predator evasion [21] which consists of threecomponents: schooling, cooperative escape and selfish escape and will be described below.

R. Solar et al. / Procedia Computer Science 1 (2012) 447–456 449

R. Solar et al. / Procedia Computer Science 00 (2010) 1–10 4

2.2.1. Choosing a RuleAs the situation changes continuously around the fish, each fish needs to select an appropriate pattern to efficiently

avoid the predator. For this, the prey identifies five interaction areas with its predator (Figure 3).

non visible area

visible area

caution area

urgency area

capture area

Figure 3: Prey-predator interaction areas.

For the non visible area fish will only consider the behavior in relation to its neighbors and this activity is calledschooling (the fish only takes into account its neighbors’ influence). If there is a threat in visible area, the fishperforms schooling maintaining its speed in average speed (Table 1) It there is a predator in the caution area, thefish performs cooperative escape, (the fish considers its neighbors’ influence and uses evade to avoid the predatorwithout abandoning the group’s formation) and increases its speed to caution speed (Table 1). If there is a predatorin the urgency area, the fish performs selfish escape, (uses evade to avoid the predator’s trajectory, abandoning groupformation) maximizing its speed to maximum speed (Table 1). If there is a threat in capture area, the fish is captured.

2.3. Avoiding CollisionsThe movement detection sensors of the fish are mainly the eyes and/or the body lateral lines that enable it to detect

objects in the environment that are relevant to its survival [22]. Using the information provided by these sensors, thefish can obtain every object’s absolute position in the environment: neighbors’ proximity, potential collisions, predatorpresence, etc. and the information provided by these sensors are limited by the maximum vision area (biologicalcharacteristics and degree of illumination in the environment).

Collision avoidance is the first behavior that should be implement and consist of three basic steps: obtain theobject visibility, detect the potential collision and avoid the potential collision. To determine the object visibility, it isnecessary to evaluate if the object is inside of the fish’s visibility area, and if this is true it is necessary to evaluate ifthe object is in the fish path. Finally, if the object is in the fish path, it is necessary to efficiently avoid the potentialcollision.

2.3.1. Cylindrical ObstaclesOn the basis that complex structures can be achieved from the union of simple geometric figures, we consider

individuals’ interaction with cylindrical obstacles. Cylindrical obstacles are defined by the equation of a cylinder ofradius r with axis parallel to Z axis in the point (a, b, 0) (Equation (1)).

(x − a)2 + (y − b)2 = r2 (1)

Given a fish position (x0, y0, z0) and orientation (vx, vy, vz), parametric equation can be obtained:⎧⎪⎪⎪⎨⎪⎪⎪⎩

x = x0 + tΔvx

y = y0 + tΔvy

z = z0 + tΔvz

(2)

From intersection of equations (1) and (2), a collision point is represented. With this point we can calculate theforce needed to alter the trajectory of the individual using the repulsion behavior (same situation as neighbor repulsion)and avoid the possible collision.

450 R. Solar et al. / Procedia Computer Science 1 (2012) 447–456

R. Solar et al. / Procedia Computer Science 00 (2010) 1–10 5

2.3.2. World BoundariesIn a real environment, we can consider that there are some forces that are constantly influencing the fish’s trajectory

in order change the direction to avoid collisions. These forces can be associated with many objects that interacts witha fish, such as: other fish that are not a predator (moving obstacles), the ground (vegetation, rocks, etc), environmentborders (big obstacles, world limits, ...), etc. So we can represent each environment’s object as a set of descriptionpoints P(xi, yi, zi) and corresponding forces F( f x

i , f yi , f z

i ), i ∈ N0.

Figure 4: World wall semi-elliptical shaped border example.

To compute this approach, it is necessary to evaluate the distance from fish’s position to the nearest descriptionpoints in order to find the most representative force. Next, for each force, its influence on the fish (using repulsion) iscalculated and adding all these vector influences, the new fish’s trajectory is obtained (Figure 4). The main advantageof this approach is that a very high level of detail can be achieved and it is possible to represent of any static or mobileobject.

We consider fposition and forientation the position and orientation of a single fish; P and F the set of description pointsand forces associated; Rmax the maximum vision range; α the rotating angle; and f ′orientation the vector that collects theinfluences of the nearest potential collision points. The algorithm is: for each fish, the distance from fish’s position to

Algorithm 1 New Orientation’s Calculationfor i← 0 to P.size() do

if distance( fposition,Pi) ≤ Rmax thenα← min(∠( forientation,Fi) ± π)f ′orientation ← f ′orientation + rotate( forientation, α)

end ifend for

each description points is calculated, if the description point intercepts the vision range then its influence is calculatedand stored in an auxiliary vector. Finally, the stored accumulated influence is computed in the new fish’s orientation.

3. Distributed Time-Driven Simulation

An important issue in discrete simulation is the mechanism in which the state variables changes as simulation timeadvance. We can distinguish two time-advance approaches: time-driven and event-driven. In a time-driven approach,the simulation time is subdivided into a sequence of equal-sized steps, and the simulation advances from one time stepto the next [23]. In the event driven mechanism the simulation time is computed when a event is processed adding theevent time to the execution time. Moreover, is necessary to consider the time management protocol because this willensuring that the execution of the distributed simulation is properly synchronized. Time management algorithms canbe classified as conservative or optimistic [24]. In conservative algorithms, the process is blocked until all executionconditions are satisfied. In optimistic algorithms, the process will continues even if some execution condition is notfulfilled but this algorithm includes mechanisms in order recover from causality issues.

R. Solar et al. / Procedia Computer Science 1 (2012) 447–456 451

R. Solar et al. / Procedia Computer Science 00 (2010) 1–10 6

We have developed a distributed fish school simulator using C++, STL standard template library and MPI messagepassing library that implements a time-driven time-advance method and a conservative algorithm as the synchronizingmethod.

3.1. Model Distribution

One of the most important problems in this model is the individuals’ distribution in relation to the distributedcomputing architecture elements.

Individual-oriented systems can be implemented in a distributed fashion making each node responsible for afixed portion of the problem domain where these fixed portions can be assigned using either the Lagrangian methodor Euclidean method [25]. In the Lagrangian method, each node is responsible for a fixed set of individuals. Inthe euclidean method, each node is responsible for a fixed portion of the simulated space, together with the set ofindividuals currently residing in that area.

Figure 5: Domain strip partitioning.

In this work, we use euclidean partitioning to decompose the simulation space (Figure 5). Given N processingnodes, the simulation space is divided evenly into n strips. Each strip is called a logical process (LP) and is assignedto a processing node where each node independently execute the simulation with local data, making data exchangethrough two types of messages between adjacent slices (LPs): migration and neighbors request or ghost cell exchange[26]. On one hand, migration is used when the new position is outside of the local LP borders (change its residencefrom one LP to other). On the other hand, a neighbors request is used when an individual needs to evaluate theindividuals’ influence inside adjacent LPs (interaction of near individuals at the maximum fish range of vision but inadjacent LP’s).

4. Experimental Results

In this paper we present comparative results of two versions of a distributed individual-oriented fish school simu-lator. On one hand, the first version is implemented by using only internal behavioral patterns to the group formationwhich we refer as basic model. On the other hand, the second version adds into the basic model a prey-predatorinteraction, cylindrical obstacle avoidance, and an interactive representation of world boundaries which we refer asenhanced model.

Every experiment was executed with two set of inputs described in Table 2 using simulation parameters describedin Table 1. Active and passive individuals were distributed uniformly through the simulation space in order to achievesimilar workload in every computing elements. Every experiment was executed on an IBM cluster described in detailin Table 3. For each data set, the simulation was carried out with a different number of processors: 1, 8, 16, 32 and64.

452 R. Solar et al. / Procedia Computer Science 1 (2012) 447–456

R. Solar et al. / Procedia Computer Science 00 (2010) 1–10 7

Parameter ValueBody length (BL) 1.0Attraction radius 5.3BL

Parallel orientation radius 2.3BLRepulsion radius 0.8BLAverage speed 0.1BLcaution speed 2.4BL

Maximum speed 3.0BLVision radius 5.6BL

Caution radius 3.3BLUrgency radius 1.1BLCapture radius 0.6BL

Neighbor number 4Dead area π

3

Table 1: Model parameters for simulation experiments.

Set of Input 1 Set of Input 2Fish 80 000 320 000Predators 800 3 200Obstacles 250 1 000Description Points 639 552 2 473 020

Table 2: Simulation inputs sets.

Front-End Node Compute NodesNode 1 x IBM x3650 32 x IBM x3550

ProcessorDual-Core Intel(R) Xeon(R) CPU 5150 2 x Dual-Core Intel(R) Xeon(R) CPU [email protected] 4MB L2 (2x2) @3.00GHz 4MB L2 (2x2)

Memory 8 GB Fully Buffered DIMM 667 MHz 12 GB Fully Buffered DIMM 667 MHzStorage RAID 5 1.8 TB hot-swap SAS Hot-swap SAS Controller 160GB SATA DiskNetwork Interface Integrated dual Gigabit Ethernet Integrated dual Gigabit Ethernet

Table 3: Hardware architecture characteristics.

Figure 6 shows the total execution, computing and communication times for Set 1. In this figure, we see thatthe increasing model’s complexity is closely linked with the increase in simulation time. This happens because theincreasing of the model’s complexity is reflected as a system’s detail level increase which implies more computeoperations per simulation step. Moreover, we can observe that as the number of processors increases, the differencebetween implementations’ response times decreases.

1

10

100

1000

10000

100000

1 8 16 32 64

Tota

l T

ime

Processors

Processors vs Total Time/Computation Time/Communication Time (80000 Fish)

Computation Time (basic model)Communication Time (basic model)

Computation Time (enhanced model)Communication Time (enhanced model)

Figure 6: 80 000 Fish Simulation Times.

Figure 7 shows the total execution, computing and communication times for Set 2. We can see the same tendency

R. Solar et al. / Procedia Computer Science 1 (2012) 447–456 453

R. Solar et al. / Procedia Computer Science 00 (2010) 1–10 8

shown using Set 1, but contrary to our previous results as the number of processors is increased, the difference betweenresponse times are longer.

¡

1

10

100

1000

10000

100000

1e+06

1 8 16 32 64

Tota

l T

ime

Processors

Processors vs Total Time/Computation Time/Communication Time (320000 Fish)

Computation Time (basic model)Communication Time (basic model)

Computation Time (enhanced model)Communication Time (enhanced model)

Figure 7: 320 000 Fish Simulation Times.

Figure 8 and Figure 9 show simulation results having a super-linear speedup. As the number of processors isincreased, the LP’s assigned workload decreases, so the sub domain problem complexity is reduced. In general terms,if we have N individuals to simulate on a serial environment, every individual needs to evaluate the spatial-temporalposition of N − 1 individuals. In the other case, if we simulate N individuals using P processors, each LP simulatesa N

P average of individuals, evaluating only the relative position of NP − 1 individuals. However, Figure 8 shows the

enhanced model scaling better than the basic model. This shows that increasing the model’s complexity can helpobtaining a scalability closest to the ideal and more realistic simulation results.

64

256

1024

4096

1 8 16 32 64

Spe

edup

Processors

Speedup (80000 Fish)

enhanced modelbasic model

ideal speedup

Figure 8: 80 000 Fish Simulation Speedup.

Figure 9 shows that the enhanced model speedup is close to the ideal speedup, but not as much as the basic model.However, the enhanced model’s results are excellent taking into account the advantage achieved by increasing themodel’s complexity (more realistic results). In other words, although the system’s scalability was decremented thesimulation results are in agreement with our expectations.

454 R. Solar et al. / Procedia Computer Science 1 (2012) 447–456

R. Solar et al. / Procedia Computer Science 00 (2010) 1–10 9

64

256

1024

4096

1 8 16 32 64

Spe

edup

Processors

Speedup (320000 Fish)

enhanced model speedupbasic model speedup

ideal speedup

Figure 9: 320 000 Fish Simulation Speedup.

5. Conclusions

Ecologists have been using discrete models to study global patterns that emerge through local interaction by com-putational simulation. For many years, these ecological simulations have been technologically limited by the models’complexity and the workload assigned to a single computational element. Currently, due to increasing computationalpower and the parallel/distributed computing emergence, these limitations are not a drawback anymore. Further, it ispossible to create more complex models to achieve simulation results closest to reality and to increase the workloadby means of including different species to achieve a similar interaction level such as the real environment.

We have developed a distributed fish school simulator based on a complex model in order to understand behavioralpatterns that are based on simple models which cannot be explained. Moreover, we executed simulation experimentsusing two sets of data input in order to compare the performance between the simulator based on a basic model andour simulator version. The main conclusions that can be extracted from our work are the following:

• Enhanced model scalability is excellent, achieving good performance close to ideal speedup and achieving ourobjectives (good scalability and more realistic results).

• Complex simulation models development implies a system’s abstraction level reduction which allows resultsclose to reality. These results are important when trying to understand the behavior of species under specificcircumstances, such as the behavior of a fish school during predator attacks.

• Increasing the processors number using the enhanced model assures system scalability. Figure 8 and 9 showthe enhanced model has achieved better results than the basic model and closest to the ideal.

• Experimental results shown in Figure 8 and 9 demonstrate that increasing the model’s complexity and theworkload is a great help when trying to maintain the system scalability as the number of processors is alsoincreased.

Future Work

• Develop strategies for efficient load balancing. Exploring dynamic load balancing strategies based on both spacedivision and individuals clustering. This is primary to obtain a better use of the distributed/parallel architecture.

• Exploit the use of both hybrid architectures currently available, i.e. to promote the use both thread and messagelevel parallelism, in order to reduce simulation times.

• Decreasing the abstraction’s level of the system as much as possible in order to improve the application scala-bility.

R. Solar et al. / Procedia Computer Science 1 (2012) 447–456 455

R. Solar et al. / Procedia Computer Science 00 (2010) 1–10 10

References

[1] A. Huth, C. Wissel, The simulation of fish schools in comparison with experimental data, Ecological Modeling 75 (1994) 135–145+.[2] I. Giardina, Collective behavior in animal groups: theoretical models and empirical studies, HFSP Journal 2 (4) (2008) 205–219.[3] L. Chwif, M. R. P. Barretto, R. J. Paul, On simulation model complexity, in: WSC ’00: Proceedings of the 32nd conference on Winter

simulation, Society for Computer Simulation International, San Diego, CA, USA, 2000, pp. 449–455.[4] R. Suppi, P. Munt, E. Luque, Using pdes to simulate individual-oriented models in ecology: A case study, in: ICCS ’02: Proceedings of the

International Conference on Computational Science-Part I, Springer-Verlag, London, UK, 2002, pp. 107–116.[5] D. Mostaccio, C. Dalforno, R. Suppi, E. Luque, Distributed simulation of large-scale individual oriented models, Journal of Computer Science

& Technology 6 (2) (2006) 59–65.[6] C. Dalforno, D. Mostaccio, R. Suppi, E. Luque, Increasing the scalability and the speedup of a fish school simulator, in: ICCSA ’08:

Proceedings of the international conference on Computational Science and Its Applications, Part II, Berlin, Heidelberg, 2008, pp. 936–949.[7] J. J. Corner, G. B. Lamont, Parallel simulation of uav swarm scenarios, in: WSC ’04: Proceedings of the 36th conference on Winter

simulation, Winter Simulation Conference, 2004, pp. 355–363.[8] C. W. Reynolds, Flocks, herds, and schools: A distributed behavioral model, Computer Graphics 21 (4) (1987) 25–34.[9] M. J. Quinn, R. A. Metoyer, K. Hunter-zaworski, Parallel implementation of the social forces model, in: in Proceedings of the Second

International Conference in Pedestrian and Evacuation Dynamics, 2003, pp. 63–74.[10] D. Helbing, P. Molnar, Social force model for pedestrian dynamics, Phys. Rev. E 51 (5) (1995) 4282–4286.[11] A. Huth, C. Wissel, The simulation of the movement of fish schools, Journal of Theoretical Biology 156 (3) (1992) 365–385.[12] R. O. Saber, R. M. Murray, Flocking with obstacle avoidance: cooperation with limited communication in mobile networks, in: Decision and

Control, 2003. Proceedings. 42nd IEEE Conference on, Vol. 2, 2003, pp. 2022–2028 Vol.2.[13] E. Bonabeau, M. Dorigo, G. Theraulaz, Swarm intelligence: from natural to artificial systems, Oxford University Press, Inc., New York, NY,

USA, 1999.[14] J. Kennedy, R. C. Eberhart, Swarm intelligence, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2001.[15] S. Gueron, S. Levin, D. Rubenstein, The dynamics of herds: From individuals to aggregations, Journal of Theoretical Biology 182 (1996)

85–98(14).[16] I. Aoki, A simulation study on the schooling mechanism in fish, Bulletin of the Japanese Society of Scientific Fisheries 48 (8) (1982) 1081–

1088.[17] R. Vabø, G. Skaret, Emerging school structures and collective dynamics in spawning herring: A simulation study, Ecological Modelling

214 (2-4) (2008) 125–140.[18] J. K. Parrish, S. V. Viscido, D. Grnbaum, Self-organized fish schools: An examination of emergent properties, Biol. Bull 202 (2002) 296–305.[19] J. C. Gonzlez, C. Dalforno, R. Suppi, E. Luque, A fuzzy logic fish school model., in: ICCS, Vol. 5544 of Lecture Notes in Computer Science,

2009, pp. 13–22.[20] B. Partridge, The structure and function of fish schools, Scientific American (1982) 114–123.[21] M. Zheng, Y. Kashimori, O. Hoshino, K. Fujita, T. Kambara, Behavior pattern (innate action) of individuals in fish schools generating efficient

collective evasion from predation, Journal of Theoretical Biology 235 (2) (2005) 153 – 167. doi:DOI: 10.1016/j.jtbi.2004.12.025.[22] X. Tu, Artificial Animals for Computer Animation: Biomechanics, Locomotion, Perception, and Behavior, Springer-Verlag New York, Inc.,

Secaucus, NJ, USA, 2000.[23] R. M. Fujimoto, Parallel and Distribution Simulation Systems, John Wiley & Sons, Inc., New York, NY, USA, 1999.[24] R. M. Fujimoto, Parallel simulation: parallel and distributed simulation systems, in: WSC ’01: Proceedings of the 33nd conference on Winter

simulation, IEEE Computer Society, Washington, DC, USA, 2001, pp. 147–157.[25] F. Merchant, L. F. Bic., M. B. Dillencourt, Load balancing in individual-based spatial applications, in: PACT ’98: Proceedings of the 1998

International Conference on Parallel Architectures and Compilation Techniques, IEEE Computer Society, Washington, DC, USA, 1998, p.350.

[26] C. Ding, Y. He, A ghost cell expansion method for reducing communications in solving pde problems, in: Supercomputing ’01: Proceedingsof the 2001 ACM/IEEE conference on Supercomputing (CDROM), ACM, 2001, pp. 50–50.

456 R. Solar et al. / Procedia Computer Science 1 (2012) 447–456