The Combinatorics of Barrier Synchronization

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.

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

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

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

[4]  Igor Pak,et al.  Counting Linear Extensions of Restricted Posets , 2018, Electron. J. Comb..

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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