Abstract
In many domains, high-resolution agent-based simulations require experiments with a large number (tens or hundreds of millions) of computationally complex agents. Such large-scale experiments are usually run for efficiency on high-performance computers or clusters, and therefore agent-based simulation frameworks must support parallel distributed computations. The development of experiments with a large number of interconnected agents and a shared environment running in parallel on multiple compute nodes is especially challenging because it introduces the overhead of cross-process communications.
In this paper we discuss the parallel distributed architecture of the farm agent-based simulation framework for social network simulations. To address the issue of shared environment synchronization we used a hybrid approach that distributes the simulation environment across compute nodes and keeps the shared portions of the environment synchronized via centralized memory storage. To minimize cross-process communication overhead, we allocate agents to processes via a graph partitioning algorithm that minimizes edge cuts in the communication graph, estimated in our domain by empirical data of past agent activities. The implementation of the toolkit used off the shelf components to support centralized storage and messaging/notification services.
This architecture was used in a large-scale Github simulation with up to ten million agents. In experiments in this domain, the graph partitioning algorithm cut overall runtime by 67% on average.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
Apache: Apache zookeeper (2018). https://zookeeper.apache.org
Blythe, J.: A dual-process cognitive model for testing resilient control systems. In: 5th International Symposium on Resilient Control Systems, pp. 8–12, August 2012
Chow, K.P., Kwok, Y.K.: On load balancing for distributed multiagent computing. IEEE Trans. Parallel Distrib. Syst. 13(8), 787–801 (2002)
Collier, N., North, M.: Parallel agent-based simulation with repast for high performance computing. Simulation 89(10), 1215–1235 (2013)
Cosenza, B., Cordasco, G., De Chiara, R., Scarano, V.: Distributed load balancing for parallel agent-based simulations. In: 2011 19th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP), pp. 62–69. IEEE (2011)
Deissenberg, C., Van Der Hoog, S., Dawid, H.: EURACE: a massively parallel agent-based model of the european economy. Appl. Math. Comput. 204(2), 541–552 (2008)
Github: Github software development platform (2018). http://github.com
Karypis, G., Kumar, V.: Multilevel algorithms for multi-constraint graph partitioning. In: Proceedings of the 1998 ACM/IEEE Conference on Supercomputing, pp. 1–13. IEEE Computer Society (1998)
Karypis, G., Kumar, V.: Multilevelk-way partitioning scheme for irregular graphs. J. Parallel Distrib. Comput. 48(1), 96–129 (1998)
Scheutz, M., Schermerhorn, P., Connaughton, R., Dingler, A.: SWAGES-an extendable distributed experimentation system for large-scale agent-based alife simulations. In: Proceedings of Artificial Life X, pp. 412–419 (2006)
Šišlák, D., Volf, P., Jakob, M., Pěchouček, M.: Distributed platform for large-scale agent-based simulations. In: Dignum, F., Bradshaw, J., Silverman, B., van Doesburg, W. (eds.) AGS 2009. LNCS (LNAI), vol. 5920, pp. 16–32. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-11198-3_2
Tumer, K., Agogino, A.: Distributed agent-based air traffic flow management. In: Proceedings of the 6th International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS 2007, pp. 255:1–255:8. ACM, New York (2007). https://doi.org/10.1145/1329125.1329434
Acknowledgment
This material is based upon work supported by the Defense Advanced Research Projects Agency (DARPA) and the Army Research Office (ARO) under Contract No. W911NF-17-C-0094. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the Defense Advanced Research Projects Agency (DARPA) and the Army Research Office (ARO).
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Blythe, J., Tregubov, A. (2019). FARM: Architecture for Distributed Agent-Based Social Simulations. In: Lin, D., Ishida, T., Zambonelli, F., Noda, I. (eds) Massively Multi-Agent Systems II. MMAS 2018. Lecture Notes in Computer Science(), vol 11422. Springer, Cham. https://doi.org/10.1007/978-3-030-20937-7_7
Download citation
DOI: https://doi.org/10.1007/978-3-030-20937-7_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-20936-0
Online ISBN: 978-3-030-20937-7
eBook Packages: Computer ScienceComputer Science (R0)