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

Read more

Summary

Introduction

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

Syntax trees
Computation trees
Enumeration of concurrent runs
An isomorphism with increasing trees
Analysis of growth
The case of non-plane trees
Typical shape of process behaviours
Increasing admissible cuts
Experimental study
Mean number of nodes by level
Expected size of process behaviours
First approximation of mean size
The mean size defined by a P-recurrence
Precise asymptotics of the size
Applications
Probability of a run prefix
Random generation of concurrent runs
Conclusion and perspectives
A Weighted random sampling in dynamic multisets
Dynamic multiset basics
A naive random sampler
Result:
A more efficient random sampler based on partial sum trees
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call