130 likes | 163 Views
Learn about the definitions of deadlock and livelock in network systems, understand the cycle of deadlock, examples like 1D Torus and 2D Mesh, and techniques for deadlock avoidance through restricted physical routes and dimension order.
E N D
Interconnection Networks: Deadlock and Livelock Feb. 26th, 2007 Prof. Chung-Kuan Cheng Transcribed by: Mohammad Al-Fares
Definitions • Deadlock: • A group of agents (packets) are unable to make progress because they’re waiting on one another to release resources (buffers, channels, etc.) • Livelock: • Packets continue to move through the network, but without making progress towards their destination
Deadlock • Cycle of deadlock: • Construct edges hold(a, b): Agent a holds resource b • Construct edges waitfor(a, b): Agent a waits for resource b • Reverse waitfor edges • Find Cycles of the graph: The cycles cause deadlock
Deadlock Avoidance • Restricted Physical Route • Dimension Order (K-ary n-mesh) • i.e. x → y → z • +x packet waitfor +x, -y, +y, -z, +z • -x packet waitfor -x, -y, +y, -z, +z • +y packet waitfor +y, -z, +z • -y packet waitfor -y, -z, +z • +z packet waitfor +z • -z packet waitfor -z
Deadlock Avoidance • Restricted Physical Route • Dimension Order (K-ary n-mesh)
Deadlock Avoidance • Turn Model Routing
Deadlock Avoidance Eliminate +y -x turns: • Eliminate -y -x turns: west-first route • Eliminate +y +x turns: north-last route • Eliminate +x -y turns: negative-first route • Eliminate -y -x turns: possible cycle, not allowed
Deadlock Avoidance • For restricted physical routes, we can enforce the rule by numbering the channels, and we go only from a channel to a channel with a higher number • Reduces path diversity → (performance, fault-tolerance)