Abstract
We study the combinatorial structure of concurrent programs with non-deterministic choice and a fork-join style of coordination. As a first step we establish a link between these concurrent programs and a class of combinatorial structures. Based on this combinatorial interpretation, we develop and experiment algorithms aimed at the statistical exploration of the state-space of programs. The first algorithm is a uniform random sampler of bounded executions, providing a suitable default exploration strategy. The second algorithm is a random sampler of execution prefixes that allows to control the exploration with respect to the uniform distribution. The fundamental characteristic of these algorithms is that they work on the control graph of the programs and not directly on their state-space, thus providing a way to tackle the state explosion problem.
This research was partially supported by the ANR MetACOnc project ANR-15-CE40-0014.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
A function f is in \(\sharp P\) if there is a polynomial-time non-deterministic Turing machine M such that for any instance x, f(x) is the number of executions of M that accept x as input [23].
- 2.
An implementation of our algorithms and all the scripts used for the experiments can be found on the companion repository at https://gitlab.com/ParComb/libnfj.
- 3.
Since we do not interpret the action symbols, no distinction is possible in the provided semantics between a choice being triggered internally or externally.
- 4.
In general, the notation \(P \overset{a}{\Rightarrow } P'\) is ambiguous since there may be several different proof-trees with the same conclusion \(P \overset{a}{\rightarrow } P'\). An example of this is given in Remark 1. For the sake of simplicity and in order to keep the notations light, in the examples given here, each step \(P \overset{a}{\Rightarrow } P'\) identifies only one possible proof-tree.
- 5.
The word “labelled” is not particularly relevant in our setup. It refers to the fact that another way to represent the interleaving of two executions is to put an integer label on each step of both execution carrying the position of each step in the interleaving.
- 6.
Grammar descriptions involving non-disjoint unions are referred to as “ambiguous” and lack most of the benefits, if not all, of the symbolic method, essentially because some objects may be counted multiple times when applying the method.
- 7.
This is the only “non-standard” computation rule we use in this example. All the rest is usual polynomial manipulations. General rules for computing \(A(z) \circledcirc B(z)\) are beyond the scope of this article.
- 8.
All the benchmarks were run on a standard laptop with an Intel Core i7-8665U and 32G of RAM running Ubuntu 19.10 with kernel version 5.3.0–46-generic. We used FLINT version 2.5.2 and GMP version 6.1.2.
- 9.
The interquartile range of a set of measures is the difference between the third and the first quartiles. Compared with the value of the median, it gives a rough estimate of the dispersion of the measures.
References
Abbes, S., Mairesse, J.: Uniform generation in trace monoids. In: 40th International Symposium MFCS, pp. 63–75 (2015)
Arora, S., Barak, B.: Computational Complexity - A Modern Approach. Cambridge University Press, New York (2009)
Basset, N., Mairesse, J., Soria, M.: Uniform sampling for networks of automata. In: 28th International Conference CONCUR (2017)
Bendkowski, M., Bodini, O., Dovgal, S.: Polynomial tuning of multiparametric combinatorial samplers, pp. 92–106 (2018)
Bodini, O., Dien, M., Genitrini, A., Peschanski, F.: Entropic uniform sampling of linear extensions in series-parallel posets. In: Weil, P. (ed.) CSR 2017. LNCS, vol. 10304, pp. 71–84. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-58747-9_9
Bodini, O., Dien, M., Genitrini, A., Peschanski, F.: The ordered and colored products in analytic combinatorics: application to the quantitative study of synchronizations in concurrent processes. In: 14th SIAM Meeting ANALCO, pp. 16–30 (2017)
Bodini, O., Genitrini, A., Peschanski, F.: The combinatorics of non-determinism. IARCS Annu. Conf. FSTTCS 24, 425–436 (2013)
Bodini, O., Genitrini, A., Peschanski, F.: A quantitative study of pure parallel processes. Electron. J. Comb. 23(1), P1.11, 39 pages (2016)
Bodini, O., Dien, M., Genitrini, A., Peschanski, F.: The combinatorics of barrier synchronization. In: Donatelli, S., Haar, S. (eds.) PETRI NETS 2019. LNCS, vol. 11522, pp. 386–405. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-21571-2_21
Darrasse, A., Panagiotou, K., Roussel, O., Soria, M.: Boltzmann generation for regular languages with shuffle. In: GASCOM 2010 - Conference on random generation of combinatorial structures. Montréal, Canada (September 2010)
Flajolet, P., Gardy, D., Thimonier, L.: Birthday paradox, coupon collectors, caching algorithms and self-organizing search. D. A. Math. 39(3), 207–229 (1992)
Flajolet, P., Sedgewick, R.: Analytic Combinatorics. Cambridge University Press, New York (2009)
Flajolet, P., Zimmermann, P., Cutsem, B.V.: A calculus for the random generation of combinatorial structures (1993)
Gaudel, M., Denise, A., Gouraud, S., Lassaigne, R., Oudinet, J., Peyronnet, S.: Coverage-biased random exploration of models. Electr. Notes Theor. Comput. Sci. 220(1), 3–14 (2008)
Grosu, R., Smolka, S.A.: Monte carlo model checking. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 271–286. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-31980-1_18
Hart, W., Johansson, F., Pancratz, S.: FLINT: Fast Library for Number Theory (2013), version 2.5.2, http://flintlib.org
Koomen, C.J.: Calculus of communicating systems. In: The Design of Communicating Systems. The Springer International Series in Engineering and Computer Science (VLSI, Computer Architecture and Digital Signal Processing), vol 147. Springer, Boston (1991) https://doi.org/10.1007/978-1-4615-4020-5_2
Krob, D., Mairesse, J., Michos, I.: On the average parallelism in trace monoids. In: Alt, H., Ferreira, A. (eds.) STACS 2002. LNCS, vol. 2285, pp. 477–488. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45841-7_39
Martínez, C., Molinero, X.: An experimental study of unranking algorithms. In: Ribeiro, C.C., Martins, S.L. (eds.) WEA 2004. LNCS, vol. 3059, pp. 326–340. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24838-5_25
Molinero, X.: Ordered generation of classes of combinatorial structures. Ph.D. thesis, Universitat Politècnica de Catalunya (October 2005)
Oudinet, J., Denise, A., Gaudel, M.-C., Lassaigne, R., Peyronnet, S.: Uniform monte-carlo model checking. In: Giannakopoulou, D., Orejas, F. (eds.) FASE 2011. LNCS, vol. 6603, pp. 127–140. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-19811-3_10
Pivoteau, C., Salvy, B., Soria, M.: Algorithms for combinatorial structures: well-founded systems and newton iterations. J. Comb. Theory Ser. A 119, 1711–1773 (2012)
Valiant, L.G.: The complexity of computing the permanent. Theor. Comput. Sci. 8, 189–201 (1979)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Genitrini, A., Pépin, M., Peschanski, F. (2020). Statistical Analysis of Non-deterministic Fork-Join Processes. In: Pun, V.K.I., Stolz, V., Simao, A. (eds) Theoretical Aspects of Computing – ICTAC 2020. ICTAC 2020. Lecture Notes in Computer Science(), vol 12545. Springer, Cham. https://doi.org/10.1007/978-3-030-64276-1_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-64276-1_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-64275-4
Online ISBN: 978-3-030-64276-1
eBook Packages: Computer ScienceComputer Science (R0)