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

Similar documents
EE 6900: Interconnection Networks for HPC Systems Fall 2016

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

Routing and Deadlock

NOC Deadlock and Livelock

Deadlock and Livelock. Maurizio Palesi

Generic Methodologies for Deadlock-Free Routing

TDT Appendix E Interconnection Networks

Deadlock and Router Micro-Architecture

Basic Low Level Concepts

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

Interconnection Networks: Flow Control. Prof. Natalie Enright Jerger

SOFTWARE BASED FAULT-TOLERANT OBLIVIOUS ROUTING IN PIPELINED NETWORKS*

Lecture 3: Flow-Control

EE 382C Interconnection Networks

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

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

Synchronized Progress in Interconnection Networks (SPIN) : A new theory for deadlock freedom

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

Early Transition for Fully Adaptive Routing Algorithms in On-Chip Interconnection Networks

Escape Path based Irregular Network-on-chip Simulation Framework

ECE 669 Parallel Computer Architecture

Deadlock-Free Connection-Based Adaptive Routing with Dynamic Virtual Circuits

A New Theory of Deadlock-Free Adaptive Multicast Routing in. Wormhole Networks. J. Duato. Facultad de Informatica. Universidad Politecnica de Valencia

Deadlock- and Livelock-Free Routing Protocols for Wave Switching

Wormhole Routing Techniques for Directly Connected Multicomputer Systems

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

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

Lecture 7: Flow Control - I

A Simple and Efficient Mechanism to Prevent Saturation in Wormhole Networks Λ

Interconnection Networks: Routing. Prof. Natalie Enright Jerger

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

Routing Algorithms. Review

OFAR-CM: Efficient Dragonfly Networks with Simple Congestion Management

EE482, Spring 1999 Research Paper Report. Deadlock Recovery Schemes

udirec: Unified Diagnosis and Reconfiguration for Frugal Bypass of NoC Faults

Packet Switch Architecture

Packet Switch Architecture

FOLLOWING the introduction of networks of workstations

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

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

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

Bandwidth Aware Routing Algorithms for Networks-on-Chip

MESH-CONNECTED networks have been widely used in

Lecture 18: Communication Models and Architectures: Interconnection Networks

A Hybrid Interconnection Network for Integrated Communication Services

in Oblivious Routing

Sanaz Azampanah Ahmad Khademzadeh Nader Bagherzadeh Majid Janidarmian Reza Shojaee

CONNECTION-BASED ADAPTIVE ROUTING USING DYNAMIC VIRTUAL CIRCUITS

Input Buffering (IB): Message data is received into the input buffer.

Adaptive Routing. Claudio Brunelli Adaptive Routing Institute of Digital and Computer Systems / TKT-9636

EC 513 Computer Architecture

Thomas Moscibroda Microsoft Research. Onur Mutlu CMU

Software-Based Deadlock Recovery Technique for True Fully Adaptive Routing in Wormhole Networks

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

Flow Control can be viewed as a problem of

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

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

Communication Performance in Network-on-Chips

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

Dynamic Network Reconfiguration for Switch-based Networks

Traffic Control in Wormhole Routing Meshes under Non-Uniform Traffic Patterns

A decision procedure for deadlock-free routing in wormhole networks Verbeek, F.; Schmaltz, J.

ACCELERATING COMMUNICATION IN ON-CHIP INTERCONNECTION NETWORKS. A Dissertation MIN SEON AHN

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

Switching/Flow Control Overview. Interconnection Networks: Flow Control and Microarchitecture. Packets. Switching.

Adaptive Routing in Hexagonal Torus Interconnection Networks

Quest for High-Performance Bufferless NoCs with Single-Cycle Express Paths and Self-Learning Throttling

Formal Verification of Communications in Networks on Chips

Evaluating Bufferless Flow Control for On-Chip Networks

Connection-oriented Multicasting in Wormhole-switched Networks on Chip

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

Joint consideration of performance, reliability and fault tolerance in regular Networks-on-Chip via multiple spatially-independent interface terminals

Prevention Flow-Control for Low Latency Torus Networks-on-Chip

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

Self Stabilization. CS553 Distributed Algorithms Prof. Ajay Kshemkalyani. by Islam Ismailov & Mohamed M. Ali

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

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

Resource Deadlocks and Performance of Wormhole Multicast Routing Algorithms

Interconnection Network

Characterization of Deadlocks in Interconnection Networks

Communication in Multicomputers with Nonconvex Faults

BLAM : A High-Performance Routing Algorithm for Virtual Cut-Through Networks

Interconnection Networks

Communication in Multicomputers with Nonconvex Faults?

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

Towards A Formally Verified Network-on-Chip

Evaluation of NOC Using Tightly Coupled Router Architecture

ECE 4750 Computer Architecture, Fall 2017 T06 Fundamental Network Concepts

Design and Implementation of Buffer Loan Algorithm for BiNoC Router

Fault-Tolerant Routing Algorithm in Meshes with Solid Faults

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

Combining In-Transit Buffers with Optimized Routing Schemes to Boost the Performance of Networks with Source Routing?

NONBLOCKING COMMIT PROTOCOLS

Boosting the Performance of Myrinet Networks

Interconnection Networks

Performance Evaluation of a New Routing Strategy for Irregular Networks with Source Routing

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

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

Adaptive Multimodule Routers

NetSpeed ORION: A New Approach to Design On-chip Interconnects. August 26 th, 2013

Transcription:

Reading W. Dally, C. Seitz, Deadlock-Free Message Routing on Multiprocessor Interconnection Networks,, IEEE TC, May 1987 Deadlock F. Silla, and J. Duato, Improving the Efficiency of Adaptive Routing in Networks with Irregular Topology, HIPC 1997 J. Duato A New Theory of Deadlock-Free Adaptive Routing in Wormhole Networks, IEEE TPDS, December 1993 Chapter 3 of Duato, Yalamanchili and Ni Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) ECE 8813a (2) Overview: The Problem Guaranteeing message delivery v Fundamentally an issue of finite resources (buffers) and the manner in which they are allocated o How are distributed structural hazards handled? Waiting for resources can lead to v Deadlock: configuration of messages that cannot make progress v Livelock: messages that never reach the destination v Starvation: messages that never received requested resources o Even though the requested resource does periodically become available Deadlock v Prevention v Avoidance v Recovery Livelock v Minimal paths v Restricted non-minimal paths v Probabilistic Starvation v Resource allocation Ensuring Packet Delivery ECE 8813a (3) ECE 8813a (4) 1

Focus Deadlocked Configuration of Messages We are primarily concerned with deadlock v Starvation is addressed via fair sharing v Livelock is addressed (at the moment) by constraining messages to minimal paths Relationship between resources, traffic and conditions v Some conditions can produce others o Deadlocked configuration à livelock for other messages Routing in a 2D mesh What can we infer from this figure? v Routing v Dependencies or Wait-for relationships ECE 8813a (5) ECE 8813a (6) Some Definitions Router and Network Model s i c i d i Blocked packets wait for first available channel Fair access to channel bandwidth Routing function R delivers a set of channels v Memoryless, coherent, and connected v Note we define the domain as N N Selection function picks a channel v Determines performance properties Arbitrary topology Fair access to routing and arbitration unit Edge buffers v Theory can be extended to central buffers (we will not) Wait for any channel in a set For wormhole routing, allocated channel must be empty v See Appendix A for detailed list of assumptions Consumption Assumption ECE 8813a (7) ECE 8813a (8) 2

Concepts and Definitions Message Configurations No assumptions about the paths delivered by R v Expect that minimal paths are always included in R Coherent routing function v If a routing function supplies a path, it also supplies all sub-paths of the path Configuration v Assignment of packets to a set of queues/buffers Connected routing function S D Channels delivered by a routing function Canonical message configurations v All messages deadlocked Legal, and reachable message configurations v A legal configuration must be possible with the routing function o E.g., non-minimal paths v Since routing functions are memoryless, all legal configurations are reachable ECE 8813a (9) ECE 8813a (10) Deadlock Channel Dependencies A canonical, deadlocked, reachable, legal configuration is one which no message can advance v SAF and VCT o All packets are in transit o All adjacent buffers are full v Wormhole o Messages are in transit o Header flits and data flits cannot advance since all adjacent buffers are full Framework for proving deadlock freedom SAF & VCT dependency Wormhole dependency dependency Header flit Data flit When a packet holds a channel and requests another channel, there is a direct dependency between them Channel dependency graph D = G(C,E) For deterministic routing: single dependency at each node For adaptive routing: all requested channels produce dependencies, and dependency graph may contain cycles ECE 8813a (11) ECE 8813a (12) 3

Some Observations Deadlock is not synonymous with the occurrence of cyclic dependencies v Note the goal of guaranteeing message delivery v Are there exits from cycles? The set of dependencies that actually occur (wait-for) are a subset of the statically determined dependencies that can occur as determined by the routing function c 3 c 0 c 2 Breaking Cycles in Rings/Torii c 1 c 00 c 13 The configuration to the left can deadlock Add (virtual) channels v We can make the channel dependency graph acyclic via routing restrictions (via the routing function) Routing function is c 0i when j<i, c 1i ECE 8813a (13) ECE 8813a (14) Breaking Cycles in Rings/Torii (cont.) Extension to Adaptive Routing c 13 c 00 c 00 c 00 Cyclic dependency? Channels c 00 and c 13 are unused Routing function breaks cycles in the channel dependency graph Note the acyclic subgraph Routing function: is c 0i j iand c 1i How can we formalize this? Additional dependencies due to adaptive routing ECE 8813a (15) ECE 8813a (16) 4

Key Idea Informally: The deterministic routing sub-function is used to provide an escape path for an adaptive routing protocol v Packets are guaranteed to escape cyclic dependencies Formally the escape path is defined by a connected routing sub-function defined over a subset of channels v Routing sub-function supplies only escape channels v In practice, this concept only used as a proof mechanism v R 1 (x,y) R(x,y) for all x, y and C 1 is the set of channels supplied by R 1 Theorems Theorem: A connected routing function R for an interconnection network I is deadlock free iff there exists a routing sub-function R 1 that is connected and has no cycles in its extended channel dependency graph Holds for both adaptive and deterministic routing functions v In the case of the latter, R = R1 and the extended channel dependency graph = channel dependency graph v Dally & Seitz 1987 for deterministic routing v Duato 1996 for adaptive routing ECE 8813a (17) ECE 8813a (18) Properties Use of escape channels by a message is not unidirectional v If a message enters the escape network it can move back to the adaptive network Do not need to wait on a specific channel v Can wait on any channel including escape channels - the latter guaranteed to show up eventually if allocation is fair Application: start with a deterministic routing function and add channels to be used for adaptive routing Additional restriction required for wormhole (coherent) while this holds for SAF and VCTs Robustness of the Model No assumptions are made about paths v At least one minimal path is necessary for performance The use of NxN routing functions are practical v What are the alternatives? No assumptions about packet generation rate, packet length and destinations (other than connectivity) For wormhole, only one message can occupy a buffer v Buffers at both ends are single buffer v Thus head flits always block occupying the head of the queue head flit Cannot access escape channels ECE 8813a (19) ECE 8813a (20) 5

Canonical legal configuration Revisit Some Properties Deadlock Avoidance in SAF &VCT Networks direct dependency direct cross dependency Which legal configurations are reachable from an empty network for a given routing function? What is the importance of a legal configuration? v Can model a legal configuration as one that occurred by packet injection at the blocked node (VCT/SAF) or the packet with the tail node (wormhole) c A0 Direct cross dependency escape channel for when j<i, c Hi A closer look at escape channel dependencies v is an escape channel for but not v is an escape channel for Extended channel dependency graph must be acyclic ECE 8813a (21) ECE 8813a (22) c A0 Deadlock Avoidance in SAF &VCT Networks escape channel for direct dependency direct cross dependency Deterministic network for Example: Constructing Deadlock Free Routing Algorithms Channels returned by R Channels returned by R 1 Direct cross dependency Deterministic Network Adaptive Network Deterministic network for when j<i, c when j>i Hi Routing function: is c Ai and c Hi j i ECE 8813a (23) ECE 8813a (24) 6

Example: Constructing Deadlock Free Routing Algorithms Some More Observations N1 N2 Extra virtual channel in the north direction Can have one escape network for all packets or multiple escape networks Construct dependency graph on escape channels R is deadlock free if R1 is deadlock free Making the North-last algorithm fully adaptive v Add an extra adaptive channel in the North Direction v The extra channel has no turn restrictions v N1, E, S, and W implement North-Last Deadlock freedom: no cycles in the extended channel dependency graph of R 1 v Must consider all direct and indirect dependencies o There still remain dependencies we have not yet considered! ECE 8813a (25) ECE 8813a (26) Indirect Channel Dependencies Deadlock Avoidance in Wormhole Networks Network c A0cB0 c B1 c i request c k n5 n4 Direct and indirect dependencies between escape channels Channel c i is an escape channel for some destination Now we can focus all of our attention on the escape channels v Add other channels for adaptive routing v Define the extended channel dependency graph for escape channels o Capture the use of all channels à for adaptive routing ECE 8813a (27) indirect dependency j i Routing function R is c Ai or c Bi c Hi when j >I when j<i, c Hi Note the addition of indirect dependencies for Wormhole switching v Cross and direct dependencies between escape channels transmitted through adaptive channels ECE 8813a (28) 7

Deadlock Avoidance in Wormhole Networks (cont.) c A0cB0 c B1 c A0 Deadlock Avoidance in Wormhole Networks (cont.) direct dependency direct cross dependency indirect dependency n5 n4 indirect cross dependency j i Routing function R is c Ai or c Bi c Hi when j >I when j<i, c Hi Note the addition of indirect dependencies for Wormhole switching v Cross and direct dependencies between escape channels transmitted through adaptive channels ECE 8813a (29) j i Routing function: is c Ai and c Hi when j<i, c Hi ECE 8813a (30) Example: Fully Adaptive Routing Extensions to Irregular Networks S Adaptive channel supplied by R Deterministic channel supplied by R 1 0 3 4 7 1 2 6 Each physical channel has a fully adaptive channel a, and DOR channel b Look at the channels supplied by R at node S D Create an appropriate routing sub-function Example: v Identify a distinguished node and construct a spanning tree v Label each channel as up/down depending on proximity of end points to root (break ties with unique node number) v Routing restriction: a valid path traverses zero or more links in the up direction followed by zero or more links in the down direction How does this avoid cycles? Note the absence of virtual channels! 5 ECE 8813a (31) ECE 8813a (32) 8

Review The extended channel dependency graph must capture all dependencies v Direct and indirect cross dependencies For wormhole switching routing function must be coherent, otherwise the preceding theorem provides only a sufficient condition Complete the list of dependencies accommodated by the theorem ECE 8813a (33) channel Class 0 1 2 3 4 5 6 7 8 Extensions: Channel Classes Y1+ Y0+ X0+ X1+ X0- X1- Create equivalence classes of channels v For example, with no intra-class dependencies If the extended class dependency graph is acyclic, routing is deadlock free (sufficient condition) Y0- Y1- ECE 8813a (34) Extensions Extending the domain of the routing function v Including source, channel, or history information Extension to central buffers v Channels are really queues o Associate routing functions with central queues and use queue dependencies to analyze deadlocks v Domain of the routing function may be or NxN or QxN o Example 2-D mesh: four queues/node, one corresponding to each direction in each dimension. v Queue dependency graph is acyclic v Mixed resource types (edge buffers and central queues) utilizes similar analysis techniques à the extended resource dependency graph Summarize Solution Philosophies Defined permitted dependencies (prevention) v Correct by construction (acyclic) v Minimal routing freedom Weaken the preceding requirement (avoidance) v Ensure cycles cannot lead to deadlock v Improve routing freedom v Some creative avoidance techniques based on the theory (next) Detect and recover (Next) v Predicated on unlikelihood of occurrence v Maximal routing freedom ECE 8813a (35) ECE 8813a (36) 9