Abstract
In this paper, we study the interleaving – or pure merge – operator that most often characterizes parallelism in concurrency theory. This operator is a principal cause of the so-called combinatorial explosion that makes the analysis of process behaviours e.g. by model-checking, very hard – at least from the point of view of computational complexity. The originality of our approach is to study this combinatorial explosion phenomenon on average, relying on advanced analytic combinatorics techniques. We study various measures that contribute to a better understanding of the process behaviours represented as plane rooted trees: the number of runs (corresponding to the width of the trees), the expected total size of the trees as well as their overall shape. Two practical outcomes of our quantitative study are also presented: (1) a linear-time algorithm to compute the probability of a concurrent run prefix, and (2) an efficient algorithm for uniform random sampling of concurrent runs. These provide interesting responses to the combinatorial explosion problem.
Highlights
A significant part of concurrency theory is built upon a simple interleaving operator named the pure merge in [BW90]
A direct consequence of Corollary 27 a b c d gives the cumulated number Wni of nodes at level n − i − 1 in computation trees issued of syntax trees of size n to be equal to the sum on all increasingly labelled admissible cuts the electronic journal of combinatorics 23(1) (2016), #P1.11 of size n − i induced by size n syntax trees
We describe two practical outcomes of our quantitative study of the pure merge operator
Summary
A significant part of concurrency theory is built upon a simple interleaving operator named the pure merge in [BW90]. Our objective in this work is to better characterize the typical shape of concurrent process behaviours as computation trees and for this we rely heavily on analytic combinatorics techniques, on the symbolic method. This culminates with a rather precise characterization of the typical shape of process. This typical measure is precisely characterized by a linear recurrence relation that we obtain in three distinct ways. The second application is an efficient algorithm for the uniform random sampling of concurrent runs These algorithms work directly on the syntax trees of the process without requiring the explicit construction of their behaviour, avoiding the combinatorial explosion issue. The proofs in this extended version are more detailed
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have