Deadlock CEG 4131 Computer Architecture III Miodrag Bolic.

Slides:



Advertisements
Similar presentations
Prof. Natalie Enright Jerger
Advertisements

1 Message passing architectures and routing CEG 4131 Computer Architecture III Miodrag Bolic Material for these slides is taken from the book: W. Dally,
NETWORK LAYER. CONGESTION CONTROL In congestion control we try to avoid traffic congestion. Traffic Descriptor Traffic descriptors are qualitative values.
Advanced Networking Wickus Nienaber Daniel Beech.
What is Flow Control ? Flow Control determines how a network resources, such as channel bandwidth, buffer capacity and control state are allocated to packet.
ECE 1749H: Interconnection Networks for Parallel Computer Architectures: Flow Control Prof. Natalie Enright Jerger.
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 15: PCM, Networks Today: PCM wrap-up, projects discussion, on-chip networks background.
CSE 291-a Interconnection Networks Lecture 12: Deadlock Avoidance (Cont’d) Router February 28, 2007 Prof. Chung-Kuan Cheng CSE Dept, UC San Diego Winter.
1 Lecture 16: On-Chip Networks Today: on-chip networks background.
CSCI 8150 Advanced Computer Architecture
CS 258 Parallel Computer Architecture Lecture 5 Routing February 6, 2008 Prof John D. Kubiatowicz
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:
Interconnection Networks: Deadlock and Livelock Feb. 26 th, 2007 Prof. Chung-Kuan Cheng Transcribed by: Mohammad Al-Fares.
1 Lecture 24: Interconnection Networks Topics: topologies, routing, deadlocks, flow control Final exam reminders:  Plan well – attempt every question.
Rotary Router : An Efficient Architecture for CMP Interconnection Networks Pablo Abad, Valentín Puente, Pablo Prieto, and Jose Angel Gregorio University.
Issues in System-Level Direct Networks Jason D. Bakos.
1 Lecture 24: Interconnection Networks Topics: topologies, routing, deadlocks, flow control.
1 Lecture 26: Interconnection Networks Topics: flow control, router microarchitecture.
2015/7/2Deadlock-free Packet Switching1 Introduction to Distributed Algorithm Part One: Protocols Chapter 5- Deadlock-free Packet Switching Teacher: Chun-Yuan.
1 Indirect Adaptive Routing on Large Scale Interconnection Networks Nan Jiang, William J. Dally Computer System Laboratory Stanford University John Kim.
Dragonfly Topology and Routing
Switching, routing, and flow control in interconnection networks.
1 The Turn Model for Adaptive Routing. 2 Summary Introduction to Direct Networks. Deadlocks in Wormhole Routing. System Model. Partially Adaptive Routing.
On-Chip Networks and Testing
High-Performance Networks for Dataflow Architectures Pravin Bhat Andrew Putnam.
Networks-on-Chips (NoCs) Basics
QoS Support in High-Speed, Wormhole Routing Networks Mario Gerla, B. Kannan, Bruce Kwan, Prasasth Palanti,Simon Walton.
Computer Architecture Distributed Memory MIMD Architectures Ola Flygt Växjö University
Shubhendu S. Mukherjee, Peter Bannon, Steven Lang, Aaron Spink, and David Webb Alpha Development Group, Compaq HOT Interconnects 9 (2001) Presented by.
Course Wrap-Up Miodrag Bolic CEG4136. What was covered Interconnection network topologies and performance Shared-memory architectures Message passing.
1 Message passing architectures and routing CEG 4131 Computer Architecture III Miodrag Bolic Material for these slides is taken from the book: W. Dally,
ECE669 L21: Routing April 15, 2004 ECE 669 Parallel Computer Architecture Lecture 21 Routing.
© 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.
BZUPAGES.COM Presentation On SWITCHING TECHNIQUE Presented To; Sir Taimoor Presented By; Beenish Jahangir 07_04 Uzma Noreen 07_08 Tayyaba Jahangir 07_33.
The Alpha Network Architecture Mukherjee, Bannon, Lang, Spink, and Webb Summary Slides by Fred Bower ECE 259, Spring 2004.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
NC2 (No6) 1 Maximally Adaptive Routing Maximize adaptivity for a double-x routing based on turn model. Virtual network 0 Virtual network 1 Maximally adaptive.
© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Deadlock.
Networks: Routing, Deadlock, Flow Control, Switch Design, Case Studies Alvin R. Lebeck CPS 220.
Virtual-Channel Flow Control William J. Dally
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.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Corse Overview Miodrag Bolic ELG7187 Topics in Computers: Multiprocessor Systems on Chip.
Flow Control Ben Abdallah Abderazek The University of Aizu
Headline in Arial Bold 30pt Cyclic Dependencies and Deadlock Cyclic Dependencies and Deadlock in Computer Networks (with historical anectdotes) Greg Thorson.
1 Lecture 22: Interconnection Networks Topics: Routing, deadlock, flow control, virtual channels.
The network-on-chip protocol
Fault-tolerant routing
Deadlock.
Interconnection Networks: Flow Control
Azeddien M. Sllame, Amani Hasan Abdelkader
Lecture 23: Router Design
Mechanics of Flow Control
Switching, routing, and flow control in interconnection networks
On-time Network On-chip
CEG 4131 Computer Architecture III Miodrag Bolic
Lecture: Interconnection Networks
Chapter 11. Frame Relay Background Frame Relay Protocol Architecture
CS 6290 Many-core & Interconnect
Lecture 25: Interconnection Networks
Switching, routing, and flow control in interconnection networks
EE382C Lecture 9 Deadlock 4/26/11 EE 382C - S11- Lecture 9.
Presentation transcript:

Deadlock CEG 4131 Computer Architecture III Miodrag Bolic

Overview Channel collision resolution Virtual channels Deadlock definitions Resource dependencies Acyclic deadlock free routing techniques Virtual channels and acyclic deadlock free routing techniques

Review [4]

Packet Collision Resolution [3] To move a flit b/t adjacent nodes must have: –Source buffer holding flit –Channel being allocated –Receiver buffer accepting flit Arbitration decisions –Which packet will be allocated the channel –What to do with rejected packet

Buffering with Virtual Cut- Through Routing [3] Rejected packet temporarily stored in buffer Requires large buffer to hold entire packet Does not waste allocated resources Best case: wormhole routing Worst case: store-and-forward

Blocking and Detour Policies [3] Blocking: block rejected packet, do not abandon –Economical, idle resources Discard: drops blocked packed –Waste of resources Detour: misroute to a detour channel –Flexible, but wastes channel resources, may cause cycle of livelock

From [4]

Buffer management and backpressure [1] Inform the nodes to stop transmitting because all the flit buffers are full. Methods –Credit based –On/Off –Acknowledgement algorithms

Credit based flow control [1] The upstream router keeps a count of the number of free flit buffers in each channel. If the count reaches zero, all the downstream buffers are full.

Virtual Channels [3] A logical link b/t two nodes, formed by a flit buffer in source, a physical channel b/t them, and a flit buffer in receiver Physical channel is time-shared by virtual channels Sharing of physical channel by set of virtual channels is conducted by time- multiplexing on a flit-by-flit basis

Virtual channels [1] Virtual Channel Implementation –Separate buffers for each virtual channel Virtual Channel Key Feature –A message blocked in one virtual channel does not prevent message in any other virtual channel from using link Analogy- left turn to the congested side road

Routing messages through VC [1]

Virtual Channel Implementation [1]

Virtual channels and wormhole flow control [1]

Deadlock [2] Deadlock –Occurs in interconnection network when group of agents (e.g. packets) are unable to act because of waiting each other to release some resource (e.g. channels or buffers) –May be prevented using –Deadlock avoidance – something that guarantees that deadlock won’t happen –Deadlock recovery – mechanism or deadlock detection and recovery Livelock –Packets continue to move through network, but do not advance towards destination –May appear when non-minimal routes are allowed

Deadlock [2] What causes deadlock? –Cyclic resources dependency. Resources are: –Wormhole routing: channels. –Store and forward: buffers –or virtual cut-through: buffers

Graphs [2] Dependence Graph –Used for analyzing deadlock. –A dependence graph consists of a vertex for each resource and directed edge from vertex to B if is dependent on B. Network Dependence Graph –Vertices are (usually) links. –Links to processors are sometimes included.

Deadlock avoidance [2] Deadlocks can be avoided by eliminating cycles in resource dependency graph –Imposing partial order over resources and designing agents to allocate resources in ascending order Resource classes –Divide resources into several classes and restrict allocation of resources within class to ascending order –Dateline classes in ring networks –Can be used to order resources in any topology –Require amount of resources proportional to diameter of the network

Deadlock avoidance [2] Restricted physical routes Dimension-order routing –Restrictions are applied for routing in specific dimensions –These restrictions are used to enumerate channels in the network –Enumerated channels are allocated in ascending order, it saves network from the deadlock Turn model –Restrictions are applied for making turns in particular direction during routing –These restrictions are used to enumerate channels in the network

Deadlock recovery [2] Avoiding deadlocks requires additional resources/performance from the network –Instead of avoiding deadlocks it is possible to detect and recover it Detection of deadlock –In general case is resource-consuming search of cycle in resource wait-for graph –Conservative algorithms always identify a deadlock right, but may cause false alarms –Timeout counters

Deadlock recovery [2] Regressive recovery –Deadlocked agents (e.g. packets) are removed from network –Timer starts when first flit of packet is injected into network –If timer reaches threshold before last flit is injected, then packet is removed –Otherwise packet’s head is guaranteed to reach destination –Packet must be long enough to allocate all channels (resources) from source to destination Progressive recovery –Resolves deadlock without removing packets from the network –Uses deadlock-free adaptive routing

References 1.W.J. Dally and B.P.Towles, Principles and Practices of Interconnection Networks, Morgan Kaufmann, Eugene Zemskov, Deadlock and Livelock, presentation, Tampere University of Technology, 15.pdf 3.A. Bourgeois, Advanced Computer Architecture, lecture slides, Department of Computer Science at Georgia State UniversityAdvanced Computer Architecture 4.K. Hwang, Advanced Computer Architecture Parallelism, Scalability, Programmability, McGraw-Hill 1993.