Abstract
Fast simulation, i.e., automatic computation of sequential runs, is widely used to analyse Petri nets. In particular, it enables for quantitative statistical analysis by observing large sets of runs. Moreover, fast simulation may be used to actually run a Petri net model as a (prototype) implementation of a system, in which case such a net would embed fragments of the code of the system. In both these contexts, being able to perform faster simulation is highly desirable.
In this paper, we propose a way to accelerate fast simulation by exploiting parallel computing, targeting both the multi-core cpus available nowadays in every laptop or workstation, and larger parallel computers including those with distributed memory (clusters). We design an algorithm to do so and assess in particular its correctness and completeness through its formal modelling as a Petri net whose state space is analysed. We also present a benchmark of a prototype implementation that clearly shows how our algorithm effectively accelerates fast simulation, in particular in the case of large concurrent coloured Petri nets, which is precisely the kind of nets that are usually slow to simulate.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
The Go programming language. http://golang.org
Bilenko, D.: gevent contributors: gevent. http://www.gevent.org
Cabac, L., Haustermann, M., Mosteller, D.: Renew 2.5 – towards a comprehensive integrated development environment for petri net-based applications. In: Kordon, F., Moldt, D. (eds.) PETRI NETS 2016. LNCS, vol. 9698, pp. 101–112. Springer, Cham (2016). doi:10.1007/978-3-319-39086-4_7
Chaou, S., Utard, G., Pommereau, F.: Evaluating a peer-to-peer storage system in presence of malicious peers. In: Proceedings of HPCS 2011. IEEE Computer Society (2011)
Fernandez, J.-C., Mounier, L.: “On the fly” verification of behavioural equivalences and preorders. In: Larsen, K.G., Skou, A. (eds.) CAV 1991. LNCS, vol. 575, pp. 181–191. Springer, Heidelberg (1992). doi:10.1007/3-540-55179-4_18
Fronc, Ł., Pommereau, F.: Building petri nets tools around Neco compiler. In: Proceedings of PNSE 2013 (2013)
Gava, F., Fortin, J., Guedj, M.: Deductive verification of state-space algorithms. In: Johnsen, E.B., Petre, L. (eds.) IFM 2013. LNCS, vol. 7940, pp. 124–138. Springer, Heidelberg (2013). doi:10.1007/978-3-642-38613-8_9
Gehrcke, J.P.: gipc: child processes and IPC for gevent. http://gehrcke.de/gipc
Kincaid, J.: Google’s Go: a new programming language that’s Python meets C++. (2009). http://techcrunch.com/2009/11/10/google-go-language
Kordon, F., Garavel, H., Hillah, L.M., Hulin-Hubard, F., Chiardo, G., Hamez, A., Jezequel, L., Miner, A., Meijer, J., Paviot-Adet, E., Racordon, D., Rodriguez, C., Rohr, C., Srba, J., Thierry-Mieg, Y., Trinh, G., Wolf, K.: Complete Results for the 2016th Edition of the Model Checking Contest (2016). http://mcc.lip.6.fr/2016/results.php
Kordon, F.: Prototypage de systèmes parallèles à partir de réseaux de Petri colorés. Ph.D. thesis, UPMC (1992)
Nicol, D.M., Mao, W.: Automated parallelization of timed petri-net simulations. J. Parallel Distrib. Comput. 29(1), 60–74 (1995)
Pommereau, F.: Nets in nets with SNAKES. In: Proceedings of MOCA 2009. Universität Hamburg, Department of Informatik, Hamburg (2009)
Pommereau, F.: SNAKES: a flexible high-level petri nets library (Tool paper). In: Devillers, R., Valmari, A. (eds.) PETRI NETS 2015. LNCS, vol. 9115, pp. 254–265. Springer, Cham (2015). doi:10.1007/978-3-319-19488-2_13
Pommereau, F.: ABCD: a user-friendly language for formal modelling and analysis. In: Kordon, F., Moldt, D. (eds.) PETRI NETS 2016. LNCS, vol. 9698, pp. 176–195. Springer, Cham (2016). doi:10.1007/978-3-319-39086-4_12
Pommereau, F., de la Houssaye, J.: Supplementary material. http://github.com/fpom/PETRINETS-2017-supplementary
Rodola, G.: A cross-platform process and system utilities module for Python. http://github.com/giampaolo/psutil
The Theoretical Foundations Group of the Department for Informatics of the University of Hamburg: Renew, the reference net workshop - highlights. http://www.informatik.uni-hamburg.de/TGI/renew/highlights.html
Wang, B., Zhao, C.: A petri net simulation kernel with extendibility, convenient modeling and fast simulation engine. In: Proceedings of ICCT 2003, vol. 2. IEEE (2003)
Acknowledgements
We warmly thank Camille Coti (lipn) for her help in understanding our hardware and how to exploit it correctly for our benchmark.
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
Pommereau, F., de la Houssaye, J. (2017). Faster Simulation of (Coloured) Petri Nets Using Parallel Computing. In: van der Aalst, W., Best, E. (eds) Application and Theory of Petri Nets and Concurrency. PETRI NETS 2017. Lecture Notes in Computer Science(), vol 10258. Springer, Cham. https://doi.org/10.1007/978-3-319-57861-3_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-57861-3_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-57860-6
Online ISBN: 978-3-319-57861-3
eBook Packages: Computer ScienceComputer Science (R0)