Abstract
In this paper we study the notion of synchronization from the point of view of combinatorics. As a first step, we address the quantitative problem of counting the number of executions of simple processes interacting with synchronization barriers. We elaborate a systematic decomposition of processes that produces a symbolic integral formula to solve the problem. Based on this procedure, we develop a generic algorithm to generate process executions uniformly at random. For some interesting sub-classes of processes we propose very efficient counting and random sampling algorithms. All these algorithms have one important characteristic in common: they work on the control graph of processes and thus do not require the explicit construction of the state-space.
This research was partially supported by the ANR MetACOnc project ANR-15-CE40-0014.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
- 2.
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. See https://en.wikipedia.org/wiki/%E2%99%AFP-complete.
- 3.
At the end of the decomposition, the DAG is in fact reduced to a single node, which is removed by an integration between 0 and 1.
- 4.
The Python/Sage implementation of the random sampler is available at the following location: https://gitlab.com/ParComb/combinatorics-barrier-synchro/blob/master/code/RandLinExtSage.py.
- 5.
Arbogen is uniform random generation for context-free grammar structures: cf. https://github.com/fredokun/arbogen.
References
Abbes, S., Mairesse, J.: Uniform generation in trace monoids. In: Italiano, G.F., Pighizzini, G., Sannella, D.T. (eds.) MFCS 2015. LNCS, vol. 9234, pp. 63–75. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48057-1_5
Banderier, C., Marchal, P., Wallner, M.: Rectangular young tableaux with local decreases and the density method for uniform random generation (short version). In: GASCom 2018, Athens, Greece, June 2018
Basset, N., Mairesse, J., Soria, M.: Uniform sampling for networks of automata. In: Concur 2017, LIPIcs, vol. 85, pp. 36:1–36:16. Schloss Dagstuhl (2017)
Bodini, O., Genitrini, A., Peschanski, F.: The combinatorics of non-determinism. In: FSTTCS 2013, LIPIcs, vol. 24, pp. 425–436. Schloss Dagstuhl (2013)
Bodini, O., Genitrini, A., Peschanski, F.: A quantitative study of pure parallel processes. Electron. J. Comb. 23(1), pp. P1.11, 39 (2016)
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., Viola, A.: Beyond series-parallel concurrent systems: the case of arch processes. In: Analysis of Algorithms, AofA 2018, LIPIcs, vol. 110, pp. 14:1–14:14 (2018)
Brightwell, G., Winkler, P.: Counting linear extensions is #P-complete. In: STOC, pp. 175–181 (1991)
Dittmer, S., Pak, I.: Counting linear extensions of restricted posets. arXiv e-prints arXiv:1802.06312, February 2018
Flajolet, P., Zimmermann, P., Cutsem, B.V.: A calculus for the random generation of labelled combinatorial structures. Theor. Comput. Sci. 132(2), 1–35 (1994)
Gerbessiotis, A.V., Valiant, L.G.: Direct bulk-synchronous parallel algorithms. J. Parallel Distrib. Comput. 22(2), 251–267 (1994)
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
Hensgen, D., Finkel, R.A., Manber, U.: Two algorithms for barrier synchronization. Int. J. Parallel Prog. 17(1), 1–17 (1988)
Huber, M.: Fast perfect sampling from linear extensions. Discrete Math. 306(4), 420–428 (2006)
Liskov, B., Shrira, L.: Promises: linguistic support for efficient asynchronous procedure calls in distributed systems. In: PLDI 1988, pp. 260–267. ACM (1988)
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
Rival, I. (ed.): Algorithms and Order. NATO Science Series, vol. 255. Springer, Dordrecht (1989). https://doi.org/10.1007/978-94-009-2639-4
Sen, K.: Effective random testing of concurrent programs. In: Automated Software Engineering ASE 2007, pp. 323–332. ACM (2007)
Stanley, R.P.: Two poset polytopes. Discrete Comput. Geom. 1, 9–23 (1986)
Acknowledgment
We thank the anonymous reviewers as well as our “shepard” for helping us making the paper better and hopefully with less errors.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Bodini, O., Dien, M., Genitrini, A., Peschanski, F. (2019). The Combinatorics of Barrier Synchronization. In: Donatelli, S., Haar, S. (eds) Application and Theory of Petri Nets and Concurrency. PETRI NETS 2019. Lecture Notes in Computer Science(), vol 11522. Springer, Cham. https://doi.org/10.1007/978-3-030-21571-2_21
Download citation
DOI: https://doi.org/10.1007/978-3-030-21571-2_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-21570-5
Online ISBN: 978-3-030-21571-2
eBook Packages: Computer ScienceComputer Science (R0)