
The Ivy Bridge, Xeon Phi, and Cell processors use ring networks. In Networks-On-Chip, 2015 7.9.2 Related work

In order to deallocate resources, packets holding those resources are usually aborted. If a deadlock is detected, some resources are deallocated and granted to other packets. Therefore, deadlock is possible and some detection mechanism must be provided.

In deadlock recovery strategies, resources are granted to a packet without any check. A common technique consists of establishing an ordering between resources and granting resources to each packet in decreasing order. Achieving this in a distributed manner is not an easy task.
#Deadlock escape update#
This strategy should avoid sending additional packets to update the global state because these packets consume network bandwidth and they may contribute to produce deadlock. However, a resource is granted to a packet only if the resulting global state is safe. In deadlock avoidance, resources are requested as a packet advances through the network. This is the case for all the variants of circuit switching when backtracking is allowed. It can be achieved by reserving all the required resources before starting packet transmission. In deadlock prevention, resources (channels or buffers) are granted to a packet in such a way that a request never leads to a deadlock.

There are three strategies for deadlock handling: deadlock prevention, deadlock avoidance, and deadlock recovery 1. This chapter is almost completely dedicated to this subject. Lionel Ni, in Interconnection Networks, 2003ĭeadlock is by far the most difficult problem to solve.
