next up previous contents
Next: Statistics and Debugging Support Up: System Interconnects Previous: Multiprocessor interconnection network

Deadlock avoidance

 

The node bus avoids deadlock by accessing subsequent bus agents in a round-robin order. If the desired target of a transaction is not available, the bus does not allow a new transaction to progress beyond arbitration. Thus, no access is allowed to stall the bus.

The interconnection network avoids deadlock through three design decisions. First, replies and requests are sent on separate networks. Since replies are guaranteed to be processed by the other modules in a finite amount of time, there is no possibility of the reply network deadlocking. Requests can depend on other requests or replies. If a request depends only on other replies, there is no chance of deadlock since no circular dependence exists (as replies cannot in turn depend on requests). However, if a request depends on other requests, deadlock may arise. This type of deadlock is resolved at the directory, as described in Section 14.6.



Vijay Sadananda Pai
Thu Aug 7 14:18:56 CDT 1997