Abstract
Multi-Agent Based Simulation (MABS) is used to study complex systems in many research domains. As the number of modeled agents is constantly growing, using General-Purpose Computing on Graphics Units (GPGPU) appears to be very promising as it allows to use the massively parallel architecture of the GPU (Graphics Processing Unit) to do High Performance Computing (HPC). However, this technology relies on a highly specialized architecture, implying a very specific programming approach. So, to benefit from GPU power, a MABS model need to be adapted to the GPU programming paradigm.
Contrary to some recent research works that propose to hide GPU programming to ease the use of GPGPU, we present in this paper a methodology for modeling and implementing MABS using GPU programming. The idea is to be able to consider any kind of MABS rather than addressing a limited number of cases. This methodology defines the iterative process to be followed to transform and adapt a model so that it takes advantage of the GPU power without hiding the underlying technology. We experiment this methodology on two MABS models to test its feasibility and highlight the advantages and limits of this approach.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Compute Unified Device Architecture,
- 3.
Open Computing Language, e.g. http://www.khronos.org/opencl.
- 4.
Thread is similar to the concept of task: A thread may be considered as an instance of the kernel which is performed on a restricted portion of the data depending on its location in the global grid of the GPU (its identifier).
- 5.
The TurtleKit platform (http://www.turtlekit.org, [14]) has been used for the development of the GPU delegation principle and methods for the integration of GPGPU were defined only once at the beginning and then reuse for all the next experiments.
- 6.
- 7.
e.g. http://www.jcuda.org.
- 8.
i and j are the coordinates of a thread which is considered as an instance of the kernel. Each thread is performed on a restricted portion of the data depending on its location (these coordinates) in the global GPU architecture grid.
- 9.
For those tests, the configuration is composed of an Intel i7-4770 processor (Haswell generation, 3.40 GHz) and an Nvidia K4000 graphics card (Kepler architecture, 768 CUDA cores).
- 10.
For those tests, we reuse the same configuration as previously detailed.
References
Aaby, B.G., Perumalla, K.S., Seal, S.K.: Efficient simulation of agent-based models on multi-GPU and multi-core clusters. In: Proceedings of the 3rd International ICST Conference on Simulation Tools and Techniques, SIMUTools 2010, pp. 29:1–29:10. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), Brussels (2010)
Bleiweiss, A.: Multi agent navigation on the GPU. In: Games Developpement Conference (2009)
Bourgoin, M., Chailloux, E., Lamotte, J.-L.: Efficient abstractions for GPGPU programming. Int. J. Parallel Program. 42(4), 583–600 (2014)
Che, S., Boyer, M., Meng, J., Tarjan, D., Sheaffer, J.W., Skadron, K.: A performance study of general-purpose applications on graphics processors using CUDA. J. Parallel Distrib. Comput. 68(10), 1370–1380 (2008)
Coakley, S., Richmond, P., Gheorghe, M., Chin, S., Worth, D., Holcombe, M., Greenough, C.: Large-scale simulations with FLAME. In: Intelligent Agents in Data-intensive Computing, pp. 123–142. Springer International Publishing, Cham (2016)
D’Souza, R.M., Lysenko, M., Rahmani, K.: SugarScape on steroids: simulating over a million agents at interactive rates. In: Proceedings of Agent 2007 Conference (2007)
Erra, U., Frola, B., Scarano, V., Couzin, I.: An efficient GPU implementation for large scale individual-based simulation of collective behavior. In: International Workshop on High Performance Computational Systems Biology, HIBI 2009, pp. 51–58, October 2009
Hermellin, E., Michel, F.: GPU delegation: toward a generic approach for developping MABS using GPU programming. In: The Proceedings of the International Conference on Autonomous Agents and Multiagent Systems, AAMAS, Singapore, pp. 1249–1258 (2016)
Hermellin, E., Michel, F.: GPU environmental delegation of agent perceptions: application to Reynolds’s boids. In: Gaudou, B., Sichman, J.S. (eds.) MABS 2015. LNCS, vol. 9568, pp. 71–86. Springer, Cham (2016). doi:10.1007/978-3-319-31447-1_5
Hermellin, E., Michel, F.: Overview of case studies on adapting MABS models to GPU programming. In: Bajo, J., Escalona, M.J., Giroux, S., Hoffa-Dąbrowska, P., Julián, V., Novais, P., Sánchez-Pi, N., Unland, R., Azambuja-Silveira, R. (eds.) PAAMS 2016. CCIS, vol. 616, pp. 125–136. Springer, Cham (2016). doi:10.1007/978-3-319-39387-2_11
Laville, G., Mazouzi, K., Lang, C., Marilleau, N., Herrmann, B., Philippe, L.: MCMAS: a toolkit to benefit from many-core architecure in agent-based simulation. In: an Mey, D., et al. (eds.) Euro-Par 2013. LNCS, vol. 8374, pp. 544–554. Springer, Heidelberg (2014). doi:10.1007/978-3-642-54420-0_53
Laville, G., Mazouzi, K., Lang, C., Marilleau, N., Philippe, L.: Using GPU for multi-agent multi-scale simulations. In: Omatu, S., De Paz Santana, J., González, S., Molina, J., Bernardos, A., Rodríguez, J. (eds.) Distributed Computing and Artificial Intelligence. Advances in Intelligent and Soft Computing, vol. 151, pp. 197–204. Springer, Heidelberg (2012)
Michel, F.: Translating agent perception computations into environmental processes in multi-agent-based simulations: a means for integrating graphics processing unit programming within usual agent-based simulation platforms. Syst. Res. Behav. Sci. 30(6), 703–715 (2013)
Michel, F., Beurier, G., Ferber, J.: The turtlekit simulation platform: application to complex systems. In: Akono, A., Tonyé, E., Dipanda, A., Yétongnon, K. (eds.) Workshops Sessions of the Proceedings of the 1st International Conference on Signal-Image Technology and Internet-Based Systems, SITIS 2005, Yaoundé, Cameroon, pp. 122–128. IEEE, 27 November–1 December 2005
Owens, J.D., Luebke, D., Govindaraju, N., Harris, M., Krüger, J., Lefohn, A.E., Purcell, T.J.: A survey of general-purpose computation on graphics hardware. Comput. Graph. Forum 26(1), 80–113 (2007)
Parry, H., Bithell, M.: Large scale agent-based modelling: a review and guidelines for model scaling. In: Heppenstall, A.J., Crooks, A.T., See, L.M., Batty, M. (eds.) Agent-Based Models of Geographical Systems, pp. 271–308. Springer, Netherlands (2012)
Pavlov, R., Müller, J.: Multi-agent systems meet GPU: deploying agent-based architectures on graphics processors. In: Camarinha-Matos, L., Tomic, S., Graça, P. (eds.) Technological Innovation for the Internet of Things. IFIP Advances in Information and Communication Technology, vol. 394, pp. 115–122. Springer, Heidelberg (2013)
Perumalla, K.S., Aaby, B.G.: Data parallel execution challenges and runtime performance of agent simulations on GPUs. In: Proceedings of the 2008 Spring Simulation Multiconference, pp. 116–123 (2008)
Richmond, P., Coakley, S., Romano, D.M.: A high performance agent based modelling framework on graphics card hardware with CUDA. In: Proceedings of The 8th International Conference on Autonomous Agents and Multiagent Systems - vol. 2, Volume 2 of AAMAS 2009, pp. 1125–1126. International Foundation for Autonomous Agents and Multiagent Systems, Richland (2009)
Richmond, P., Romano, D.M.: A high performance framework for agent based pedestrian dynamics on GPU hardware. In: European Simulation and Modelling (2011)
Richmond, P., Walker, D., Coakley, S., Romano, D.M.: High performance cellular level agent-based simulation with FLAME for the GPU. Brief. Bioinform. 11(3), 334–347 (2010)
Sanders, J., Kandrot, E.: CUDA by Example: An Introduction to General-Purpose GPU Programming. Pearson, Boston (2011)
Strippgen, D., Nagel, K.: Multi-agent traffic simulation with CUDA. In: International Conference on High Performance Computing Simulation, HPCS 2009, pp. 106–114, June 2009
Weyns, D., Van Dyke Parunak, H., Michel, F., Holvoet, T., Ferber, J.: Environments for multiagent systems state-of-the-art and research challenges. In: Weyns, D., Van Dyke Parunak, H., Michel, F. (eds.) E4MAS 2004. LNCS, vol. 3374, pp. 1–47. Springer, Heidelberg (2005). doi:10.1007/978-3-540-32259-7_1
Weyns, D., Michel, F.: In: Weyns, D., Michel, F. (eds.) E4MAS 2014. LNCS (LNAI), vol. 9068. Springer, Cham (2015)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Hermellin, E., Michel, F. (2017). Defining a Methodology Based on GPU Delegation for Developing MABS Using GPGPU. In: Nardin, L., Antunes, L. (eds) Multi-Agent Based Simulation XVII. MABS 2016. Lecture Notes in Computer Science(), vol 10399. Springer, Cham. https://doi.org/10.1007/978-3-319-67477-3_2
Download citation
DOI: https://doi.org/10.1007/978-3-319-67477-3_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-67476-6
Online ISBN: 978-3-319-67477-3
eBook Packages: Computer ScienceComputer Science (R0)