Skip to main content
Log in

A hierarchical parallel discrete event simulation kernel for multicore platform

  • Published:
Cluster Computing Aims and scope Submit manuscript

Abstract

The development of CPU has stepped into the era of multicore. Current parallel simulation kernel utilizes multicore resource by multi-process, which leads to inefficiency on communication and synchronization. To fulfill this gap, we proposed a HPSK (hierarchical parallel simulation kernel) model, which schedules logical processes and executes events in parallel with multithread paradigm. Based on this model, three key algorithms were proposed to support high performance: (1) An event management algorithm was proposed to improve the efficiency of creation and release of events. It uses a lock-free creation and asynchronous commitment mechanism to decouple the relationship between threads, hence reduce the overhead of locks. (2) A pointer-based communication algorithm was proposed to improve efficiency of communication between threads. It uses a buffer mechanism to avoid interrupting the execution of target thread. The target thread will read events from the buffers when it needs. By using ring-structure buffers, synchronization between sending and receiving of threads can be annihilated. (3) An approximate method was proposed to compute LBTS (Lower Bound on Time Stamp). It uses an asynchronous mechanism to eliminate disturbing of thread execution and a two-level filter mechanism to reduce redundant LBTS computation. A series of experiments with a modified phold model show that HPSK can achieve good performance for applications on different conditions. It can run 8× faster than μsik when event locality and lookahead is low.

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

Similar content being viewed by others

References

  1. Asanovic, K., Bodik, R., Catanzaro, B., Gebis, J., Husbands, P., Keutzer, K., Patterson, D., Plishker, W., Shalf, J., Williams, S., Yelik, K.: The landscape of parallel computing research: a view from Berkley. Technical report, EECS Department, University of California at Berkley, UCB/EECS-2006-183 (2006)

  2. Akhter, S., Roberts, J.: Multi-Core Programming: Increasing Performance through Software Multi-threading. Intel Press, New York (2006)

    Google Scholar 

  3. Law, M., Kelton, D.W.: Simulation Modelling and Analysis. McGraw-Hill, New York (2000)

    Google Scholar 

  4. Fujimoto, R.M.: Parallel and Distributed Simulation Systems. Wiley, New York (2000)

    Google Scholar 

  5. Steinman, J., Park, J., Delane, N., Walter, W.: The need for change in modeling and simulation. Chem-Bio Defense Quarterly 22–25 (2008)

  6. Steinman, J.: Introduction to parallel and distributed force modeling and simulation. In: Simulation Interoperability Workshop, Paper 09S-SIW-021 (2009)

    Google Scholar 

  7. Yelick, K.: Hardware and software in the multicore era. In: HEPiX Meeting, Berkeley, California, October 26 (2009)

    Google Scholar 

  8. Steinman, J.: Speedes: a unified approach to parallel simulation. In: Proceedings of the 6th Workshop on Parallel and Distributed Simulation, pp. 75–83 (1992)

    Google Scholar 

  9. Das, S., Fujimoto, R., Panesar, K., Allison, D., Hybinette, M.: Gtw: a time warp system for shared memory multiprocessors. In: Proceedings of the 26th Conference on Winter simulation, pp. 1332–1339 (1994)

    Chapter  Google Scholar 

  10. Carothers, C.D., Bauer, D., Pearce, S.: Ross: a high-performance, low memory, modular time warp system. Journal of Parallel and Distributed Computing 53–60 (2000)

  11. Bagrodia, R., Takai, M., Chen, Y., Zeng, X., Martin, J.: Parsec: a parallel simulation environment for complex systems. Computer 31, 77–85 (1998)

    Article  Google Scholar 

  12. Yao, Y., Zhang, Y.: Solution for analytic simulation based on parallel processing. J. Syst. Simul. 20(24), 6617–6621 (2008) (in Chinese)

    MathSciNet  Google Scholar 

  13. Perumalla, K.: μsik—a micro-kernel for parallel/distributed simulation systems. In: Proceedings of Workshop on Principles of Advanced and Distributed Simulation (PADS), pp. 59–68 (2005)

    Chapter  Google Scholar 

  14. Su, N.-l., Wu, X.-y., Li, Q., Wang, W.-p., Zhu, Y.-f.: Optimistic parallel discrete event simulation based on multi-core platform. J. Syst. Simul. 22(4) (2010) (in Chinese)

  15. Steinman, J.: The WarpIV simulation kernel. In: Proceedings of the 2005 Principles of Advanced and Distributed Simulation Conference, pp. 161–170 (2005)

    Google Scholar 

  16. Miller, R.J.: Optimistic parallel discrete event simulation on a Beowulf cluster of multi-core machines. Master dissertation, Cincinnati University, July, 2010

  17. Martin, D.E., McBrayer, T.J., Wilsey, P.A.: Warped: a time warp simulation kernel for analysis and application development. In: Proceedings of the 29th Hawaii International Conference on System Sciences. Software Technology and Architecture, vol. 1, pp. 383–386 (1996)

    Chapter  Google Scholar 

  18. Michael, M.M.: Scalable lock-free dynamic memory allocation. ACM SIGPLAN Not. 39(6), 35–46 (2004)

    Article  Google Scholar 

  19. Berger, E.D., McKinley, K.S., Blumofe, R.D., Wilson, P.R.: Hoard: a scalable memory allocator for multithreaded applications. In: Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 117–128 (2000)

    Google Scholar 

  20. Dice, D., Garthwaite, A.: Mostly lock-free malloc. In: Proceedings of the 2002 International Symposium on Memory Management, pp. 269–280 (2002)

    Google Scholar 

  21. Samadi, B.: Distributed simulation, algorithms and performance analysis. Ph.D. thesis, University of California, Los Angels (1985)

  22. Mattern, F.: Efficient algorithms for distributed snapshots and global virtual time approximation. J. Parallel Distrib. Comput. 18(4), 423–434 (1993)

    Article  Google Scholar 

  23. Fujimoto, R.M., Hybinette, M.: Computing global virtual time in shared-memory multiprocessors. ACM Trans. Model. Comput. Simul. 7(4), 425–446 (1997)

    Article  MATH  Google Scholar 

  24. Chen, D., et al.: Massively parallel modeling & simulation of large crowd with GPGPU. J. Supercomp. (in press). doi:10.1007/s11227-011-0675-4.28

  25. Chen, D., et al.: Synchronization in federation community networks. J. Parallel Distrib. Comput. 70(2), 144–159 (2010)

    Article  MATH  Google Scholar 

  26. Yao, Y., Zhang, Y., Chen, X., Ji, L.: Intersecting-information-based matching algorithm for dynamic DDM. Chin. J. Comput 32(7), 1375–1381 (2009) (in Chinese)

    Article  Google Scholar 

  27. Gang, L., Yao, Y., Peng, S.: EDEVS: a scalable DEVS formalism for event-scheduling based parallel and distributed simulations. In: Proceedings of 13th IEEE/ACM International Symposium on Distributed Simulation and Real-Time Applications (DS-RT 2009), pp. 239–242 (2009)

    Google Scholar 

Download references

Acknowledgements

This work is supported by the National Natural Science Foundation of China (NSFC) (Grant No. 61170048, No. 60903223 and No. 61170047), the Ph.D. Programs Foundation of Ministry of Education of China (No. 200899980004) and Hunan Natural Science Foundation of China (No. 11jj4053).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tang Wenjie.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Wenjie, T., Yiping, Y. & Feng, Z. A hierarchical parallel discrete event simulation kernel for multicore platform. Cluster Comput 16, 379–387 (2013). https://doi.org/10.1007/s10586-012-0201-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10586-012-0201-3

Keywords

Navigation