Proof Pearl: A Formal Proof of Dally and Seitz’ Necessary and Sufficient Condition for Deadlock-Free Routing in Interconnection Networks
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.
KeywordsDeadlock-free routing Interactive theorem proving ACL2
Unable to display preview. Download preview PDF.
- 1.Borrione, D., Helmy, A., Pierre, L., Schmaltz, J.: A formal approach to the verification of networks on chip. In: EURASIP Journal on Embedded Systems, 2009(Article ID 548324), 14 pp. doi: 10.1155/2009/548324 (2009)
- 3.Boyer, R.S., Strother Moore, J.: A Computation Logic Handbook. Academic Press (1988)Google Scholar
- 5.Cormen, T.H., Leiserson, C.E., Rivest, R.L.: Introduction to Algorithms. MIT Press and McGraw Hill (1990)Google Scholar
- 7.Dally, W.J., Towles, B.: Principles and Practices of Interconnection Networks. Morgan Kaufmann (2004)Google Scholar
- 9.Duato, J., Yalamanchili, S., Ni, L.: Interconnection Networks: an Engineering Approach. IEEE Computer Society Press, Los Alamitos, CA, USA (1997)Google Scholar
- 13.Kaufmann, M., Manolios, P., Strother Moore, J.: ACL2 Computer-Aided Reasoning: an Approach. Kluwer Academic Press (2000)Google Scholar
- 16.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). ACM International Conference Series, vol. 205, pp. 95–98. ACM, Seattle, WA (2006)CrossRefGoogle Scholar
- 17.Schmaltz, J., Borrione, D.: Towards a formal theory of on chip communications in the ACL2 logic. In: Proceedings of the Sixth International Workshop on the ACL2 Theorem Prover and its Applications, part of FloC’06, 14–15 August 2006. ACM, Seattle, WA (2006)Google Scholar
- 19.Schwiebert, L., Jayasimha, D.N.: A universal proof technique for deadlock-free routing in interconnection networks. In: 7th Annual ACM Symposium on Parallel Algorithms and Architectures, pp. 175–184 (1995)Google Scholar
- 20.Verbeek, F., Schmaltz, J.: Formal validation of deadlock prevention in networks-on-chips. In: Ray, S., Russinoff, D. (eds.) Eighth International Workshop on the ACL2 Theorem Prover and its Application, pp. 135–145, 11–12 May 2009. Northeastern University, Boston MA, USA. ACM (2009)Google Scholar
- 21.Verbeek, F., Schmaltz, J.: Formal specification of networks-on-chips: deadlock and evacuation. In: Proc. of Design, Automation, and Test in Europe (DATE’10), pp. 1701–1706 (2010)Google Scholar