Deadlock and Livelock. Maurizio Palesi

Similar documents
NOC Deadlock and Livelock

Lecture 24: Interconnection Networks. Topics: topologies, routing, deadlocks, flow control

Generic Methodologies for Deadlock-Free Routing

Lecture 12: Interconnection Networks. Topics: dimension/arity, routing, deadlock, flow control

Networks: Routing, Deadlock, Flow Control, Switch Design, Case Studies. Admin

Lecture: Interconnection Networks. Topics: TM wrap-up, routing, deadlock, flow control, virtual channels

Interconnection topologies (cont.) [ ] In meshes and hypercubes, the average distance increases with the dth root of N.

Lecture 12: Interconnection Networks. Topics: communication latency, centralized and decentralized switches, routing, deadlocks (Appendix E)

Routing Algorithm. How do I know where a packet should go? Topology does NOT determine routing (e.g., many paths through torus)

Deadlock-free XY-YX router for on-chip interconnection network

Lecture 15: PCM, Networks. Today: PCM wrap-up, projects discussion, on-chip networks background

Deadlock. Reading. Ensuring Packet Delivery. Overview: The Problem

Deadlock and Router Micro-Architecture

Fault-adaptive routing

Network-on-chip (NOC) Topologies

Lecture 16: On-Chip Networks. Topics: Cache networks, NoC basics

Extended Junction Based Source Routing Technique for Large Mesh Topology Network on Chip Platforms

Flow Control can be viewed as a problem of

TDT Appendix E Interconnection Networks

Recall: The Routing problem: Local decisions. Recall: Multidimensional Meshes and Tori. Properties of Routing Algorithms

Resource Deadlocks and Performance of Wormhole Multicast Routing Algorithms

Interconnection Networks: Routing. Prof. Natalie Enright Jerger

HiRA: A Methodology for Deadlock Free Routing in Hierarchical Networks on Chip

Generalized Theory for Deadlock-Free Adaptive Wormhole Routing and its Application to Disha Concurrent

ECE 669 Parallel Computer Architecture

Lecture 3: Flow-Control

NOW Handout Page 1. Outline. Networks: Routing and Design. Routing. Routing Mechanism. Routing Mechanism (cont) Properties of Routing Algorithms

Lecture: Interconnection Networks

MESH-CONNECTED networks have been widely used in

EE 6900: Interconnection Networks for HPC Systems Fall 2016

EE 382C Interconnection Networks

Routing Algorithms. Review

Wormhole Routing Techniques for Directly Connected Multicomputer Systems

EC 513 Computer Architecture

Lecture 13: Interconnection Networks. Topics: lots of background, recent innovations for power and performance

A Survey of Routing Techniques in Store-and-Forward and Wormhole Interconnects

Routing and Deadlock

JUNCTION BASED ROUTING: A NOVEL TECHNIQUE FOR LARGE NETWORK ON CHIP PLATFORMS

The Odd-Even Turn Model for Adaptive Routing

Lecture 18: Communication Models and Architectures: Interconnection Networks

EECS 578 Interconnect Mini-project

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik

Demand Based Routing in Network-on-Chip(NoC)

Topologies. Maurizio Palesi. Maurizio Palesi 1

Communication Performance in Network-on-Chips

BARP-A Dynamic Routing Protocol for Balanced Distribution of Traffic in NoCs

Bursty Communication Performance Analysis of Network-on-Chip with Diverse Traffic Permutations

OASIS NoC Architecture Design in Verilog HDL Technical Report: TR OASIS

Fault-Tolerant Routing in Fault Blocks. Planarly Constructed. Dong Xiang, Jia-Guang Sun, Jie. and Krishnaiyan Thulasiraman. Abstract.

Deadlock: Part II. Reading Assignment. Deadlock: A Closer Look. Types of Deadlock

A New Theory of Deadlock-Free Adaptive. Routing in Wormhole Networks. Jose Duato. Abstract

4. Networks. in parallel computers. Advances in Computer Architecture

Lecture: Transactional Memory, Networks. Topics: TM implementations, on-chip networks

A Dynamic NOC Arbitration Technique using Combination of VCT and XY Routing

Routing Algorithms, Process Model for Quality of Services (QoS) and Architectures for Two-Dimensional 4 4 Mesh Topology Network-on-Chip

Efficient And Advance Routing Logic For Network On Chip

EECS 570. Lecture 19 Interconnects: Flow Control. Winter 2018 Subhankar Pal

Dynamic Stress Wormhole Routing for Spidergon NoC with effective fault tolerance and load distribution

Packet Switch Architecture

Packet Switch Architecture

EE482, Spring 1999 Research Paper Report. Deadlock Recovery Schemes

Dynamic Router Design For Reliable Communication In Noc

A Deterministic Fault-Tolerant and Deadlock-Free Routing Protocol in 2-D Meshes Based on Odd-Even Turn Model

Performance Evaluation of Different Routing Algorithms in Network on Chip

Sanaz Azampanah Ahmad Khademzadeh Nader Bagherzadeh Majid Janidarmian Reza Shojaee

Lecture 7: Flow Control - I

in Oblivious Routing

High Performance Interconnect and NoC Router Design

Interconnection Networks: Topology. Prof. Natalie Enright Jerger

Module 17: "Interconnection Networks" Lecture 37: "Introduction to Routers" Interconnection Networks. Fundamentals. Latency and bandwidth

A Hybrid Interconnection Network for Integrated Communication Services

Design and Evaluation of a Fault-Tolerant Adaptive Router for Parallel Computers

FT-Z-OE: A Fault Tolerant and Low Overhead Routing Algorithm on TSV-based 3D Network on Chip Links

Application-Aware Deadlock-Free Oblivious Routing

CONGESTION AWARE ADAPTIVE ROUTING FOR NETWORK-ON-CHIP COMMUNICATION. Stephen Chui Bachelor of Engineering Ryerson University, 2012.

Understanding the Routing Requirements for FPGA Array Computing Platform. Hayden So EE228a Project Presentation Dec 2 nd, 2003

PDA-HyPAR: Path-Diversity-Aware Hybrid Planar Adaptive Routing Algorithm for 3D NoCs

PERFORMANCE EVALUATION OF FAULT TOLERANT METHODOLOGIES FOR NETWORK ON CHIP ARCHITECTURE

Topologies. Maurizio Palesi. Maurizio Palesi 1

Towards A Formally Verified Network-on-Chip

HARDWARE IMPLEMENTATION OF PIPELINE BASED ROUTER DESIGN FOR ON- CHIP NETWORK

Interconnection Network

Evaluation of NOC Using Tightly Coupled Router Architecture

A Literature Review of on-chip Network Design using an Agent-based Management Method

Lecture 25: Interconnection Networks, Disks. Topics: flow control, router microarchitecture, RAID

Interconnection Networks: Flow Control. Prof. Natalie Enright Jerger

Fault-tolerant & Adaptive Stochastic Routing Algorithm. for Network-on-Chip. Team CoheVer: Zixin Wang, Rong Xu, Yang Jiao, Tan Bie

SOFTWARE BASED FAULT-TOLERANT OBLIVIOUS ROUTING IN PIPELINED NETWORKS*

Fault-Tolerant Routing Algorithm in Meshes with Solid Faults

A NEW DEADLOCK-FREE FAULT-TOLERANT ROUTING ALGORITHM FOR NOC INTERCONNECTIONS

Lecture 14: Large Cache Design III. Topics: Replacement policies, associativity, cache networks, networking basics

Comparison of Deadlock Recovery and Avoidance Mechanisms to Approach Message Dependent Deadlocks in on-chip Networks

A VERIOG-HDL IMPLEMENTATION OF VIRTUAL CHANNELS IN A NETWORK-ON-CHIP ROUTER. A Thesis SUNGHO PARK

Fault-Tolerant Wormhole Routing Algorithms in Meshes in the Presence of Concave Faults

CS575 Parallel Processing

IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 22, NO. 1, JANUARY

Adaptive Algorithms for Wormhole-Routed Single-Port Mesh- Hypercube Network

SIGNET: NETWORK-ON-CHIP FILTERING FOR COARSE VECTOR DIRECTORIES. Natalie Enright Jerger University of Toronto

Fault-Tolerant Multiple Task Migration in Mesh NoC s over virtual Point-to-Point connections

Authors Neetu Soni 1, Khemraj Deshmukh 2. Deparment of Electronics and Telecommunication,CSVTU,Bhilai,C.G.,India

Transcription:

Deadlock and Livelock 1

Deadlock (When?) Deadlock can occur in an interconnection network, when a group of packets cannot make progress, because they are waiting on each other to release resource (buffers, channels) If a sequence of waiting agents form a cycle the network is deadlocked 2

Deadlock (Why?) Deadlock can occur if packets are allowed to hold some resources while requesting others Switching Technique Resource Store and Forward Buffer Virtual Cut-Through Buffer Wormhole Channel Because blocked packets holding channels (and their corrisponding flit buffers) remain in the network Wormhole routing is particularly susceptible to deadlock 3

Wormhole Routing Deadlock Example Packet 4 A B Packet 3 Packet 1 B Packet 2 A Packet 3 C Packet 4 D Flit buffer Input selection circuit Packet progression C D Packet awaiting resource Packet 1 Packet 2 4

Wormhole Routing Deadlock Example Packet 4 A B Packet 3 Packet 1 B Packet 2 A Packet 3 C Packet 4 D Flit buffer Input selection circuit Packet progression C D Packet awaiting resource Packet 1 Packet 2 5

Wormhole Routing Deadlock Example A Packet 3 B Packet 1 B Packet 2 A Packet 3 C Packet 4 D Packet 2 Flit buffer Input selection circuit Packet progression Packet 4 C D Packet awaiting resource Packet 1 6

Wormhole Routing Deadlock Example A Packet 3 B Packet 1 B Packet 2 A Packet 3 C Packet 4 D Packet 2 Flit buffer Input selection circuit Packet progression Packet 4 C D Packet awaiting resource Packet 1 7

How to Solve Deadlock Problems Allow the preemption of packets involved in a potential deadlock situation Preemption packets can be Rerouted Adaptive nonminimal routing techniques Discarded Packets recovered at the source and restransmitted Not used in most direct networks architectures Requirements of low-latency and reliability 8

How to Solve Deadlock Problems More commonly, deadlock is avoided by the routing algorithm By ordering network resources and requiring that packets use these resources in strictly monotonic order Circular wait is avoided 9

Channel Dependecy Graph In wormhole routing networks channels are the critical resources There is a Direct Dependency from l i to l j if l j can be used immediately after l i by messages destined to some node n The Channel Dependency Graph for a network and a routing algorithm is a direct graph D=G(L,D) L consists of all the unidirectional channels in the network D includes the pairs (l i, l j ) if there is a direct dependency from l i to l j 10

Duato s Theorem A routing function R is deadlock-free if there are no cycles in its channel dependency graph 11

Channel Dependency Graph Method The routing is still minimal However, to send a packet from 0 to 2, the packet must be forwarded through node 3 12

Deterministic Routing An approach to designing a deadlock-free routing algorithm for a wormhole-routed network is to ensure that cycles are avoided in the channel dependency graph Assign a unique number to each channel Allocate channels to packets in strictly ascending (or descending) order If the behavior of the algorithm is independent of current network conditions Deterministic routing 13

Dimension-ordered Routing Each packet is routed in one dimension at a time Arriving at the proper coordinate in each dimension before proceeding to the next dimension Enforcing a strictly monotonic order on the dimension traversed S1 D3 S2 D2 S3 D1 14

Adaptive Routing The main problem of a deterministic routing is that it cannot respond to dynamic network conditions Congestion Faults Adaptive routing must address deadlock issue 15

Minimal Adaptive Routing Partitioning of the channels into disjoint subsets Each subset constituite a corresponding subnetwork Packets are routed through different subnetworks Depending on the location of destination nodes 16

Minimal Adaptive Routing Double Y-channel 2D mesh +X subnetwork and labeling If the destination node is to the right (left) of the source The packet will be routed through the +X (-X) subnetwork 17

Minimal Adaptive Routing Has been demonstrated that a k-ary n-cube can be partitioned into 2 n-1 subnetwork, and k n channels per level The number of additional channels increases rapidly with n While this approach does provide minimal fully adaptive routing, the cost associated with the additional channels makes it impratical when n is large 18

The Turn Model The Turn Model provide a systematic approach to the development of maximally adaptive routing algorithms 1. Classify channels according to the direction in which they route packets 2. Identify the turns that occur between one direction and another 3. Identify the simple cycles these turns can forms 4. Prohibit one turn in each cycle 19

The Turn Model Abstract cycles in a 2D mesh Four turns allowed in XY routing Six turns allowed in west-first routing 20

West-First Routing S Fully adaptive Deterministic First route a packet west, if necessary, and then adaptively south, east, and north The algorithm is fully adaptive if the destination is on the right-hand side (east) of the source Otherwise it is deterministic 21

Routing Algorithms based on Turn Model North-last S Fully adaptive Deterministic Negative-first S Fully adaptive Deterministic 22

Routing in Reconfigurable Networks Routing algorithms have been developed for each type of network topology If the topology change Routing algorithm has to change The router must be flexible and programmable to allow for the implementation of different deadlockfree algorithms Two techniques Source routing Table-lookup routing 23

Source Routing The source node specifies the routing path The packet must carry complete routing information in the packet header It is important to minimize packet length Street-sign routing [<Node 1,Turn 1 >,<Node 2,Turn 2 >, ] By default packets arriving from the input channel +X (+Y) will be forwarded to -X (-Y) If current node is Node i then turn Turn i is taken and <Node 2,Turn 2 > is removed from the header 24

Source Routing S1 [<A,-Y>] A F D3 B C [<B,+X>; <C,-Y>; <D;+X] S2 D S3 E D2 D1 [<E,+Y>;<F,+X>] 25

Table-lookup Routing Amenable to reconfigurable topologies An obvious implementation Given a destination node address the corresponding entry in the table indicates which outgoing channel should be used to forward the packet Not practical Large table is inefficient in the use of chip area 15 14 13 12 8 9 10 11 7 6 5 4 0 1 2 3 Routing table for node 5 Dst Out 0 West 1 West 2 South 3 East 4 East 5-6 West 7 West 8 West 9 West 10 North 11 East 12 East 13 North 14 West 15 West 26

Table-lookup Routing One way to reduce the table size is to define a range of addresses to be associated with each routing channel 15 14 13 12 8 9 10 11 7 6 5 4 0 1 2 3 Routing table for node 5 Dst Outs >=10 North [6,10[ West ]2,4] East <=2 South 27

Table-lookup Routing How to assign appropriate labels to nodes so that minimal deadlock-free routing results? For 2D mesh topology with N nodes, use a particular Hamiltonian path of the network graph For a m n mesh l( x, y) y * y n * n n x x 1 if if y is even y is odd 28

Table-lookup Routing Physical network High-channel network Low-channel network This labeling divides the netwok into two subnetworks Both subnetworks are acyclic Table-lookup routing algorithm is deadlock free 29