© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Deadlock: Part II.

Slides:



Advertisements
Similar presentations
Ch. 12 Routing in Switched Networks
Advertisements

Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Prof. Natalie Enright Jerger
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Data and Computer Communications
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Packet Switching COM1337/3501 Textbook: Computer Networks: A Systems Approach, L. Peterson, B. Davie, Morgan Kaufmann Chapter 3.
Fundamentals of Computer Networks ECE 478/578 Lecture #13: Packet Switching (2) Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
Jaringan Komputer Lanjut Packet Switching Network.
William Stallings Data and Computer Communications 7 th Edition Chapter 13 Congestion in Data Networks.
ECE 8813a (1) Non-minimal Routing Non-minimal routing  Wormhole degrades performance while VCT has less secondary effects  Fault tolerance is the main.
High Performance Router Architectures for Network- based Computing By Dr. Timothy Mark Pinkston University of South California Computer Engineering Division.
1 Lecture 12: Interconnection Networks Topics: dimension/arity, routing, deadlock, flow control.
1 Lecture 23: Interconnection Networks Paper: Express Virtual Channels: Towards the Ideal Interconnection Fabric, ISCA’07, Princeton.
1 Lecture 13: Interconnection Networks Topics: flow control, router pipelines, case studies.
1 Lecture 25: Interconnection Networks Topics: flow control, router microarchitecture Final exam:  Dec 4 th 9am – 10:40am  ~15-20% on pre-midterm  post-midterm:
1 Lecture 24: Interconnection Networks Topics: topologies, routing, deadlocks, flow control Final exam reminders:  Plan well – attempt every question.
Chapter 10 Introduction to Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
Rotary Router : An Efficient Architecture for CMP Interconnection Networks Pablo Abad, Valentín Puente, Pablo Prieto, and Jose Angel Gregorio University.
1 Lecture 24: Interconnection Networks Topics: communication latency, centralized and decentralized switches (Sections 8.1 – 8.5)
1 Lecture 24: Interconnection Networks Topics: topologies, routing, deadlocks, flow control.
(C) 2004 Daniel SorinDuke Architecture Using Speculation to Simplify Multiprocessor Design Daniel J. Sorin 1, Milo M. K. Martin 2, Mark D. Hill 3, David.
2015/7/2Deadlock-free Packet Switching1 Introduction to Distributed Algorithm Part One: Protocols Chapter 5- Deadlock-free Packet Switching Teacher: Chun-Yuan.
1 Lecture 25: Interconnection Networks Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix E) Review session,
1 Chapter 10 Introduction to Metropolitan Area Networks and Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
Distributed process management: Distributed deadlock
Performance and Power Efficient On-Chip Communication Using Adaptive Virtual Point-to-Point Connections M. Modarressi, H. Sarbazi-Azad, and A. Tavakkol.
Switching, routing, and flow control in interconnection networks.
Switching Techniques Student: Blidaru Catalina Elena.
1 The Turn Model for Adaptive Routing. 2 Summary Introduction to Direct Networks. Deadlocks in Wormhole Routing. System Model. Partially Adaptive Routing.
High-Performance Networks for Dataflow Architectures Pravin Bhat Andrew Putnam.
Networks-on-Chips (NoCs) Basics
© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Blue Gene/L Torus Interconnection Network N. R. Adiga, et.al IBM Journal.
Deadlock CEG 4131 Computer Architecture III Miodrag Bolic.
Data and Computer Communications Chapter 10 – Circuit Switching and Packet Switching (Wide Area Networks)
1 Flow Identification Assume you want to guarantee some type of quality of service (minimum bandwidth, maximum end-to-end delay) to a user Before you do.
TELE202 Lecture 5 Packet switching in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lectures »C programming »Source: ¥This Lecture »Packet switching in Wide.
Computer Networks with Internet Technology William Stallings
© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Switch Microarchitecture Basics.
NC2 (No.4) 1 Undeliverable packets & solutions Deadlock: packets are unable to progress –Prevention, avoidance, recovery Livelock: packets cannot reach.
1 Lecture 15: Interconnection Routing Topics: deadlock, flow control.
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
Anshul Kumar, CSE IITD ECE729 : Advanced Computer Architecture Lecture 27, 28: Interconnection Mechanisms In Multiprocessors 29 th, 31 st March, 2010.
BZUPAGES.COM Presentation On SWITCHING TECHNIQUE Presented To; Sir Taimoor Presented By; Beenish Jahangir 07_04 Uzma Noreen 07_08 Tayyaba Jahangir 07_33.
1 Lecture 24: Fault Tolerance Papers: Token Coherence: Decoupling Performance and Correctness, ISCA’03, Wisconsin A Low Overhead Fault Tolerant Coherence.
TELE202 Lecture 6 Routing in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Packet switching in Wide Area Networks »Source: chapter 10 ¥This Lecture.
© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Deadlock.
1 Lecture 24: Interconnection Networks Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix F)
1 Lecture 14: Interconnection Networks Topics: dimension vs. arity, deadlock.
© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Deadlock: Part II - Recovery.
1 Lecture 29: Interconnection Networks Papers: Express Virtual Channels: Towards the Ideal Interconnection Fabric, ISCA’07, Princeton Interconnect Design.
1 Lecture 22: Interconnection Networks Topics: Routing, deadlock, flow control, virtual channels.
William Stallings Data and Computer Communications
Scaling the Network: The Internet Protocol
Network Layer Goals: Overview:
Deadlock.
Interconnection Networks: Flow Control
Azeddien M. Sllame, Amani Hasan Abdelkader
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Mechanics of Flow Control
Architecture of Parallel Computers CSC / ECE 506 Summer 2006 Scalable Programming Models Lecture 11 6/19/2006 Dr Steve Hunter.
Switching, routing, and flow control in interconnection networks
Chapter 7 Deadlocks.
Lecture 14: Interconnection Networks
CEG 4131 Computer Architecture III Miodrag Bolic
Lecture: Interconnection Networks
Scaling the Network: The Internet Protocol
Lecture 25: Interconnection Networks
EE382C Lecture 9 Deadlock 4/26/11 EE 382C - S11- Lecture 9.
Multiprocessors and Multi-computers
Presentation transcript:

© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Deadlock: Part II

ECE 8813a (2) Reading Assignment T. M. Pinkston, “Deadlock Characterization and Resolution in Interconnection Networks,” Chapter 13 in Deadlock Resolution in Computer Integrated Systems, CRC Press 2004 V. Puente et.al, “Adaptive Bubble Router: A Design to Improve Performance in Torus Networks,” Proceedings of the 1999 International Conference on Parallel Processing

ECE 8813a (3) Deadlock: A Closer Look Deadlock conditions arise from more than just routing packets, e.g., routing induced deadlock  Just making use of the topology in a deadlock free manner is insufficient Other solutions to deadlock freedom beyond strictly guaranteeing avoidance  Recovery vs. avoidance

ECE 8813a (4) Types of Deadlock Routing induced  Created by the routing function  This is what we have studied so far, but are there weaker solutions? Message induced  Addition of dependencies to an existing routing function via message type dependencies at the end- points Reconfiguration induced  Addition of dependencies when transitioning (reconfiguration) from one routing function to another

ECE 8813a (5) Closer Look at Routing Induced Approaches Deadlock freedom in the wide sense  Strict avoidance + routing freedom  Duato’s protocol Deadlock freedom in the weak sense  Permitted resources (cycle or knot) are never filled oInjection limitation and bubble flow control oTwo-phase routing protocols Circuit switched and PCS networks  Deflection routing oSAF and VCT only

ECE 8813a (6) DA via Injection Limitation Key to deadlock avoidance is guaranteeing forward progress What if we ensured there would always be at least one buffer in any cycle?  Injection limitation at sources  O(PxM) buffers/NI For SAF and VCT only Many ways to ensure the bubble condition

ECE 8813a (7) Bubble Flow Control Packet injection requires two free packet buffers  One empty buffer left after injection Selection function is biased towards adaptive channels From V. Puente et.al, “Adaptive Bubble Router: A Design to Improve Perfomance in Torus Networks,” Proceedings of the 1999 International Conference on Parallel Processing

ECE 8813a (8) Extension to Multiple Dimensions Dimension traversal is treated as an injection Bubble flow control only applied to escape channels Priority is given to traversal over injection  Traversal to a new dimension must meet buffer requirements From V. Puente et.al, “Adaptive Bubble Router: A Design to Improve Perfomance in Torus Networks,” Proceedings of the 1999 International Conference on Parallel Processing

ECE 8813a (9) Behavior Under Load Behave as in a deterministically routed network

ECE 8813a (10) Some Consequences Number of VCs required for deadlock free routing reduced to 1 Number of VCs required for fully adaptive routing is 1 Flow control overhead is less in VCT routers Simple fast routers  Applicable only to VCT and Packet switched routers

ECE 8813a (11) Deflection Routing Never hold resources Problem is Livelock Prevent cycle dependencies from being sustained  Packet eventually gets to the head of the queue

ECE 8813a (12) Types of Deadlock Routing induced  Created by the routing function  This is what we have studied so far, but are there weaker solutions? Message induced  Addition of dependencies to an existing routing function via message type dependencies at the end- points Reconfiguration induced  Addition of dependencies when transitioning (reconfiguration) from one routing function to another

ECE 8813a (13) Message Induced Deadlock Consider that message types have dependencies between them  For example, request  reply  Dependencies are manifested at the end points Message sequences utilize resources Message type dependencies are transferred to resource dependencies  Message dependencies or protocol dependencies  Remember the consumption assumption

ECE 8813a (14) Directory-Based Coherence Protocols P + C Dir Memory P + C Dir Memory P + C Dir Memory Local node generates a memory reference Remote node has a copy of block Home node is the physical memory location of a memory reference Generating the request Network Observe the message sequence between local, remote and home nodes

ECE 8813a (15) Message Induced Deadlock: Example Consider the chain of dependencies between message types required to implement a transaction Key: dependencies prevent consumption! From T. Pinkston, Chapter 13: Deadlock Resolution in Computer Integrated Systems,” Macel Dekker(pubs), M. C. Zhou and M. P. Fanti (eds), 2004

ECE 8813a (16) Message Induced Deadlock: Example Consider the request-reply sequence from R1  R3 From T. Pinkston, Chapter 13: Deadlock Resolution in Computer Integrated Systems,” Marcel Dekker(pubs), M. C. Zhou and M. P. Fanti (eds), 2004

ECE 8813a (17) Message Induced Deadlock Avoidance Deadlock Free in the weak sense  Knots/cycles exist but are never filled  Size total buffer space at end points – O(PxM) buffers at each node Separate message types by resource usage  Use virtual networks to avoid cycles  This can get expensive

ECE 8813a (18) Using Virtual Networks for Avoidance RQ/Reply Reply RQ IN OUT IN OUT RQ & Reply OUT IN OUT IN OUT RQ IN OUT IN

ECE 8813a (19) Using Virtual Networks for Avoidance Minimum #VCs for avoiding routing induced deadlock Total #VCs/channel Message dependency chain length Note:

ECE 8813a (20) Types of Deadlock Routing induced  Created by the routing function  This is what we have studied so far, but are there weaker solutions? Message induced  Addition of dependencies to an existing routing function via message type dependencies at the end- points Reconfiguration induced  Addition of dependencies when transitioning (reconfiguration) from one routing function to another

ECE 8813a (21) Reconfiguration Induced Deadlock Messages are routed under two different routing functions Produces ghost dependencies From T. Pinkston, Chapter 13: Deadlock Resolution in Computer Integrated Systems,” Marcel Dekker(pubs), M. C. Zhou and M. P. Fanti (eds), 2004

ECE 8813a (22) Deadlock Freedom Solutions Static reconfiguration  Flush the network  Update the routing function  Resume message transmissions relying on upper layer protocols Dynamic reconfiguration  Incremental, partial and more difficult  Packet dropping schemes  Routing function update schemes oPartitioned resources such as virtual networks

© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Deadlock Recovery

ECE 8813a (24) Formation of Deadlocked Configurations Routing Freedom Buffer Resources Packet injection Topology What are the opportunities to create cycles? What determines the likelihood that cycles will occur?  Routing freedom + resources + injection rate Relationship between hardware complexity and routing function

ECE 8813a (25) Approach Employ recovery mechanisms to break deadlocked configurations of messages Predicated on the following hypothesis  Deadlocks are rare  make them rare  Therefore recovery costs are acceptable  Recovery is less resource intensive than avoidance

ECE 8813a (26) Key Questions Probability of occurrence Characterization On-line detection Recovery techniques

ECE 8813a (27) Probability of Occurrence Influential factors  Routing freedom oExponential decrease in probability of occurrence  Number of blocked packets oCorrelated blocking patterns  Number of resource dependency cycles oIncreases with routing freedom  Presence of virtual channels oReduces the probability of blocking

ECE 8813a (28) Characterization of Deadlocks Deadlock set  Set of messages that are deadlocked Resource set  Set of buffer resources occupied by the deadlocked set Knot cycle density  Number of unique cycles within a knot oCaptures complexity of formation of deadlocked message configurations

ECE 8813a (29) On-Line Deadlock Detection Discovery of Cycles  Typically use some form of flooding protocol  Exact detection vs. heuristics Local vs. centralized detection Use of time-outs  At nodes with packet headers oCounter + comparator  Optimal value depends on message length

ECE 8813a (30) Deadlock Recovery Principles Progressive deadlock Recovery  Robin hood approach – de-allocate resources from normal packets and assign to the recovery packet oRemove any message from a deadlocked cycle oEnsure its progress towards the destination Regressive deadlock recovery  De-allocate resources from deadlocked packets  Typically destroy packets  Need some recovery mechanism, for example, end- to-end flow control

ECE 8813a (31) Trade-offs Deadlock recovery at the source is typically regressive  De-allocate and re-inject Deadlock recovery in the network can be both  Regressive – propagate de-allocation signals upstream to release resources and abort the packet  Progressive – re-allocation of resources from normal to deadlocked packets

ECE 8813a (32) Progressive Deadlock Recovery Forms the recovery lane across routers Floating virtual channel can be used by all VCs Utilized via a separate control path  Effectively cycle stealing on the physical channels Use of recovery lanes must be deadlock free Important to be on the output side

ECE 8813a (33) Recovering from Deadlock control to steal physical channel cycles

ECE 8813a (34) Implementation Issues Number of deadlock buffers  Impact on crossbar size Location  Centralized vs. edge oRate at which deadlocked packets can drain  At the switch output vs. switch input

ECE 8813a (35) Optimizations Sequential progressive recovery  Only one packet is permitted to enter the deadlock recovery lane  Mutual exclusion via a circulating token  Recovery lane implements a connected routing sub- function with no cyclic dependencies Concurrent recovery  Hamiltonian path based  Spanning tree based

ECE 8813a (36) Ping and Bubble Scheme Ping propagation to trace cycles Bubble insertion to permit progress Performance issues  Each insertion will permit forward progress by at least one step  Routing freedom increases the probability that deadlocks are broken quickly  Minimal adaptive routing ensures all messages are eventually delivered Permits True Fully Adaptive Routing

ECE 8813a (37) Ping and Bubble Scheme: Example From T. Pinkston, Chapter 13: Deadlock Resolution in Computer Integrated Systems,” Marcel Dekker(pubs), M. C. Zhou and M. P. Fanti (eds), 2004

ECE 8813a (38) Performance of Recovery Protocols Extends the range of achievable performance Resources devoted to deadlock management is minimized in recovery more resources available for performance enhancement From T. Pinkston, Chapter 13: Deadlock Resolution in Computer Integrated Systems,” Marcel Dekker(pubs), M. C. Zhou and M. P. Fanti (eds), 2004

ECE 8813a (39) Performance Issues Cyclic non-deadlocks can form  Extended blocking – “sludgelock”  Occurs when available routing freedom is being extensively exploited at high loads Deadlock avoidance places acyclic dependency guarantees before routing freedom Deadlock recovery emphasizes routing freedom first, and hence can have a performance advantage

ECE 8813a (40) Summary Routing protocols must be designed to be correct  Applications to fault tolerance and multicast Recovery vs. Avoidance  Resource commitment vs. latency impact Customized solutions can favor recovery