A Formal Proof of a Necessary and Sufficient Condition for Deadlock-Free Adaptive Networks

  • Freek Verbeek
  • Julien Schmaltz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6172)


Deadlocks occur in interconnection networks as messages compete for free channels or empty buffers. Deadlocks are often associated with a circular wait between processes and resources. In the context of networks, Duato proved that for adaptive routing networks a cyclic dependency is not sufficient to create a deadlock. He proposed deadlock-free routing techniques allowing cyclic dependencies between channels or buffers. His work was a breakthrough. It was also counterintuitive and only a complex mathematical proof could convince his peers about the soundness of his theory. We define a necessary and sufficient condition that captures Duato’s intuition but that is more intuitive and leads to a simpler proof. However, our condition is logically equivalent to Duato’s one. We used the ACL2 theorem proving system to formalize our condition and its proof. In particular, we used two features of ACL2, namely the encapsulation principle and quantifiers, to perform an elegant formalization based on second order functions.


Interconnection Network Dependency Graph Formal Proof Destination Port Switching Method 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Stalling, W.: Operating Systems, Internals and Design Principles. Pearson Education International, London (2009)Google Scholar
  2. 2.
    Dally, W., Seitz, C.: Deadlock-free message routing in multiprocessor interconnection networks. IEEE Transactions on Computers (36), 547–553 (1987)Google Scholar
  3. 3.
    Duato, J.: A necessary and sufficient condition for deadlock-free adaptive routing in wormhole networks. IEEE Transactions on Parallel and Distributed Systems 6(10), 1055–1067 (1995)CrossRefGoogle Scholar
  4. 4.
    Duato, J., Yalamanchili, S., Ni, L.: Interconnection Networks, an engeneering approach. Morgan Kaufmann Publishers, San Francisco (2003)Google Scholar
  5. 5.
    Kaufmann, M., Manolios, P., Moore, J.S.: ACL2 Computer-Aided Reasoning: An Approach (2000)Google Scholar
  6. 6.
    Verbeek, F., Schmaltz, J.: Proof pearl: A formal proof of dally and seitz’ necessary and sufficient condition for deadlock-free routing in interconnection networks. J. Autom. Reasoning (2009) (submitted to publication),
  7. 7.
    Kaufmann, M., Manolios, P., Moore, J.S.: ACL2 Computer Aided Reasoning: An Approach. Kluwer Academic Press, Dordrecht (2000)Google Scholar
  8. 8.
    Ray, S.: Quantification in Tail-recursive Function Definitions. In: Manolios, P., Wilding, M. (eds.) Proceedings of the 6th International Workshop on the ACL2 Theorem Prover and Its Applications (ACL2 2006), Seattle, WA, August 2006. ACM International Conference Series, vol. 205, pp. 95–98. ACM Press, New York (2006)CrossRefGoogle Scholar
  9. 9.
    Kaufmann, M., Moore, J.S.: Structured Theory Development for a Mechanized Logic. Journal of Automated Reasoning 26(2), 161–203 (1997)CrossRefMathSciNetGoogle Scholar
  10. 10.
    Verbeek, F., Schmaltz, J.: Formal specification of networks-on-chip: deadlock, livelock, and evacuation. In: Proceedings of Design, Automation & Test in Europe 2010 (DATE’10) (March 2010)Google Scholar
  11. 11.
    Misra, J., Chandy, K.: A distributed graph algorithm: knot detection. ACM Transactions on Programming Languages and Systems 4(4), 678–686 (1982)zbMATHCrossRefGoogle Scholar
  12. 12.
    Duato, J.: A necessary and sufficient condition for deadlock-free adaptive routing in cut-through and store-and-forward networks. IEEE Transactions on Parallel and Distributed Systems 7(8), 841–1067 (1996)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Freek Verbeek
    • 1
    • 2
  • Julien Schmaltz
    • 1
    • 2
  1. 1.Institute for Computing and Information SciencesRadboud University NijmegenNijmegenThe Netherlands
  2. 2.School of Computer ScienceOpen University of the NetherlandsHeerlenThe Netherlands

Personalised recommendations