Quantitative and Algorithmic aspects of Barrier Synchronization in Concurrency

In this paper we address the problem of understanding Concurrency Theory from a combinatorial point of view. We are interested in quantitative results and algorithmic tools to refine our understanding of the classical combinatorial explosion phenomenon arising in concurrency. This paper is essentially focusing on the 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.

[1]  Koushik Sen,et al.  Effective random testing of concurrent programs , 2007, ASE.

[2]  Gilbert Labelle,et al.  Combinatorial species and tree-like structures , 1997, Encyclopedia of mathematics and its applications.

[3]  Debra Hensgen,et al.  Two algorithms for barrier synchronization , 1988, International Journal of Parallel Programming.

[4]  Alain Denise,et al.  Uniform Monte-Carlo Model Checking , 2011, FASE.

[5]  Peter Winkler,et al.  Counting linear extensions is #P-complete , 1991, STOC '91.

[6]  Michèle Soria,et al.  Uniform Sampling for Networks of Automata , 2017, CONCUR.

[7]  Sanjeev Arora,et al.  Computational Complexity: A Modern Approach , 2009 .

[8]  Mark Huber,et al.  Fast perfect sampling from linear extensions , 2006, Discret. Math..

[9]  Liuba Shrira,et al.  Promises: linguistic support for efficient asynchronous procedure calls in distributed systems , 1988, PLDI '88.

[10]  Philippe Marchal,et al.  Rectangular Young tableaux with local decreases and the density method for uniform random generation , 2018, GASCom.

[11]  Leslie G. Valiant,et al.  A bridging model for multi-core computing , 2008, J. Comput. Syst. Sci..

[12]  Mogens Nielsen,et al.  Decidability Issues for Petri Nets - a survey , 1994, Bull. EATCS.

[13]  Fredrik Johansson,et al.  Ore Polynomials in Sage , 2013, Computer Algebra and Polynomials.

[14]  Radu Grosu,et al.  Monte Carlo Model Checking , 2005, TACAS.

[15]  Philippe Flajolet,et al.  Analytic Combinatorics , 2009 .

[16]  Philippe Flajolet,et al.  A Calculus for the Random Generation of Labelled Combinatorial Structures , 1994, Theor. Comput. Sci..

[17]  Olivier Bodini,et al.  The Ordered and Colored Products in Analytic Combinatorics: Application to the Quantitative Study of Synchronizations in Concurrent Processes , 2017, ANALCO.

[18]  Hsien-Kuei Hwang,et al.  Increasing Diamonds , 2016, LATIN.

[19]  Alfredo Viola,et al.  Beyond series-parallel concurrent systems: the case of arch processes , 2018, AofA.

[20]  Leslie G. Valiant,et al.  Direct Bulk-Synchronous Parallel Algorithms , 1992, J. Parallel Distributed Comput..

[21]  Olivier Bodini,et al.  Entropic Uniform Sampling of Linear Extensions in Series-Parallel Posets , 2017, CSR.

[22]  Olivier Bodini,et al.  A Quantitative Study of Pure Parallel Processes , 2014, Electron. J. Comb..

[23]  Olivier Bodini,et al.  The Combinatorics of Non-determinism , 2013, FSTTCS.

[24]  I. Rival Algorithms and Order , 1988 .

[25]  I. G. BONNER CLAPPISON Editor , 1960, The Electric Power Engineering Handbook - Five Volume Set.

[26]  Olivier Bodini,et al.  The Combinatorics of Barrier Synchronization , 2019, Petri Nets.

[27]  Richard P. Stanley,et al.  Two poset polytopes , 1986, Discret. Comput. Geom..

[28]  Rolf H. Möhring,et al.  Computationally Tractable Classes of Ordered Sets , 1989 .

[29]  Jean Mairesse,et al.  Uniform Generation in Trace Monoids , 2015, MFCS.