A linear programming approach to general dataflow process network verification and dimensioning
In this paper, we present linear programming-based sufficient conditions, some of them polynomial-time, to establish the liveness and memory boundedness of general dataflow process networks. Furthermore, this approach can be used to obtain safe upper bounds on the size of the channel buffers of such a network.
š” Research Summary
The paper introduces a linearāprogramming (LP) framework for verifying two fundamental properties of Dataflow Process Networks (DPNs): liveness (the guarantee that the network can continue to make progress) and memory boundedness (the existence of finite channel buffers that prevent unbounded growth). The authors model a DPN as a set of tasks (nodes) communicating through unidirectional FIFO channels (edges). Each task is described by a stateātransition graph Gā = (Vā āŖ {vāā}, Aā āŖ {Ļāā}) where Ļāā is the unique unconditional initial transition. For every transition Ļ and every channel f that a task either produces to (Pā) or consumes from (Cā), the amounts of data produced (qpįµ_f) and consumed (qcįµ_f) are known constants.
The core of the method is the introduction of integer variables n_Ļ ā„ 0 that count how many times each transition Ļ has been executed. From these variables the authors derive a collection of linear constraints that capture the admissibility of a global system state:
- Initialization ā the initial transition of each task must be executed exactly once (n_{Ļāā}=1).
- Conservation ā for every state v of a task, the number of times the state is entered and left must differ by at most one, which yields inequalities of the form Ī£_in(v) n_Ļ ā 1 ⤠Σ_out(v) n_Ļ ā¤ Ī£_in(v) n_Ļ.
- Uniqueness ā each task must be in exactly one current state; this is expressed by defining γ_v = Ī£_in(v) n_Ļ ā Ī£_out(v) n_Ļ and enforcing Ī£_{vāVā} γ_v = 1.
- Consistency ā for each channel f the total produced data qp_f = Ī£_{ĻāA_{p_f}} n_ĻĀ·qpįµ_f must be at least the total consumed data qc_f.
- Capacity ā the current occupancy qp_f ā qc_f must never exceed the buffer capacity d_f.
To reason about deadlock, the authors define two notions of blockedness. A task is strongly blocked if, in its current state, no outgoing transition can fire; a task is weakly blocked if at least one outgoing transition is unavailable. Both notions are expressed by linear inequalities (γ_v ⤠0 together with channelāoccupancy constraints) and a logical OR over the outgoing transitions. Standard LP modeling tricks (bigāM, binary variables) linearize these disjunctions, yielding a pure integer linear system
āAx ⤠b(d) ,āx ā ā¤āæ.
The key observation is that if this system is inconsistent (has no integer solution), then the DPN is live for the given buffer dimensions d. Moreover, the continuous relaxation (allowing real variables) provides a weaker but polynomialātime sufficient condition: if the relaxed system is infeasible, the network is certainly live.
The paper then tackles memory boundedness. By exploiting the equivalence between DPNs and Kahn Process Networks (KPNs), the authors prove a monotonicity property: if a DPN is live with a certain buffer vector d, it remains live for any larger vector dā² ā„ d (componentāwise). Consequently, they formulate an integer linear program that seeks the largest uniform buffer size z such that the network fails to be live:
āmaximizeāz
āsubject toāAx ⤠b(z),āy = (x, z) ā ā¤^{n+1}_+.
If the optimal value z_IP is finite, then any buffer size d_f ā„ z_IP + 1 guarantees both liveness and boundedness. If z_IP = ā, no conclusion can be drawn. The continuous relaxation of this program, yielding z_LP, can be solved in polynomial time; finiteness of z_LP is equivalent to finiteness of z_IP, providing a tractable sufficient condition for both properties.
Algorithmically, the authors note that while z_LP is easy to compute, the integrality gap (z_LP ā z_IP) may be large, so tight buffer dimensioning often requires solving the integer program. Because the feasible region is unbounded (the n_Ļ variables are not a priori bounded), generic branchāandābound ILP solvers may not terminate. The paper suggests using cuttingāplane methodsāGomory cuts or, preferably, problemāspecific inequalities derived from a polyhedral study of the integer hullāto guarantee termination.
In summary, the contribution is a comprehensive LPābased methodology that (1) models DPN execution states with linear constraints, (2) provides polynomialātime sufficient tests for liveness via continuous relaxation, (3) translates memory boundedness into a maximization problem over a uniform buffer size, and (4) discusses practical solution strategies for the resulting integer programs. This framework enables designers to automatically verify deadlockāfreedom and to compute safe upper bounds on channel buffer capacities early in the design flow of highly concurrent, dataādriven applications.
Comments & Academic Discussion
Loading comments...
Leave a Comment