Article Outline
Glossary
Definition of the Subject
Introduction
Large Scale Agent Based Models: Guidelines for Development
Parallel Computing
Example
Future Directions
Acknowledgments
Bibliography
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Abbreviations
- Agent:
-
A popular definition of an agent, particularly in AI research, is that of Wooldridge [45], pp. 29: “an agent is a computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives”. In particular, it is the autonomy, flexibility, inter-agent communication, reactivity and proactiveness of the agents that distinguishes the paradigm and gives power to agent-based models and multi-agent simulation [15,21]. Multi-agent systems (MAS) comprise of numerous agents, which are given rules by which they act and interact with one another to achieve a set of goals.
- Block mapping:
-
A method of partitioning an array of elements between nodes 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.
- Complexity:
-
Complexity and complex systems pertain to ideas of randomness and irregularity in a system, where individual-scale interactions may result in either very complex or surprisingly simple patterns of behavior at the larger scale. Complex agent-based systems are therefore usually made up of agents interacting in a non-linear fashion. The agents are capable of generating emergent behavioral patterns, of deciding between rules and of relying upon data across a variety of scales. The concept allows for studies of interaction between hierarchical levels rather than fixed levels of analysis.
- Cyclic mapping:
-
A method of partitioning an array of elements between nodes of a distributed system, where the array elements are partitioned by cycling through each node and assigning individual elements of the array to each node 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 nodes are added or removed in an unco-ordinated manner. BOINC computing is a form of distributed computing is where idle time on CPUs may be used to process information (http://boinc.berkeley.edu/).
- Ising-type model:
-
Ising-type models have been primarily used in the physical sciences. They simulate behavior in which individual elements (e. g., atoms, animals, social behavior, etc.)modify their behavior so as to conform to the behavior of other individuals in their vicinity.Conway's Game of Life is a Ising-type model, where cells are in one of two states: dead or alive.In biology, the technique is used to model neural networks and flocking birds, for example.
- 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 [30]. Key advantages of using MP architectures are an ability to scale to many processors, flexibility, ‘future-proofing’ of programs and portability [29].
- 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 (MPIJava http://www.hpjava.org). It enables developers of parallel software to write parallel programs that are both portable and efficient.
- Multiple instruction multiple data (MIMD):
-
Parallelization 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) which function as ordinary serial computers. These units, called nodes, are connected to one another (Fig. 1). 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. 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.
- 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.
Bibliography
Primary Literature
Abbott CA, Berry MW, Comiskey EJ, Gross LJ, Luh H-K (1997) Parallel Individual-Based Modeling of Everglades Deer Ecology. IEEE Comput Sci Eng 4(4):60–78
Anderson J (2000) A Generic Distributed Simulation System for Intelligent Agent Design and Evaluation. In: Proceedings of the AI, Simulation & Planning In High Autonomy Systems, Arizona
Bokma A, Slade A, Kerridge S, Johnson K (1994) Engineering large-scale agent- based systems with consensus. Robot Comput-Integr Manuf 11(2):81–91
Bouzid M, Chevrier V, Vialle S, Charpillet F (2001) Parallel simulation of a stochastic agent/environment interaction model. Integr Comput-Aided Eng 8(3):189–203
Castiglione F, Bernaschi M, Succi S (1997) Simulating the Immune Response on a Distributed Parallel Computer. Int J Mod Phys C 8(3):527–545
Chalmers A, Tidmus J (1996) Practical Parallel Processing: An Introduction to Problem Solving in Parallel. International Thomson Computer Press, London
Da-Jun T, Tang F, Lee TA, Sarda D, Krishnan A, Goryachev A (2004) Parallel computing platform for the agent-based modeling of multicellular biological systems.In: Parallel and Distributed Computing: Applications and Technologies. Lecture Notes in Computer Science, vol 3320, pp 5–8
Fujimoto RM (1998) Time management in the high level architecture.Simul 71:388–400
Gasser L, Kakugawa K (2002) MACE3J: Fast flexible distributed simulation of large, large-grain multi-agent systems. In: Proceedings of AAMAS
Gasser L, Kakugawa K, Chee B, Esteva M (2005) Smooth scaling ahead: progressive MAS simulation from single PCs to Grids. In: Davidsson P, Logan B, Takadama K (eds) Multi-agent and multi-agent-based simulation. Joint Workshop MABS 2004 New York, NY, USA, July 19, 2004.Springer, Berlin
Gilbert N (2007) Agent-based Models (Quantitative applications in the social siences). SAGE, London
Grimm V, Berger U, Bastiansen F, Eliassen S, Ginot V, Giske J, Goss-Custard J, Grand T, Heinz S, Huse G, Huth A, Jepsen JU, Jorgensen C, Mooij WM, Muller B, Pe'er G, Piou C, Railsback SF, Robbins AM, Robbins MM, Rossmanith E, Ruger N, Strand E, Souissi S, Stillman RA, Vabo R, Visser U, DeAngelis DL (2006) A standard protocol for describing individual-based and agent-based models. Ecol Model 198(1–2):115–126
Grimm V, Railsback SF (2005) Individual-based Modeling and Ecology. Princeton Series in Theoretical and Computational Biology. Princeton University Press, Princeton, 480 pp
Guessoum Z, Briot J-P, Faci N (2005) Towards fault-tolerant massively multiagent system. In: Ishida T, Gasser L, Nakashima H (eds) Massively Multi-Agent Systems I: First International Workshop MMAS 2004, Kyoto, Japan, December 2004. Springer, Berlin
Heppenstall AJ (2004) Application of Hybrid Intelligent Agents to Modelling a Dynamic, Locally Interacting Retail Market. Ph D thesis, University of Leeds, UK
Horling B, Lesser V (2005) Quantitative organizational models for large-scale agent systems. In: Ishida T, Gasser L, Nakashima H (eds) Massively Multi-Agent Systems I: First International Workshop MMAS 2004, Kyoto, Japan, December 2004. Springer, Berlin
Immanuel A, Berry MW, Gross LJ, Palmer M, Wang D (2005) A parallel implementation of ALFISH: simulating hydrological compartmentalization effects on fish dynamics in the Florida Everglades. Simul Model Pract Theory 13:55–76
Ishida T, Gasser L, Nakashima H (eds) (2005) Massively Multi-Agent Systems I. First International Workshop, MMAS 2004, Kyoto, Japan. Springer, Berlin
Jang MW (2006) Agent framework services to reduce agent communication overhead in large-scale agent-based simulations. Simul Model Pract Theory 14(6):679–694
Jang MW, Agha G (2005) Adaptive agent allocation for massively multi-agent applications. In: Ishida T, Gasser L, Nakashima H (eds) Massively Multi-Agent Systems I: First International Workshop MMAS 2004, Kyoto, Japan, December 2004. Springer, Berlin
Jennings NR (2000) On agent-based software engineering. Artif Intell 117:277–296
Kadau K, Germann TC, Lomdahl PS (2006) Molecular dynamics comes of age: 320 billion atom simulation on BlueGene/L. Int J Mod Phys C 17(12):1755
Lees M, Logan B, Oguara T, Theodoropoulos G (2003) Simulating Agent-Based Systems with HLA: The case of SIM_AGENT – Part II. In: Proceedings of the 2003 European Simulation Interoperability Workshop
Lees M, Logan B, Theodoropoulos G (2002) Simulating Agent-Based Systems with HLA: The case of SIM_AGENT. In: Proceedings of the 2002 European Simulation Interoperability Workshop, pp 285–293
Logan B, Theodoropolous G (2001) The Distributed Simulation of Multi-Agent Systems. Proc IEEE 89(2):174–185
Lomdahl PS, Beazley DM, Tamayo P, Gronbechjensen N (1993) Multimillion particle molecular-dynamics on the CM-5. Int J Mod Phys C: Phys Comput 4(6):1075–1084
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
Luke S, Cioffi-Revilla C, Panait L, Sullivan K (2004) MASON: A New Multi-Agent Simulation Toolkit. In: Proceedings of the 2004 SwarmFest Workshop
Openshaw S, Turton I (2000) High performance computing and the art of parallel programming: an introduction for geographers, social scientists, engineers. Routledge, London
Pacheco PS (1997) Parallel Programming with MPI. Morgan Kauffman Publishers, San Francisco
Parry HR (2006) Effects of Land Management upon Species Population Dynamics: A Spatially Explicit, Individual-based Model. Ph D thesis, University of Leeds
Parry HR, Evans AJ (in press) A comparative analysis of parallel processing and super-individual methods for improving the computational performance of a large individual-based model. Ecological Modelling
Parry HR, Evans AJ, Heppenstall AJ (2006) 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
Popov K, Vlassov V, Rafea M, Holmgren F, Brand P, Haridi S (2003) Parallel agent-based simulation on a cluster of workstations. In: EURO-PAR 2003 Parallel Processing, vol 2790, pp 470–480
Scheffer M, Baveco JM, DeAngelis DL, Rose KA, van Nes EH (1995) Super-Individuals: a simple solution for modelling large populations on an individual basis. Ecol Model 80:161–170
Scheutz M, Schermerhorn P (2006) Adaptive Algorithms for the Dynamic Distribution and Parallel Execution of Agent-Based Models. J Parallel Distrib Comput 66(8):1037–1051
Takahashi T, Mizuta H (2006) Efficient agent-based simulation framework for multi-node supercomputers. In: Perrone LF, Wieland FP, Liu J, Lawson BG, Nicol DM, Fujimoto RM (eds) Proceedings of the 2006 Winter Simulation Conference
Takeuchi I (2005) A massively multi-agent simulation system for disaster mitigation. In: Ishida T, Gasser L, Nakashima H (eds) Massively Multi-Agent Systems I: First International Workshop MMAS 2004, Kyoto, Japan, December 2004.Springer, Berlin
Timm IJ, Pawlaszczyk D (2005) Large Scale Multiagent Simulation on the Grid. In: Veit D, Schnizler B, Eymann T (eds) Proceedings of the Workshop on Agent-based grid Economics (AGE 2005) at the IEEE International Symposium on Cluster Computing and the Grid (CCGRID). Cardiff University, Cardiff
Wang D, Berry MW, Carr EA, Gross LJ (2006a) A parallel fish landscape model for ecosystem modeling. Simul 82(7):451–465
Wang D, Berry MW, Gross LJ (2006b) On parallelization of a spatially-explicit structured ecological model for integrated ecosystem simulation.Int J High Perform Comput Appl 20(4):571–581
Wang D, Carr E, Gross LJ, Berry MW (2005a) Toward ecosystem modeling on computing grids. Comput Sci Eng 7:44–52
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)
Wang F, Turner SJ, Wang L (2005b) Agent Communication in Distributed Simulations. In: Davidsson P, Logan B, Takadama K (eds) Multi-agent and multi-agent-based simulation. Joint Workshop MABS 2004 New York, NY, USA, July 19, 2004. Springer, Berlin
Wooldridge M (1999) Intelligent agents. In: Weiss G (ed) Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence. MIT Press, Cambridge, pp 27–78
Zhang S, Lui J (2005) A massively multi-agent system for discovering HIV-immune interaction dynamics. In: Ishida T, Gasser L, Nakashima H (eds) Massively Multi-Agent Systems I: First International Workshop MMAS 2004, Kyoto, Japan, December 2004. Springer, Berlin
Zhang Y, Thedoropoulos G, Minson R, Turner SJ, Cai W, Xie Y, Logan B (2005) Grid-aware Large Scale Distributed Simulation of Agent-based Systems.In: 2004 European Simulation Interoperability Workshop (EuroSIW 2005), 05E-SIW-047, Toulouse, France
Books and Reviews
Agent libraries and toolkits with distributed or parallel features:
• Distributed GenSim: Supports distributed parallel execution [2].
• Ecolab: http://ecolab.sourceforge.net/. EcoLab models may also use the Graphcode library to implement a distributed network of agents over an MPI-based computer cluster.
• Graphcode system http://parallel.hpc.unsw.edu.au/rks/graphcode/.
• MACE3J: http://www.isrl.uiuc.edu/amag/mace/ an experimental agent platform supporting deployment of agent simulations across a variety of system architectures [9,10].
• MASON http://cs.gmu.edu/~eclab/projects/mason/. MASON was ‘not intended to include parallelization of a single simulation across multiple networked processors’ [28].However, it does provide two kinds of simple parallelization:
1. Any given step in the simulation can be broken into parallel sub-steps each performed simultaneously.
2. A simulation step can run asynchronously in the background independent of the simulation.
• Repast http://repast.sourceforge.net and HLA_GRID_Repast [47]. The Repast toolkit has in-built capabilities for performing batch simulation runs.
• SimAgent: http://www.cs.bham.ac.uk/research/projects/poplog/packages/simagent.html. Two developments support distributed versions of SimAgent:
1. The use of HLA to distribute SimAgent [23,24]
2. The SWAGES package: http://www.nd.edu/~airolab/software/index.html. This allows SimAgent to be distributed over different computers and interfaced with other packages.
Message Passing Interfaces (MPI):
• Background and tutorials http://www-unix.mcs.anl.gov/mpi/
• MPI forum http://www.mpi-forum.org/
• MPIJava http://www.hpjava.org
• OpenMP http://www.openmp.org
• OpenMPI http://www.open-mpi.org/
Parallel computing and distributed agent simulation websites:
• Further references and websites http://www.cs.rit.edu/~ncs/parallel.html.
• Introduction to parallel programming http://www.mhpcc.edu/training/workshop/parallel_intro/MAIN.html
• http://www.agents.cs.nott.ac.uk/research/simulation/simulators/ (implementations of HLA_GRID_Repast and distributed SimAgent).
• Globus Grid computing resources http://www.globus.org/.
• Beowulf computer clusters http://www.beowulf.org/
Acknowledgments
Many thanks to Andrew Evans (Multi-Agent Systems and Simulation Research Group, University of Leeds, UK) and Phil Northing (Central ScienceLaboratory, UK) for their advice on this chapter.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag
About this entry
Cite this entry
Parry, H.R. (2012). Agent Based Modeling, Large Scale Simulations. In: Meyers, R. (eds) Computational Complexity. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-1800-9_5
Download citation
DOI: https://doi.org/10.1007/978-1-4614-1800-9_5
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-1799-6
Online ISBN: 978-1-4614-1800-9
eBook Packages: Computer ScienceReference Module Computer Science and Engineering