Skip to main content

Large Scale Agent-Based Modelling: A Review and Guidelines for Model Scaling

  • Chapter
  • First Online:
Agent-Based Models of Geographical Systems

Abstract

This chapter provides a review and examples of approaches to model scaling when constructing large agent-based models. A comparison is made between an aggregate ‘super-individual’ approach, as run on a single processor machine, and two different approaches to parallelisation of agent models run on multi-core hardware. Super-individuals provide a straightforward solution without much alteration of the model formulation and result in large improvements in model efficiency (speed and memory use). However, there are significant challenges to using a super-individual approach when relating super-individuals to individuals in time and space. Parallel computing approaches accept the requirement for large amounts of memory or CPU and attempt to solve the problem by distributing the calculation over many computational units. This requires some modification of the model software and algorithms to distribute the model components across multiple computational cores. This can be achieved in a number of different ways, two of which we illustrate further for the case of spatial models, an ‘agent-parallel’ and an ‘environment-parallel’ approach. However, the success of such approaches may also be affected by the complexity of the model (such as multiple agent types and agent interactions), as we illustrate by adding a predator to our example simulation. Between these two parallelisation approaches to the case study, the environment-parallel version of the model, written in C++ instead of Java, proved more efficient and successful at handling parallel processing of complex agent interactions. In conclusion, we use our experiences of creating large agent-based simulations to provide some general guidelines for best practice in agent-based model scaling.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 299.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 379.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 379.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Message Passing Interface for Java (MPIJava) http://www.hpjava.org/mpiJava.html is no longer available for download online. It has been super-ceded by MPJ-Express http://mpj-express.org/

  2. 2.

    See glossary for definition of MPI

References

  • Abbott, C. A., Berry, M. W., Comiskey, E. J., Gross, L. J., & Luh, H.-K. (1997). Parallel individual-based modeling of Everglades deer ecology. IEEE Computational Science and Engineering, 4, 60–78.

    Article  Google Scholar 

  • Ankersmit, G. W., Dijkman, H., Keuning, N. J., Mertens, H., Sins, A., & Tacoma, H. M. (1986). Episyrphus balteatus as a predator of the aphid Sitobion avenae on winter wheat. Entomologia Experimentalis et Applicata, 42, 271–277.

    Article  Google Scholar 

  • Barlow, N. D., & Dixon, A. F. G. (1980). Simulation of lime aphid population dynamics. Wageningen: Centre for Agricultural Publishing and Documentation.

    Google Scholar 

  • Barnes, D. J., & Hopkins, T. R. (2003). The impact of programming paradigms on the efficiency of an individual-based simulation model. Simulation Modelling Practice and Theory, 11, 557–569.

    Article  Google Scholar 

  • Bithell, M., & Macmillan, W. (2007). Escape from the cell: Spatial modelling with and without grids. Ecological Modelling, 200, 59–78.

    Article  Google Scholar 

  • Bokma, A., Slade, A., Kerridge, S., & Johnson, K. (1994). Engineering large-scale agent-based systems with consensus. Robotics and Computer-Integrated Manufacturing, 11, 81–91.

    Article  Google Scholar 

  • Bouzid, M., Chevrier, V., Vialle, S., & Charpillet, F. (2001). Parallel simulation of a stochastic agent/environment interaction model. Integrated Computer-Aided Engineering, 8, 189–203.

    Google Scholar 

  • Castiglione, F., Bernaschi, M., & Succi, S. (1997). Simulating the immune response on a distributed parallel computer. International Journal of Modern Physics C, 8, 527–545.

    Article  Google Scholar 

  • Chave, J. (1999). Study of structural, successional and spatial patterns in tropical rain forests using TROLL, a spatially explicit forest model. Ecological Modelling, 124, 233–254.

    Article  Google Scholar 

  • Cornwell, C. F., Wille, L. T., Wu, Y. G., & Sklar, F. H. (2001). Parallelization of an ecological landscape model by functional decomposition. Ecological Modelling, 144, 13–20.

    Article  Google Scholar 

  • Da-Jun, T., Tang, F., Lee, T. A., Sarda, D., Krishnan, A., & Goryachev, A. (2004). Parallel computing platform for the agent-based modeling of multicellular biological systems. Parallel and distributed computing: Applications and technologies. Lecture Notes in Computer Science, 3320, 5–8.

    Article  Google Scholar 

  • Dibble, C., Wendel, S., & Carle, K. (2007). Simulating pandemic influenza risks of US cities. In Proceedings of the 2007 winter simulation conference, Vols 1–5 (pp. 1527–1529). New York: IEEE Press.

    Google Scholar 

  • Dupuis, A., & Chopard, B. (2001). Parallel simulation of traffic in Geneva using cellular automata. In E. Kühn (Ed.), Virtual shared memory for distributed architecture. Commack: Nova Science Publishers, Inc.

    Google Scholar 

  • Foster, I. (1995). Designing and building parallel programs. Reading: Addison-Wesley.

    Google Scholar 

  • Gasser, L., Kakugawa, K., Chee, B., & Esteva, M. (2005). Smooth scaling ahead: Progressive MAS simulation from single PCs to Grids. Multi-agent and multi-agent-based simulation. Joint Workshop MABS 2004, 19 July 2004. New York: Springer.

    Google Scholar 

  • Gilbert, N. (2007). Agent-based models. London, UK: Sage.

    Google Scholar 

  • Grimm, V., & Railsback, S. F. (2012). Designing, formulating and communicating agent-based models. In A. J. Heppenstall, A. T. Crooks, L. M. See, & M. Batty (Eds.), Agent-based models of geographical systems. Dordrecht: Springer. pp. 361–377.

    Google Scholar 

  • Grimm, V., Berger, U., Bastiansen, F., Eliassen, S., Ginot, V., Giske, J., et al. (2006). A standard protocol for describing individual-based and agent-based models. Ecological Modelling, 198, 115–126.

    Article  Google Scholar 

  • Haefner, J. W. (1992). Parallel computers and individual-based models: An overview. In D. L. DeAngelis & L. J. Gross (Eds.), Individual-based models and approaches in ecology: Populations, communities and ecosystems (pp. 126–164). New York: Routledge, Chapman and Hall.

    Google Scholar 

  • Harmel, N., Almohamad, R., Fauconnier, M.-L., Jardin, P. D., Verheggen, F., Marlier, M., et al. (2007). Role of terpenes from aphid-infested potato on searching and oviposition behaviour of Episyrphus balteatus. Insect Science, 14, 57–63.

    Article  Google Scholar 

  • Hellweger, F. L. (2008). Spatially explicit individual-based modeling using a fixed super-individual density. Computers and Geosciences, 34, 144–152.

    Article  Google Scholar 

  • Hemptinne, J.-L., Dixon, A. F. G., Doucet, J.-L., & Petersen, J.-E. (1993). Optimal foraging by hoverflies (Diptera, Syrphidae) and ladybirds (Coleoptera: Coccinellidae): Mechanisms. European Journal of Entomology, 90, 451–455.

    Google Scholar 

  • Holloway, G. J., & McCaffery, A. R. (1990). Habitat utilisation and dispersion in Eristalis pertinax (Diptera: Syrphidae). Entomologist, 109, 116–124.

    Google Scholar 

  • Host, G. E., Stech, H. W., Lenz, K. E., Roskoski, K., & Mather, R. (2008). Forest patch modeling: Using high performance computing to simulate aboveground interactions among individual trees. Functional Plant Biology, 35, 976–987.

    Article  Google Scholar 

  • Immanuel, A., Berry, M. W., Gross, L. J., Palmer, M., & Wang, D. (2005). A parallel implementation of ALFISH: Simulating hydrological compartmentalization effects on fish dynamics in the Florida Everglades. Simulation Modelling Practice and Theory, 13, 55–76.

    Article  Google Scholar 

  • Ishida, T., Gasser, L., & Nakashima, H. (2005). Massively multi-agent systems I. First international workshop, in MMAS 2004. Heidelberg: Springer-Verlag.

    Google Scholar 

  • Jamali, N., Scerri, P., & Suguwara, T. (Eds.) (2008). Massively multi-agent technology: AAMAS workshops, MMAS 2006, LSMAS 2006, and CCMMS 2007 Hakodate, May 9, 2006 Honolulu, May 15, 2007, Selected and Revised Papers, LNAI 5043, Heidelberg: Springer-Verlag.

    Google Scholar 

  • Kadau, K., Germann, T. C., & Lomdahl, P. S. (2006). Molecular dynamics comes of age: 320 billion atom simulation on BlueGene/L. International Journal of Modern Physics C, 17, 1755.

    Article  Google Scholar 

  • Kareiva, P., & Odell, G. (1987). Swarms of predators exhibit “preytaxis” if individual predators use area-restricted search. The American Naturalist, 130, 233–270.

    Article  Google Scholar 

  • Khronos (2010). OpenCL implementations, tutorials and sample code. Beaverton. http://www.khronos.org/developers/resources/opencl

  • Kindlmann, P., & Dixon, A. F. G. (1993). Optimal foraging in ladybird beetles (Coleoptera: Coccinellidae) and its consequences for their use in biological control. European Journal of Entomology, 90, 443–450.

    Google Scholar 

  • Kirk, D. B., & Hwu, W. W. (2010). Programming massively parallel processors: A hands-on approach. Burlington: Morgan-Kaufmann.

    Google Scholar 

  • Lomdahl, P. S., Beazley, D. M., Tamayo, P., & Gronbechjensen, N. (1993). Multimillion particle molecular-dynamics on the CM-5. International Journal of Modern Physics C: Physics and Computers, 4, 1075–1084.

    Article  Google Scholar 

  • Lorek, H., & Sonnenschein, M. (1995). Using parallel computers to simulate individual-oriented models in ecology: A case study. In Proceedings, ESM ‘95 European Simulation Multiconference, Prague, June 1995.

    Google Scholar 

  • Lozano, M., Morillo, P., Lewis, D., Reiners, D., & Cruz-Neira, C. (2007). A distributed framework for scalable large-scale crowd simulation. In R. Shumaker (Ed.), Virtual reality, HCII 2007. Lecture Notes in Computer Science, 4563, 111–121.

    Google Scholar 

  • Lysenko, M., & D’Souza, R. M. (2008). A framework for megascale agent-based model simulations on graphics processing units. Journal of Artificial Societies and Social Simulation, 11(4), 10. Available at: http://jasss.soc.surrey.ac.uk/11/4/10.html

  • Massaioli, F., Castiglione, F., & Bernaschi, M. (2005). OpenMP parallelization of agent-based models. Parallel Computing, 31, 1066–1081.

    Article  Google Scholar 

  • Mellott, L. E., Berry, M. W., Comiskey, E. J., & Gross, L. J. (1999). The design and implementation of an individual-based predator-prey model for a distributed computing environment. Simulation Practice and Theory, 7, 47–70.

    Article  Google Scholar 

  • Metz, J. A. J., & de Roos, A. M. (1992). The role of physiologically structured population models within a general individual based model perspective. In D. L. DeAngelis & L. J. Gross (Eds.), Individual based models and approaches in ecology: Concepts and models (pp. 88–111). New York: Routledge, Chapman and Hall.

    Google Scholar 

  • Minson, R., & Theodoropoulos, G. K. (2008). Distributing RePast agent-based simulations with HLA. Concurrency and Computation: Practice and Experience, 20, 1225–1256.

    Article  Google Scholar 

  • Nagel, K., & Rickert, M. (2001). Parallel implementation of the TRANSIMS micro-simulation. Parallel Computing, 27, 1611–1639.

    Article  Google Scholar 

  • Nichols, J. A., Hallam, T. G., & Dimitrov, D. T. (2008). Parallel simulation of ecological structured communities: Computational needs, hardware capabilities, and nonlinear applications. Nonlinear Analysis-Theory Methods & Applications, 69, 832–842.

    Article  Google Scholar 

  • Openshaw, S., & Turton, I. (2000). High performance computing and the art of parallel programming: An introduction for geographers, social scientists, and engineers. London: Routledge.

    Google Scholar 

  • Pacheco, P. S. (1997). Parallel programming with MPI. San Francisco: Morgan Kauffman Publishers.

    Google Scholar 

  • Parry, H. R. (2006). Effects of land management upon species population dynamics: A spatially explicit, individual-based model (Unpublished PhD thesis, University of Leeds, Leeds).

    Google Scholar 

  • Parry, H. R. (2009). Agent based modeling, large scale simulations. In R. A. Meyers (Ed.), Encyclopedia of complexity and systems science (pp. 148–160). New York: Springer.

    Google Scholar 

  • Parry, H. R., & Evans, A. J. (2008). A comparative analysis of parallel processing and super-individual methods for improving the computational performance of a large individual-based model. Ecological Modelling, 214, 141–152.

    Article  Google Scholar 

  • Parry, H. R., Evans, A. J., & Heppenstall, A. J. (2006a). Millions of agents: Parallel simulations with the Repast agent-based toolkit. In Trappl, R. (Ed.), Cybernetics and Systems 2006, Proceedings of the 18th European Meeting on Cybernetics and Systems Research. Vienna: Austrian Society for Cybernetic Studies.

    Google Scholar 

  • Parry, H. R., Evans, A. J., & Morgan, D. (2006). Aphid population response to agricultural landscape change: A spatially explicit, individual-based model. Ecological Modelling, 199, 451–463.

    Article  Google Scholar 

  • Popov, K., Vlassov, V., Rafea, M., Holmgren, F., Brand, P., & Haridi, S. (2003). Parallel agent-based simulation on a cluster of workstations. EURO-PAR 2003 Parallel Processing, 2790, 470–480.

    Google Scholar 

  • Powell, W., A’Hara, S., Harling, R., Holland, J. M., Northing, P., Thomas, C. F. G., & Walters, K. F. A. (2004). 3D Farming: Making biodiversity work for the farmer. Report to Defra LK0915.

    Google Scholar 

  • Railsback, S. F., Lytinen, S. L., & Grimm, V. (2005). StupidModel and extensions: A template and teaching tool for agent-based modeling platforms. Available at: http://condor.depaul.edu/~slytinen/abm/StupidModelFormulation.pdf

  • Ramachandramurthi, S., Hallam, T. G., & Nichols, J. A. (1997). Parallel simulation of individual-based, physiologically structured population models. Mathematical and Computer Modelling, 25, 55–70.

    Article  Google Scholar 

  • Rao, D. M., Chernyakhovsky, A., & Rao, V. (2009). Modelling and analysis of global epidemiology of avian influenza. Environmental Modelling and Software, 24, 124–134.

    Article  Google Scholar 

  • Richmond, P., Coakley, S., & Romano, D. (2009a). A high performance agent-based modelling framework on graphics card hardware with CUDA. In K. Decker, J. Sichman, C. Sierra, and C. Castelfranchi (Eds.), Proceeding of 8th International Conference on Autonomous Agents and Multiagent Systems (AAMAS 2009), 10–15 May 2009. Budapest

    Google Scholar 

  • Richmond, P., Coakley, S., & Romano, D. (2009b). Cellular level agent-based modelling on the graphics processing unit. In International Workshop on High Performance Computational Systems Biology HIBI’09, 14–16 Oct 2009, Trento.

    Google Scholar 

  • Scheffer, M., Baveco, J. M., DeAngelis, D. L., Rose, K. A., & van Nes, E. H. (1995). Super-Individuals: A simple solution for modelling large populations on an individual basis. Ecological Modelling, 80, 161–170.

    Article  Google Scholar 

  • Schuler, A. J. (2005). Diversity matters: Dynamic simulation of distributed bacterial states in suspended growth biological wastewater treatment systems. Biotechnology and Engineering, 91, 62–74.

    Google Scholar 

  • Springel, V. (2005). The cosmological simulation code GADGET-2. Monthly Notices of the Royal Astronomical Society, 364, 1105–1134.

    Article  Google Scholar 

  • Stage, A. R., Crookston, N. L., & Monserud, R. A. (1993). An aggregation algorithm for increasing the efficiency of population models. Ecological Modelling, 68, 257–271.

    Article  Google Scholar 

  • Standish, R. K., & Madina, D. (2008). Classdesc and graphcode: Support for scientific programming in C++, arXiv:cs.CE/0610120. Available from http://arxiv.org/abs/cs.CE/0610120

  • Stone, J. E., Phillips, J. C., Freddolino, P. L., Hardy, D. J., Trabuco, L. G., & Schulten, K. (2007). Accelerating molecular modelling applications with graphics processors. Journal of Computational Chemistry, 28, 2618–2640.

    Article  Google Scholar 

  • Takeuchi, I. (2005). A massively multi-agent simulation system for disaster mitigation. In Massively Multi-Agent Systems I: First International Workshop MMAS 2004, Kyoto Dec 2004. Heidelberg: Springer-Verlag.

    Google Scholar 

  • Tenhumberg, B. (1995). Estimating predatory efficiency of Episyrphus balteatus (Diptera: Syrphidae) in cereal fields. Environmental Entomology, 24, 687–691.

    Google Scholar 

  • Tenhumberg, B. (2004). Predicting predation efficiency of biocontrol agents: Linking behavior of individuals and population dynamic. In C. Pahl-Wostl, S. Schmidt, T. Jakeman (Eds.), iEMSs 2004 International Congress: Complexity and Integrated Resources Management. Osnabrueck: International Environmental Modelling and Software Society.

    Google Scholar 

  • Timm, I. J., & Pawlaszczyk, D. (2005). Large scale multiagent simulation on the grid. In Proceedings of the Workshop on Agent-based Grid Economics (AGE 2005) at the IEEE International Symposium on Cluster Computing and the Grid (CCGRID). Cardiff: Cardiff University

    Google Scholar 

  • Wang, D., Gross, L., Carr, E., & Berry, M. (2004). Design and implementation of a parallel fish model for South Florida. In Proceedings of the 37th Annual Hawaii International Conference on System Sciences (HICSS ‘04), 5–8 Jan 2004, Big Island: IEEE Computer Society

    Google Scholar 

  • Wang, D., Carr, E., Gross, L. J., & Berry, M. W. (2005). Toward ecosystem modeling on computing grids. Computing in Science and Engineering, 7, 44–52.

    Article  Google Scholar 

  • Wang, D., Berry, M. W., Carr, E. A., & Gross, L. J. (2006). A parallel fish landscape model for ecosystem modeling. Simulation, 82, 451–465.

    Article  Google Scholar 

  • Wang, D., Berry, M. W., & Gross, L. J. (2006). On parallelization of a spatially-explicit structured ecological model for integrated ecosystem simulation. International Journal of High Performance Computing Applications, 20, 571–581.

    Article  Google Scholar 

  • Wendel, S., & Dibble, C. (2007). Dynamic agent compression. Journal of Artificial Societies and Social Simulation, 10(2), 9. Available at: http://jasss.soc.surrey.ac.uk/10/2/9.html

  • Wilkinson, B., & Allen, M. (2004). Parallel programming: Techniques and applications using networked workstations and parallel computers (2nd ed.). New Jersey: Pearson Prentice Hall.

    Google Scholar 

  • Woods, J. D. (2005). The Lagrangian Ensemble metamodel for simulating plankton ecosystems. Progress in Oceanography, 67, 84–159.

    Article  Google Scholar 

  • Woods, J., & Barkmann, W. (1994). Simulating plankton ecosystems by the Lagrangian ensemble method. Philosophical Transactions of the Royal Society of London Series B-Biological Sciences, 343, 27–31.

    Article  Google Scholar 

  • Wu, Y. G., Sklar, F. H., Gopu, K., & Rutchey, K. (1996). Fire simulations in the Everglades Landscape using parallel programming. Ecological Modelling, 93, 113–124.

    Article  Google Scholar 

Download references

Acknowledgements

Much of this work was undertaken whilst the lead author was at the Food and Environment Research Agency, UK and the School of Geography at the University of Leeds, UK, funded by Defra. Many thanks to the Advanced Scientific Computing team at CSIRO for their assistance in running the models on the cluster, particularly Aaron McDonagh and Tim Ho, and also to Dr Andrew Evans at the University of Leeds for assistance in the early stages of this work.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hazel R. Parry .

Editor information

Editors and Affiliations

Appendix: Rules for Hoverfly Sub-Model

Appendix: Rules for Hoverfly Sub-Model

1.1 Development

Development of hoverflies is highly simplified, and birth and death is minimised (see below). The only development that occurs in the model is the transition of larvae to adults. In this, there is a 50% probability that the hoverfly will be female (determined at birth) and male hoverflies are not included in the model from this stage onwards as their activities are assumed not to influence the distribution of larvae and thus the mortality of the aphids.

The transition from larvae to adult is modelled with the assumption that the larvae need to eat a minimum of 120 aphids in total to reach a weight at which they are able to pupate (28 mg) (Ankersmit et al. 1986). Thus, once this number of aphids has been consumed by an individual larva it pupates and becomes an adult (if male, it is then removed from the model).

1.2 Reproduction

In this model oviposition occurs once within a single 1 m2 area (i.e. grid cell) per day. This occurs providing aphids are present and the location has no other larvae. It is assumed only one egg is laid per day within the cell, and the egg is assumed to become a larva the next day. This is probably an underestimate; however, it can easily be modified at a later stage. A suggested estimate may be up to 49 eggs within a 1 m2 area per day, based upon Harmel et al. (2007), where a high oviposition rate of E. balteatus was observed when aphid-infested potato was studied (a mean of 48.9 eggs per laying and per female). This study also found that no eggs were produced by the hoverfly on healthy aphid-free plants.

1.3 Mortality

The scenarios shown here do not include adult hoverfly mortality. Experiments with mortality in the model showed that adult mortality has a high impact upon the population dynamics of the syrphids and should be included in further developments of the model.

Mortality of larvae occurs when no aphids are present to feed them (possible if aphids are consumed or are alate and fly away); otherwise there is no mortality of larvae.

1.4 Movement and Dispersal

Movement of syrphids and oviposition is key to this model. A number of rules govern the oviposition of larvae by female adult syrphids:

  • Search for prey is not random (Kindlmann and Dixon 1993).

  • Refrains from ovipositing in the presence of conspecific larvae (Hemptinne et al. 1993).

  • Avoids laying eggs close to old aphid colonies, recognized by the presence of winged aphids (Hemptinne et al. 1993).

In this model, rules govern a non-random search for prey, where eggs are only laid where aphid colonies are present and oviposition does not occur where larvae are already present. The model does not include a rule to recognise old aphid colonies at present, but this information is available in the model and could be included at a later stage.

1.5 Basic Movement

A model of syrphid predator movement proposed by Kareiva and Odell (1987) is that predators move at constant speed but change direction of movement more often when satiated (area restricted search), and that increase in prey density increases the feeding rate and satiation of the predators (applied to Uroleucon nigrotuberculatum and Coccinella septempunctata). However, this may have restricted applicability to the early stages of aphid colony development (Kindlmann and Dixon 1993) and it has not been proved that this strategy is optimal (it was arbitrarily chosen).

This model will use a simplified movement rule based upon this principle – the adult female hoverflies move in a random direction, but move a greater distance if no aphids are present or the crop is early in season. It has been shown that crop growth stage and habitat type may influence syrphid movement patterns and oviposition (Powell et al. 2004), providing the foundations for this behavioural rule.

It is assumed that hoverflies move between 4 and 6 m a day (given that a mark-recapture study of Holloway and McCaffery (1990) found hoverflies moved between 20–30 m in a 5 day period). Thus, in the model, ‘focused’ movement in favourable habitat (margins or late season crop) or around aphid colonies is set between 0 and 4 m, and in unfavourable habitat (early season crop), movement is set at 4–6 m per day.

1.6 Foraging Optimisation

It has been suggested that the model of Kareiva and Odell (1987) can be improved by adding terms to describe foraging optimisation (Kindlmann and Dixon 1993). This will enable the model to function at later stages of aphid colony development. The ability of the predator to assess the present and future quality of an aphid colony for their larvae should be included in the model. The effect of more than one aphid colony present in a landscape should also be considered – the presence of other colonies is likely to reduce the optimal number of eggs laid by the predator in a particular aphid colony (Kindlmann and Dixon 1993).

This is applied in the model through a simple behavioural rule: if there are aphids present within a given 1 m2 location but other larvae are also present, the hoverfly does not oviposit but moves on a short distance.

1.7 Parasitation/Predation

A very simple model of aphid consumption was constructed based on the research of Ankersmit et al. (1986):

$$ MORT=(0.3119{e}^{0.0337(A\times 24)}\times D+(2.512{e}^{0.0253(A\times 24)})$$
(14.1)

where MORT is the predation rate per day; A is the age of the Syrphid larvae in days; and D is the density of aphids per cm2 (which is scaled down from 1 m2 in the model). More recent, complex models exist, e.g. the use of a Holling type-III function by Tenhumberg (1995). However, the nature of the model presented here at this stage does not require this level of complexity.

Glossary

Please note this glossary is largely taken from Parry (2009).

Beowulf cluster

A scalable performance computer cluster (distributed system) based on commodity hardware, on a private system network, with open source software (Linux) infrastructure (see http://www.beowulf.org/)

Block Mapping

A method of partitioning an array of elements between cores of a distributed system, where the array elements are partitioned as evenly as possible into blocks of consecutive elements and assigned to processors. The size of the blocks approximates to the number of array elements divided by the number of processors.

Central Processing Unit (CPU)

May be referred to as a ‘core’ or ‘node’ in parallel computing: computer hardware that executes (processes) a sequence of stored instructions (a program).

Cyclic Mapping

A method of partitioning an array of elements between cores of a distributed system, where the array elements are partitioned by cycling through each core and assigning individual elements of the array to each core in turn.

Grid

Computer ‘Grids’ are comprised of a large number of disparate computers (often desktop PCs) that are treated as a virtual cluster when linked to one another via a distributed communication infrastructure (such as the internet or an intranet). Grids facilitate sharing of computing, application, data and storage resources. Grid computing crosses geographic and institutional boundaries, lacks central control, and is dynamic as cores are added or removed in an uncoordinated manner. BOINC computing is a form of distributed computing where idle time on CPUs may be used to process information (http://boinc.berkeley.edu/)

Graphics Processing Unit (GPU)

Computer hardware designed to efficiently perform computer graphics calculations, particularly for 3-dimensional objects. It operates in a similar manner to a vector computer, but is now widely available as an alternative to the standard CPU found in desktop computers.

Message passing (MP)

Message passing (MP) is the principle way by which parallel clusters of machines are programmed. It is a widely-used, powerful and general method of enabling distribution and creating efficient programs (Pacheco 1997). Key advantages of using MP architectures are an ability to scale to many processors, flexibility, ‘future-proofing’ of programs and portability (Openshaw and Turton 2000).

Message passing interface (MPI)

A computing standard that is used for programming parallel systems. It is implemented as a library of code that may be used to enable message passing in a parallel computing system. Such libraries have largely been developed in C and FORTRAN, but are also used with other languages such as Java (MPJ-Express http://mpj-express.org/). It enables developers of parallel software to write parallel programs that are both portable and efficient.

Multiple Instruction Multiple Data (MIMD)

Parallelisation where different algorithms are applied to different data items on different processors.

Parallel computer architecture

A parallel computer architecture consists of a number of identical units that contain CPUs (Central Processing Units) and function as ordinary serial computers. These units, called cores, are connected to one another. They may transfer information and data between one another (e.g. via MPI) and simultaneously perform calculations on different data.

Single Instruction Multiple Data (SIMD)

SIMD techniques exploit data level parallelism: when a large mass of data of a uniform type needs the same instruction performed on it. An example is a vector or array processor and also a GPU. An application that may take advantage of SIMD is one where the same value is being added (or subtracted) to a large number of data points.

Stream Processing

Stream Processing is similar to a SIMD approach, where a mathematical operation is instructed to run on multiple data elements simultaneously.

Vector Computer/Vector Processor

Vector computers contain a CPU designed to run mathematical operations on multiple data elements simultaneously (rather than sequentially). This form of processing is essentially a SIMD approach. The Cray Y-MP and the Convex C3880 are two examples of vector processors used for supercomputing in the 1980s and 1990s. Today, most recent commodity CPU designs include some vector processing instructions.

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer Science+Business Media B.V.

About this chapter

Cite this chapter

Parry, H.R., Bithell, M. (2012). Large Scale Agent-Based Modelling: A Review and Guidelines for Model Scaling. In: Heppenstall, A., Crooks, A., See, L., Batty, M. (eds) Agent-Based Models of Geographical Systems. Springer, Dordrecht. https://doi.org/10.1007/978-90-481-8927-4_14

Download citation

Publish with us

Policies and ethics