NC2 (No.4) 1 Undeliverable packets & solutions Deadlock: packets are unable to progress –Prevention, avoidance, recovery Livelock: packets cannot reach.

Slides:



Advertisements
Similar presentations
Ch. 12 Routing in Switched Networks
Advertisements

Lecture 4. Topics covered in last lecture Multistage Switching (Clos Network) Architecture of Clos Network Routing in Clos Network Blocking Rearranging.
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 8813a (1) Non-minimal Routing Non-minimal routing  Wormhole degrades performance while VCT has less secondary effects  Fault tolerance is the main.
Miguel Gorgues, Dong Xiang, Jose Flich, Zhigang Yu and Jose Duato Uni. Politecnica de Valencia, Spain School of Software, Tsinghua University, China, Achieving.
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.
Network based System on Chip Final Presentation Part B Performed by: Medvedev Alexey Supervisor: Walter Isaschar (Zigmond) Winter-Spring 2006.
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 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.
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.
1 Lecture 25: Interconnection Networks Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix E) Review session,
Dragonfly Topology and Routing
Switching, routing, and flow control in interconnection networks.
Approaching Ideal NoC Latency with Pre-Configured Routes George Michelogiannakis, Dionisios Pnevmatikatos and Manolis Katevenis Institute of Computer Science.
1 The Turn Model for Adaptive Routing. 2 Summary Introduction to Direct Networks. Deadlocks in Wormhole Routing. System Model. Partially Adaptive Routing.
Routing algorithms Routing algorithms establish the path followed by each message or packet. Routing algorithms for wormhole routing are also valid for.
On-Chip Networks and Testing
High-Performance Networks for Dataflow Architectures Pravin Bhat Andrew Putnam.
Distributed Routing Algorithms. In a message passing distributed system, message passing is the only means of interprocessor communication. Unicast, Multicast,
Dynamic Networks CS 213, LECTURE 15 L.N. Bhuyan CS258 S99.
ATM SWITCHING. SWITCHING A Switch is a network element that transfer packet from Input port to output port. A Switch is a network element that transfer.
High-Level Interconnect Architectures for FPGAs An investigation into network-based interconnect systems for existing and future FPGA architectures Nick.
High-Level Interconnect Architectures for FPGAs Nick Barrow-Williams.
Deadlock CEG 4131 Computer Architecture III Miodrag Bolic.
ECE669 L21: Routing April 15, 2004 ECE 669 Parallel Computer Architecture Lecture 21 Routing.
Computer Networks with Internet Technology William Stallings
Data Communications and Networking Chapter 11 Routing in Switched Networks References: Book Chapters 12.1, 12.3 Data and Computer Communications, 8th edition.
© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Switch Microarchitecture Basics.
1 Lecture 15: Interconnection Routing Topics: deadlock, flow control.
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 Data Link Layer Lecture 23 Imran Ahmed University of Management & Technology.
Run-time Adaptive on-chip Communication Scheme 林孟諭 Dept. of Electrical Engineering National Cheng Kung University Tainan, Taiwan, R.O.C.
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.
Interconnect Networks Basics. Generic parallel/distributed system architecture On-chip interconnects (manycore processor) Off-chip interconnects (clusters.
© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Deadlock: Part II.
A formal proof of a necessary and sufficient condition for deadlock-free adaptive networks Interactive Theorem Proving Freek Verbeek & Julien.
Networks: Routing, Deadlock, Flow Control, Switch Design, Case Studies Alvin R. Lebeck CPS 220.
1 Lecture 22: Router Design Papers: Power-Driven Design of Router Microarchitectures in On-Chip Networks, MICRO’03, Princeton A Gracefully Degrading and.
Virtual-Channel Flow Control William J. Dally
1 Switching and Forwarding Sections Connecting More Than Two Hosts Multi-access link: Ethernet, wireless –Single physical link, shared by multiple.
Effective bandwidth with link pipelining Pipeline the flight and transmission of packets over the links Overlap the sending overhead with the transport.
© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Deadlock: Part II - Recovery.
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.
Network Layer COMPUTER NETWORKS Networking Standards (Network LAYER)
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
CEG 4131 Computer Architecture III Miodrag Bolic
Lecture: Interconnection Networks
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:

NC2 (No.4) 1 Undeliverable packets & solutions Deadlock: packets are unable to progress –Prevention, avoidance, recovery Livelock: packets cannot reach their destination –Minimal paths, Restricted nonminimal paths, Probabilistic avoidance Starvation: resources are never allocated –Resource assignment scheme

NC2 (No.4) 2 Deadlock prevention Deadlock is a situation that occurs when a cycle of packets are waiting for one another to release resources, and hence are blocked indefinitely. Resources (channels or buffers) are reserved before starting packet transmission so that a request never leads to a deadlock. All the variants of circuit switching, when backtracking is allowed, are classified into deadlock prevention.

NC2 (No.4) 3 Deadlock avoidance Resources are requested only when they are really needed to forward a packet. A common technique consists of establishing an ordering between resources and granting resources to each packet in decreasing order. Almost all modern networks use deadlock avoidance.

NC2 (No.4) 4 Deadlock recovery Deadlock is possible and some detection mechanism must be provided. If a deadlock is detected, some resources are deallocated and granted to other packets. This strategy is used if deadlocks are rare, otherwise the overhead of deadlock detection and recovery degrade performance considerably.

NC2 (No.4) 5 Livelock A packet may be traveling around its destination node, never reaching it because the channels required to do so are occupied by other packets. It can only occur when packets are allowed to follow nonminimal paths. It can be prevented by limiting the number of misrouting operations.

NC2 (No.4) 6 starvation A packet may be permanently stopped if traffic is intense and the resources requested by it are always granted to other packets also requesting them. A correct resource assignment solves it. –A simple demand-slotted round-robin scheme is enough to produce a fair use of resources.

NC2 (No.4) 7 Routing and selection functions A routing function supplies a set of output channels based on the current and destination nodes. The routing function determines it is deadlock-free or not. A selection function decides an output channel from the set based on the status (free or not).

NC2 (No.4) 8 Router model LC switch LC Routing and arbitration Input channels Output Channel selection Injection channel Ejection channel LC: Link Controller

NC2 (No.4) 9 Channel dependency (1/3) n0n1 n2n3 c0 c1 c2 c3 c0c1 c2c3 node channel

NC2 (No.4) 10 Channel dependency (2/3) n0n1 n2n3 ch0 ch1 ch2 ca0 ca1 ca2 ca3 Node i to j Use chi for ∀ j > i Use cai for ∀ j < i ch3

NC2 (No.4) 11 Channel dependency graph ch1 ch2 ch0 ca1 ca2ca3

NC2 (No.4) 12 definitions Routing function R is connected if it is able to establish a path between every pair of nodes in a network. A deterministic routing, restricting the routing function will disconnect the channel dependency graph because a single path is supplied for each packet. A deterministic routing function R for an interconnection network is deadlock-free if and only if there are no cycles in its channel dependency graph.

NC2 (No.4) 13 Deadlock-freedom on a ring 0 1 ch0 ca0 n ch1 ca1 dateline

NC2 (No.4) 14 Channel dependency (3/3) n0n1 n2n3 ch0 ch1 ch2 ca0 ca1 ca2 ca3 Node i to j Use chi for ∀ j > i Use cai for ∀ j ≠ i

NC2 (No.4) 15 Extended channel dependency graph ch1 ch2 ch0 Escape channel ca0ca1 ca2ca3 Escape path

NC2 (No.4) 16 Theory of deadlock avoidance A restricted routing function, that is only supplies escape channels, is referred to as routing subfunction. A connected routing function R for a network is deadlock-free if and only if there exists a routing subfunction R1 that is connected and has no cycles in its extended channel dependency graph (theorem 3.1).

NC2 (No.4) 17 Deadlock-freedom on SAF and VCT A connected routing function R for an interconnection network I = G(N,C) is deadlock-free if there exists a channel subset C1 ⊆ C such that the routing subfunction R1(x,y)=R(x,y)∩C1, ∀ x,y ⊆ N is connected and deadlock-free. N: set of nodes, C: set of channels C1= ∪ ∀ x,y ⊆ N R1(x,y)

NC2 (No.4) 18 Deadlock-freedom on wormhole (1/2) Packets usually occupy several channels when blocked. There will exist channel dependencies between nonadjacent channels. Dependencies between nonadjacent channels are not important when all the channels of the network are considered because they cannot produce cycles.

NC2 (No.4) 19 Deadlock-freedom on wormhole (2/2) Theorem 3.1 is valid for SAF, VCT, and wormhole switching under the conditions: A queue cannot contain flits belonging to different packet.

NC2 (No.4) 20 Injection limitation (1/2) If there is at least one empty packet buffer in a ring, there is no deadlock because a packet from the previous node is able to advance and soon or later, all the packets will advance. Two or more empty buffers in the local queue are required to inject new packet.

NC2 (No.4) 21 Injection limitation (2/2) PE node0node1node2node3 Node1 and 2 are not allowed to inject a new packet into the ring, because there are less than two empty buffers.

NC2 (No.4) 22 Deflection routing When the number of input channels is equal to the number of output channels, incoming packet will always find a free output channel. If it is possible, a minimal path is selected. Otherwise, the packet is misrouted. When a node is injecting a packet into the network and all the output ports are busy, one incoming packet is buffered in a local memory. The buffered packet is reinjected before injecting any new packets.

NC2 (No.4) 23 Deadlock avoidance in MINs (1/2) If a packet may not cross the network several times (recirculation), the packet is only routed from left to right. There are only dependencies between channels in a given stage to channels in the next stages. There is not any cyclic dependency between channels, thus avoiding deadlocks.

NC2 (No.4) 24 Deadlock avoidance in MINs (2/2) When the recirculation is allowed, the behavior of MINs regarding deadlocks is similar to that of direct networks. The theoretical results for the latter are valid for the former (cyclic channel dependencies cause deadlocks). We can focus on the topology connecting the switches of MINs.

NC2 (No.4) 25 Deadlock prevention in circuit switching Circuit switching reserves all the resources before they are used, so no deadlocks arise. When the probe, which sets up the whole path, cannot advance, it is allowed to backtrack ( releasing some previously reserved resources). If backtracking is not allowed, the behavior regarding deadlocks is identical to that of wormhole switching.

NC2 (No.4) 26 Deadlock probability (1/2) Routing freedom (routing options available to a packet being routed) affects the probability of deadlock. Routing freedom can be increased by adding physical/virtual channels, and increasing the adaptivity of the routing algorithm. When the rouging freedom increases, the probability of deadlock decreases.

NC2 (No.4) 27 Deadlock probability (2/2) It was shown that deadlocks can be highly improbable when sufficient routing freedom is provided and fully exploited by the routing function. Deadlock recovery-based algorithms designed primarily to maximize routing freedom. Limiting packet injection also reduce the probability of deadlock.

NC2 (No.4) 28 Detection of deadlocks (1/2) A deadlock configuration often involves several packets. Completely accurate deadlock detection mechanisms are not feasible because they require exchanging information between nodes (not always possible). Less accurate heuristic mechanisms that use only local information are preferred.

NC2 (No.4) 29 Detection of deadlocks (2/2) If a header flit is clocked for longer than a certain amount of time, is can be assumed that the corresponding packet is potentially deadlocked. A source or intermediate node has counter to measure the timeout. Heuristic deadlock mechanisms are not accurate, so it is important to minimize false-deadlock detection.

NC2 (No.4) 30 Progressive and regressive recovery (1/2) Progressive recovery deallocates resources from packets and reassign them to deadlocked packets for quick delivery. Regressive recovery deallocates resources from deadlocked packets, usually killing them (abort-and retry).

NC2 (No.4) 31 Progressive and regressive recovery (2/2) If a deadlock is detected at the source node, regressive recovery is usually used. (a packet is killed and injected again after a random delay) If a deadlock is detected at the intermediate node containing a header, both progressive and regressive mechanisms are possible.

NC2 (No.4) 32 Deadlock recovery router (Disha) LC switch LC Routing and arbitration Input channels Output channels Injection channel Ejection channel Deadlock buffer

NC2 (No.4) 33 Deadlock Recovery by Disha ejection Deadlock buffer

NC2 (No.4) 34 Sequential deadlock recovery Deadlock freedom on the deadlock buffer is essential to recovery. The number of deadlock buffer per node is limited, sequential recovery scheme was proposed. Only a packet at a time is allowed to use the deadlock buffer (restricting access with a circulating token).

NC2 (No.4) 35 Concurrent deadlock recovery An arbiter is required in each node so that simultaneous requests for the use of deadlock buffer coming from different input channels are handled. A routing subfunction, that is connected and has no cyclic dependencies between resources, is defined for the deadlock buffer (Hamiltonian paths).

NC2 (No.4) 36 Hamiltonian paths (for 4x4 mesh) 89a 6 2 b 3 fedc

NC2 (No.4) 37 Livelock avoidance By limiting misrouting, there is an upper- bound for the number of channels reserved by a packet, thus avoiding livelock. Misrouting can be limited by adding a field to a packet header to keep misrouting count. In deflection routing, misrouting cannot be limited. It has been shown that it is livelock- free in a probablistic way.

NC2 (No.4) 38 history Early work on deadlock-free interconnection networks identified the technique of enumerating network resources and traversing these resources an increasing order. Linder and Harden developed a method that makes arbitrary adaptive routing deadlock-free but at the cost of a number of virtual channels (1991). Duato’s protocol has been used in several networks such as Cray T3E and the Alpha