Abstract. In this paper we present a concurrency measure that is especially adapted to distributed programs that exhibit regular run-time behaviours, including many programs that are obtained by automatic parallelization of sequential code. This measure is based on the antichain lattice of the partial order that models the distributed execution under consideration. We show the conditions under which the measure is computable on an infinite execution that is the repetition of a finite pattern. There, the measure can be computed by considering only a bounded number of patterns, the bound being at most the number of processors.
IntroductionThe trend towards the use of distributed memory parallel machines is very evident. However, their programming environments have to be significantly improved, especially in the field we are mainly interested in: semi-automated distribution of sequential code for scientific computing. Indeed, programmers need sophisticated performance evaluation tools. However, there is no well-accepted "complexity" criterion for distributed programs, for the behaviours of asynchronous message-passing programs are not yet sufficiently understood. It is also very difficult to design tools that can give relevant performance information from static analysis of distributed code. A research axis is to study runs of a distributed program instead of the program itself. Especially, it needs to define concurrency measures, i.e. measures that can help reveal the synchronization structure of a computation, as opposed to the traditional ones (message count, for instance) which only give quantitative information about the computation. For this it is now usual to take a distributed execution as a partially ordered set of events that are causally related by process sequentiMity and interprocess communication [14]. As far as we know, the first concurrency measure that takes account of causality was proposed by Charron-Bost [5], followed by [9,11,16].It is shown in [11] that either these measures are too inaccurate or their computational complexity makes them impracticable. It is also important to observe