Abstract
Continuous Petri net can be used for performance analysis or static analysis. The analysis is based on solving the associated ordinary differential equations. This paper presents a method to parallel compute these differential equations. We first map the Petri net to a hypergraph, and then partition the hypergraph to minimize interprocessor communication while maintaining a good load balance; Based on the partition result, we divide the differential equations into several blocks; Finally, we design a parallel computing algorithm to compute these equations. Software hMETIS is used to partition the hypergraph, and software SUNDIALS is used to support the parallel computing of differential equations. Gas station problem and dining philosopher problem have been used to demonstrate the feasibility, accuracy, and scalability of our method.
Similar content being viewed by others
References
Akl SG (1997) Parallel computation models and methods. Prentice-Hall, Englewood Cliffs
Alimonti P, Feuerstein E (1993) Petri nets, hypergraphs and conflicts. In: Graph-theoretic concepts in computer science, vol 657, pp 293–309
Avrunin GS, Buy UA, Corbett JC, Dillon LK, Wileden JC (1991) Automated analysis of concurrent systems with the constrained expression toolset. IEEE Trans Softw Eng 17(11):1204–1222
Böhm C, Jacopini G (1966) Flow diagram, Turing machines and languages with only two formation rules. Commun ACM 9(5):366–371
Burch JR, Clarke EM, Long DE (1991) Representing circuits more efficiently in symbolic model checking. In: Proceedings of the 28th design automation conference. IEEE Computer Society Press, Los Alamitos, pp 403–407
Burrage K (1995) Parallel and sequential methods for ordinary differential equations. Oxford Science Publications
Çatalyürek Ü, Aykanat C (1999) PaToH: a multilevel hypergraph partitioning tool, version 3.0. Bilkent University, Department of Computer Engineering, Ankara, 06533 Turkey. PaToH is available at http://bmi.osu.edu/~umit/software.htm
Çatalyürek Ü, Aykanat C (2001) A hypergraph-partitioning approach for coarse-grain decomposition. In: SC2001, Denver, November 2001
Çatalyürek Ü, Aykanat C (1999) Hypergraph-partitioning based decomposition for parallel sparse-matrix vector multiplication. IEEE Trans Parallel Distrib Syst 10(7):673–693
Caldwell AE, Kahng AB, Markov IL (2000) Improved algorithms for hypergraph bipartitioning. In: Proceedings of Asia and South Pacific design automation conference, pp 661–666
David R, Alla H (1987) Continuous Petri nets. In: Proceedings of the 8th European workshop on application and theory of Petri nets, Zaragoza, Spain, pp 275–294
David R, Alla H (1990) Autonomous and timed continuous Petri nets. In: Proceedings of 11th Int conference on application and theory of Petri nets, Paris, France, pp 367–381
Dijkstra EW (1971) Hierarchical ordering of sequential processes. Acta Inform 2:115–138
Ding Z (2009) Static analysis of concurrent programs using ordinary differential equations. Lect Notes Comput Sci 5684:1–35
Ding Z, Shen H, Cao J (2011) Hypergraph partitioning for the parallel computation of continuous Petri nets. In: PaCT 2011, Kazan, Russia, pp 257–271
Dingle NJ, Harrison PG, Knottenbelt WJ (2004) Uniformization and hypergraph partitioning for the distributed computation of response time densities in very large Markov models. J Parallel Distrib Comput 64:908–920
Duri S, Buy U, Devarapalli R, Shatz SM (1994) Application and experimental evaluation of state space reduction methods for deadlock analysis in Ada. ACM Trans Softw Eng Methodol 3(4):340–380
Ehrig R, Nowak U, Deuflhard P (1998) Massively parallel linearly-implicit extrapolation algorithms as a powerful tool in process simulation. In: Parallel computing: fundamentals, applications and new directions. Elsevier, Amsterdam, pp 517–524
Franklin MA (1978) Parallel solution of ordinary differential equations. IEEE Trans Comput 27(5):413–420
Gear CW (1988) Parallel methods for ordinary differential equations. Calculo 1(2):1–20
Hiraishi K (2008) Performance evaluation of workflows using continuous Petri nets with interval firing speeds. In: Petri Nnets’08. Lecture notes in computer science, vol 5062, pp 231–250
Helmbold D, Luckham D (1985) Debugging Ada tasking programs. IEEE Softw 2(2):47–57
Hendrickson B, Kolda TG (2000) Graph partitioning models for parallel computing. Parallel Comput 26:1519–1534
Hendrickson B, Kolda TG (2000) Partitioning rectangular and structurally nonsymmetric sparse matrices for parallel computation. SIAM J Sci Comput 21(6):2048–2072
Hindmarsh AC, Brown PN, Grant KE, Lee SL, Serban R, Shumaker DE, Woodward CS (2005) SUNDIALS, suite of nonlinear and differential/algebraic equation solvers. ACM Trans Math Softw 31:363–396
Holt RC (1972) Some deadlock properties on computer systems. ACM Comput Surv 4(3):179–196
Karam GM, Buhr RJ (1990) Starvation and critical race analyzers for Ada. IEEE Trans Softw Eng 16(8):829–843
van der Houwen PJ, Sommeijer BP (1990) Parallel iteration of high-order Runge-Kutta methods with stepsize control. J Comput Appl Math 29:111–127
Karypis G, Aggarwal R, Kumar V, Shekhar S (1997) Multilevel hypergraph partitioning: application in VLSI domain. In: Proceedings of 34th conference on design automation, pp 526–529
Karypis G, Aggarwal R, Kumar V, Shekhar S (1999) Multilevel hypergraph partitioning: application in VLSI domain. IEEE Trans Very Large Scale Integr (VLSI) Syst 7(1):69–79
Karypis G, Kumar V (1998) Multilevel k-way partitioning scheme for irregular graphs. J Parallel Distrib Comput 48(1):96–129
Lengauer T (1990) Combinatorial algorithms for integrated circuit layout. Wiley, New York
Rao PS, Mouney G (1997) Data communication in parallel block predictor-corrector methods for solving ODE’s. Parallel Comput 23:1877–1888
Silva M, Recalde L (2005) Continuization of timed Petri nets: from performance evaluation to observation and control. In: ICATPN’05. Lecture notes in computer science, vol 3536, pp 26–47
Vastenhouw B, Bisseling RH (2005) A two-dimensional data distribution method for parallel sparse matrix-vector multiplication. SIAM Rev 47(1):67–95
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ding, Z., Shen, H. & Cao, J. Parallel computation of continuous Petri nets based on hypergraph partitioning. J Supercomput 62, 345–377 (2012). https://doi.org/10.1007/s11227-011-0724-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-011-0724-z