Skip to main content

Defining a Methodology Based on GPU Delegation for Developing MABS Using GPGPU

  • Conference paper
  • First Online:
Multi-Agent Based Simulation XVII (MABS 2016)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 10399))

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.

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 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight 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.

    e.g. https://developer.nvidia.com/about-cuda.

  2. 2.

    Compute Unified Device Architecture,

    e.g. https://developer.nvidia.com/what-cuda.

  3. 3.

    Open Computing Language, e.g. http://www.khronos.org/opencl.

  4. 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. 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. 6.

    e.g. http://docs.nvidia.com/cuda/.

  7. 7.

    e.g. http://www.jcuda.org.

  8. 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. 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. 10.

    For those tests, we reuse the same configuration as previously detailed.

References

  1. 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)

    Google Scholar 

  2. Bleiweiss, A.: Multi agent navigation on the GPU. In: Games Developpement Conference (2009)

    Google Scholar 

  3. Bourgoin, M., Chailloux, E., Lamotte, J.-L.: Efficient abstractions for GPGPU programming. Int. J. Parallel Program. 42(4), 583–600 (2014)

    Article  Google Scholar 

  4. 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)

    Article  Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. 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

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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

    Chapter  Google Scholar 

  10. 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

    Google Scholar 

  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

    Chapter  Google Scholar 

  12. 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)

    Chapter  Google Scholar 

  13. 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)

    Article  Google Scholar 

  14. 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

    Google Scholar 

  15. 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)

    Article  Google Scholar 

  16. 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)

    Chapter  Google Scholar 

  17. 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)

    Chapter  Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. Richmond, P., Romano, D.M.: A high performance framework for agent based pedestrian dynamics on GPU hardware. In: European Simulation and Modelling (2011)

    Google Scholar 

  21. 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)

    Article  Google Scholar 

  22. Sanders, J., Kandrot, E.: CUDA by Example: An Introduction to General-Purpose GPU Programming. Pearson, Boston (2011)

    Google Scholar 

  23. 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

    Google Scholar 

  24. 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

    Chapter  Google Scholar 

  25. Weyns, D., Michel, F.: In: Weyns, D., Michel, F. (eds.) E4MAS 2014. LNCS (LNAI), vol. 9068. Springer, Cham (2015)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Emmanuel Hermellin .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics