130 likes | 152 Views
Interconnection Networks: Deadlock and Livelock. Feb. 26 th , 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.)
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)