Skip to main content
Log in

Experiences with implementing parallel discrete-event simulation on GPU

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Modern graphics processing units (GPUs) offer much more computational power than recent CPUs by providing a vast number of simple, data-parallel, multithreaded cores. In this study, we focus on the use of a GPU to perform parallel discrete-event simulation. Our approach is to use a modified service time distribution function to allow more independent events to be processed in parallel. The implementation issues and alternative strategies will be discussed in detail. We describe and compare our experience and results in using Thrust and CUB, two open-source parallel algorithms libraries which resemble the C\({++}\) Standard Template Library, to build our tool. The experimental results show that our implementation can be two orders of magnitude faster than the sequential simulation for large-scale simulation models.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

References

  1. Baezner D, Lomow G, Unger BW (1990) Sim++: the transition to distributed simulation. In: Proceedings of the SCS Multiconference on Distributed Simulatio, pp 211–218

  2. Chandy KM, Misra J (1979) Distributed simulation: a case study in design and verification of distributed programs. IEEE Trans Softw Eng 5(5):440–452

    Article  MathSciNet  MATH  Google Scholar 

  3. Evans JB (1988) Structures of discrete event simulation. Ellis Horwood Limited, Market Cross House

    Google Scholar 

  4. Fujimoto R (1990) Parallel discrete event simulation. CACM 33(10):30–53

    Article  Google Scholar 

  5. Harris M, Garland M (2011) Optimizing parallel prefix operations for the fermi architecture. In: Chapter 3 of the book “GPU Computing Gems—Jade Edition”. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA

  6. Hoberock J, Bell N (2010) Thrust: a parallel template library. https://code.google.com/p/thrust/. Accessed 19 Mar 2017

  7. Jefferson D (1985) Virtual time. ACM Trans Program Lang Syst 7:404–425

    Article  Google Scholar 

  8. Kirk DB, Hwu WMW (2010) Programming massively parallel processors: a hands-on approach, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco

    Google Scholar 

  9. Lo SH, Lee CR, Chung IH, Chung YC (2013) Optimizing pairwise box intersection checking on GPUs for large-scale simulations. ACM Trans Model Comput Simul 23(3):19:1–19:22

    Article  MathSciNet  MATH  Google Scholar 

  10. Luitjens J Faster parallel reductions on Kepler. https://devblogs.nvidia.com/parallelforall/faster-parallel-reductions-kepler/. Accessed 19 Mar 2017

  11. Mascarenhas E, Knop F, Pasquini R, Rego V (1998) Minimum cost adaptive synchronization: experiments with the parasol system. ACM Trans Model Comput Simul 8(4):401–430

    Article  MATH  Google Scholar 

  12. Nobile MS, Cazzaniga P, Besozzi D, Mauri G (2014) GPU-accelerated simulations of mass-action kinetics models with cupSODA. J Supercomput 69:17–24

    Article  Google Scholar 

  13. NVIDIA: CUB. https://nvlabs.github.io/cub/. Accessed 19 Mar 2017

  14. NVIDIA (2012) CUDA Programming guide version 4.2

  15. Park H, Fishwick PA (2010) A GPU-based application framework supporting fast discrete-event simulation. Simulation 86(10):613–628

    Article  Google Scholar 

  16. Park H, Fishwick PA (2011) An analysis of queuing network simulation using GPU-based hardware acceleration. ACM Trans Model Comput Simul 21(3):18

    Article  Google Scholar 

  17. Perumalla KS (2006) Discrete-event execution alternatives on general purpose graphical processing units (gpgpus). In: Proceedings of the 20th Workshop on Principles of Advanced and Distributed Simulation, PADS ’06, Washington, DC, USA, pp 74–81

  18. Rango AD, Macr M, D’Ambrosio D, Spataro W (2015) Accelerating lava flows simulations with gpgpu and opencl. In: Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA), pp 581–588

  19. Rego V, Sang J, Yu C (2016) A fast hybrid approach for stream compaction on GPUs. In: Proceedings of the International Workshop on GPU Computing and Applications

  20. Rego V, Sunderam VS (1992) Experiments in concurrent stochastic simulation: the eclipse paradigm. J Parallel Distrib Comput 14(1):66–84

    Article  Google Scholar 

  21. Sang J, Mascarenhas E, Rego V (1996) Mobile-process based parallel simulation. J Parallel Distrib Comput 33:12–23

    Article  Google Scholar 

  22. Schwetman HD (1978) Hybrid simulation models of computer systems. Commun ACM 21:718–723

    Article  MATH  Google Scholar 

  23. Sunderam VS, Rego V (1991) Eclipse: a system for high performance concurrent simulation. Softw Pract Exp 21(11):1189–1219

    Article  Google Scholar 

  24. West J, Mullarney A (1988) ModSim: a language for distributed simulation. In: Proceedings of SCS Multiconference on Distributed Simulation

  25. Woods RL, Lawrence KL (1997) Modeling and simulation of dynamic systems. Prentice-Hall, Upper Saddle River

    Google Scholar 

  26. Wyllie JC (1979) The complexity of parallel computations. Technical report, Ph.D. thesis, Cornell University, Ithaca, NY, USA

  27. Xu Z, Bagrodia R (2007) GPU-accelerated evaluation platform for high fidelity network modeling. In: PADS, pp 131–140

Download references

Acknowledgements

This research was supported in part by a Fulbright Senior Research Scholarship and by an allocation of computing time from the Ohio Supercomputer Center.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Janche Sang.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sang, J., Lee, CR., Rego, V. et al. Experiences with implementing parallel discrete-event simulation on GPU. J Supercomput 75, 4132–4149 (2019). https://doi.org/10.1007/s11227-018-2254-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-018-2254-4

Keywords

Navigation