Compile-Time Schedulability Analysis of Communicating Concurrent Programs

Cong Liu

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2006-94
June 28, 2006

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-94.pdf

The use of concurrent models has become a necessity in embedded system design. This trend is driven by the growing complexity and inherent multitasking of embedded systems. Describing a system as a set of concurrently executed, relatively simple subtasks is more natural than using a single, complicated task. Embedded systems, However, have limited resources. They often have a few processors. This implies that several software subtasks (programs) have to share a CPU. Compile-time scheduling determines a sequential execution order of the program statements that satisfies certain constraint, e.g. bounded memory usage, at compile time.

We study compile-time schedulability of concurrent programs based on a Petri net model. We consider concurrent programs that asynchronously communicate with each other and the environment through unbounded first-in first-out (FIFO) buffers. The Petri net represents the control flow and communications of the programs, and models data dependent branches as non-deterministic free choices. A schedule of a Petri net represents a set of firing sequences that can be infinitely repeated within a bounded state space, regardless of the outcomes of the nondeterministic choices. Schedulability analysis for a given Petri net answers the question whether a valid schedule exists in the reachability space of this net. Due to the heuristics nature of existing scheduling algorithms, discovering powerful necessary condition for schedulability is important to gain efficiency in analysis. We propose a novel structural approach to schedulability analysis of Petri nets. Structural analysis often yields polynomial-time algorithms and is applicable for all initial states. We show that unschedulability can be caused by a structural relation among transitions modelling nondeterministic choices. Two methods for checking the existence of the relation are proposed. One uses linear programming, and the other is based on the generating sets of T-invariants. We also show a necessary condition for schedulability based on the rank of the incidence matrix of the Petri net. These theoretic results shed a light on the sources of unschedulability often found in the Petri net models of embedded multimedia systems. Our experiments show that these techniques are effective and efficient.

Advisor: Alberto L. Sangiovanni-Vincentelli


BibTeX citation:

@phdthesis{Liu:EECS-2006-94,
    Author = {Liu, Cong},
    Title = {Compile-Time Schedulability Analysis of Communicating Concurrent Programs},
    School = {EECS Department, University of California, Berkeley},
    Year = {2006},
    Month = {Jun},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-94.html},
    Number = {UCB/EECS-2006-94},
    Abstract = {The use of concurrent models has become a necessity in embedded system design. This trend is driven by the growing complexity and inherent multitasking of embedded systems. Describing a system as a set of concurrently executed, relatively simple subtasks is more natural than using a single, complicated task. Embedded systems, However, have limited resources. They often have a few processors. This implies that several software subtasks (programs) have to share a CPU. Compile-time scheduling determines a sequential execution order of the program statements that satisfies certain constraint, e.g. bounded memory usage, at compile time. 

We study compile-time schedulability of concurrent programs based on a Petri net model. We consider concurrent programs that asynchronously communicate with each other and the environment through unbounded first-in first-out (FIFO) buffers. The Petri net represents the control flow and communications of the programs, and models data dependent branches as non-deterministic free choices. A schedule of a Petri net represents a set of firing sequences that can be infinitely repeated within a bounded state space, regardless of the outcomes of the nondeterministic choices. Schedulability analysis for a given Petri net answers the question whether a valid schedule exists in the reachability space of this net. Due to the heuristics nature of existing scheduling  algorithms, discovering powerful necessary condition for schedulability is important to gain efficiency in analysis. We propose a novel structural approach to schedulability analysis of Petri nets. Structural analysis often yields polynomial-time algorithms and is applicable for all initial states. We show that unschedulability can be caused by a structural relation among transitions modelling nondeterministic choices. Two methods for checking the existence of the relation are proposed. One uses linear programming, and the other is based on the generating sets of T-invariants. We also show a necessary condition for schedulability based on the rank of the incidence matrix of the Petri net. These theoretic results shed a light on the sources of unschedulability often found in the Petri net models of embedded multimedia systems. Our experiments show that these techniques are effective and efficient.}
}

EndNote citation:

%0 Thesis
%A Liu, Cong
%T Compile-Time Schedulability Analysis of Communicating Concurrent Programs
%I EECS Department, University of California, Berkeley
%D 2006
%8 June 28
%@ UCB/EECS-2006-94
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-94.html
%F Liu:EECS-2006-94