Proof Pearl: A Formal Proof of Dally and Seitz' Necessary and Sufficient Condition for Deadlock-Free Routing in Interconnection Networks

  • Authors:
  • Freek Verbeek;Julien Schmaltz

  • Affiliations:
  • Institute for Computing and Information Sciences, Radboud University Nijmegen, Nijmegen, The Netherlands 6500 and School of Computer Science, Open University of The Netherlands, Heerlen, The Nethe ...;Institute for Computing and Information Sciences, Radboud University Nijmegen, Nijmegen, The Netherlands 6500 and School of Computer Science, Open University of The Netherlands, Heerlen, The Nethe ...

  • Venue:
  • Journal of Automated Reasoning
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Avoiding deadlock is crucial to interconnection networks. In '87, Dally and Seitz proposed a necessary and sufficient condition for deadlock-free routing. This condition states that a routing function is deadlock-free if and only if its channel dependency graph is acyclic. We formally define and prove a slightly different condition from which the original condition of Dally and Seitz can be derived. Dally and Seitz prove that a deadlock situation induces cyclic dependencies by reductio ad absurdum. In contrast we introduce the notion of a waiting graph from which we explicitly construct a cyclic dependency from a deadlock situation. Moreover, our proof is structured in such a way that it only depends on a small set of proof obligations associated to arbitrary routing functions and switching policies. Discharging these proof obligations is sufficient to instantiate our condition for deadlock-free routing on particular networks. Our condition and its proof have been formalized using the ACL2 theorem proving system.