Strongly polynomial-time algorithm for over-constraint resolution: efficient debugging of timing constraint violations

A system of binary linear constraints or difference constraints (SDC) contains a set of variables that are constrained by a set of unary or binary linear inequalities. In such diverse applications as scheduling, interface timing verification, real-time systems, multimedia systems, layout compaction, and constraint satisfaction, SDCs have successfully been used to model systems of both temporal and spatial constraints. Formally, SDCs are modeled by weighted, directed (constraint) graphs. The consistency of an SDC means that there is at least one instantiation of its variables that satisfies all its constraints. It is well known that the absence of positive cycles in a graph implies the consistency of the corresponding SDC, so the consistency can be decided in strongly polynomial time. If a SDC is found to be inconsistent, it has to be repaired to make it consistent. This task is equivalent to removing positive cycles from the corresponding graph. All the previous algorithms for this task take time proportional to the number of positive cycles in the graph, which can grow exponentially. In this paper, we propose a strongly polynomial-time algorithm, i.e., an algorithm whose time complexity is polynomial in the size of the graph. Our algorithm takes in a graph and returns a list of edges and the changes in their weights to remove all the positive cycles from the graph. We experimentally quantify the length of the edge list and the running time of the algorithm on large benchmark graphs. We show that both are very small, so our algorithm is practical.

[1]  Gaetano Borriello,et al.  Software Scheduling in the Co-Synthesis of Reactive Real-Time Systems , 1994, 31st Design Automation Conference.

[2]  Andrew V. Goldberg,et al.  Shortest paths algorithms: Theory and experimental evaluation , 1994, SODA '94.

[3]  Chak-Kuen Wong,et al.  An Algorithm to Compact a VLSI Symbolic Layout with Mixed Constraints , 1983, 20th Design Automation Conference Proceedings.

[4]  Andrew V. Goldberg,et al.  Negative-Cycle Detection Algorithms , 1996, ESA.

[5]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[6]  Charles J. Alpert,et al.  The ISPD98 circuit benchmark suite , 1998, ISPD '98.

[7]  Narsingh Deo,et al.  On Algorithms for Enumerating All Circuits of a Graph , 1976, SIAM J. Comput..

[8]  Wayne H. Wolf,et al.  An efficient graph algorithm for FSM scheduling , 1996, IEEE Trans. Very Large Scale Integr. Syst..

[9]  Rajesh K. Gupta,et al.  Rate analysis for embedded systems , 1998, TODE.

[10]  Xuemin Lin,et al.  A Fast and Effective Heuristic for the Feedback Arc Set Problem , 1993, Inf. Process. Lett..

[11]  John A. Nestor,et al.  SALSA: a new approach to scheduling with timing constraints , 1990, 1990 IEEE International Conference on Computer-Aided Design. Digest of Technical Papers.

[12]  Ali Dasdan,et al.  Timing analysis of embedded real-time systems , 1999 .

[13]  Jian-Feng Shi,et al.  Resource constrained algebraic transformation for loop pipelining , 1996, Proceedings of the Sixth Great Lakes Symposium on VLSI.

[14]  Aloysius K. Mok,et al.  Safety analysis of timing properties in real-time systems , 1986, IEEE Transactions on Software Engineering.

[15]  Werner L. Schiele Compaction with incremental over-constraint resolution , 1988, DAC '88.

[16]  Gaetano Borriello Specification and Synthesis of Interface Logic , 1991 .

[17]  Fadi J. Kurdahi,et al.  A constraint-based application model and scheduling techniques for power-aware systems , 2001, CODES '01.

[18]  Ron Miller,et al.  Scheduling using behavioral templates , 1995, DAC '95.

[19]  Ali Dasdan,et al.  Experimental analysis of the fastest optimum cycle ratio and mean algorithms , 2004, TODE.

[20]  Rina Dechter,et al.  Temporal Constraint Networks , 1989, Artif. Intell..

[21]  Chak-Kuen Wong,et al.  An Algorithm to Compact a VLSI Symbolic Layout with Mixed Constraints , 1983, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[22]  Christopher Kingsley A Hiererachical, Error-Tolerant Compactor , 1984, 21st Design Automation Conference Proceedings.

[23]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[24]  Ruud C. M. de Rooij,et al.  The MSP.RTL real-time scheduler synthesis tool , 1996, 17th IEEE Real-Time Systems Symposium.

[25]  Farhad Mavaddat,et al.  Consistency and satisfiability of waveform timing specifications , 1991, Networks.

[26]  K. Selçuk Candan,et al.  Collaborative multimedia documents: Authoring and presentation , 1998 .

[27]  Ragunathan Rajkumar,et al.  Monitoring timing constraints in distributed real-time systems , 1992, [1992] Proceedings Real-Time Systems Symposium.

[28]  Rajesh K. Gupta,et al.  Faster maximum and minimum mean cycle algorithms for system-performance analysis , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[29]  K. Ishima,et al.  An algorithm to detect positive cycles in a constraint graph for layout compaction , 1990, IEEE International Symposium on Circuits and Systems.

[30]  Giovanni De Micheli,et al.  Relative scheduling under timing constraints: algorithms for high-level synthesis of digital circuits , 1992, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[31]  Robert E. Tarjan,et al.  Faster parametric shortest path and minimum-balance algorithms , 1991, Networks.