Mechanics of Flow Control

Slides:



Advertisements
Similar presentations
Prof. Natalie Enright Jerger
Advertisements

1 Wireless Sensor Networks Akyildiz/Vuran Administration Issues  Take home Mid-term Exam  Assign April 2, Due April 7  Individual work is required 
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.
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.
1 Lecture 23: Interconnection Networks Paper: Express Virtual Channels: Towards the Ideal Interconnection Fabric, ISCA’07, Princeton.
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 16: On-Chip Networks Today: on-chip networks background.
CSCI 8150 Advanced Computer Architecture
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.
CSE 291-a Interconnection Networks Lecture 10: Flow Control February 21, 2007 Prof. Chung-Kuan Cheng CSE Dept, UC San Diego Winter 2007 Transcribed by.
1 Lecture 25: Interconnection Networks, Disks Topics: flow control, router microarchitecture, RAID.
1 Lecture 24: Interconnection Networks Topics: topologies, routing, deadlocks, flow control.
1 Lecture 26: Interconnection Networks Topics: flow control, router microarchitecture.
On-Chip Networks and Testing
Networks-on-Chips (NoCs) Basics
1 Lecture 7: Interconnection Network Part I: Basic Definitions Part II: Message Passing Multicomputers.
QoS Support in High-Speed, Wormhole Routing Networks Mario Gerla, B. Kannan, Bruce Kwan, Prasasth Palanti,Simon Walton.
Deadlock CEG 4131 Computer Architecture III Miodrag Bolic.
Sami Al-wakeel 1 Data Transmission and Computer Networks The Switching Networks.
 Circuit Switching  Packet Switching  Message Switching WCB/McGraw-Hill  The McGraw-Hill Companies, Inc., 1998.
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.
Lecture # 03 Switching Course Instructor: Engr. Sana Ziafat.
Lecture 16: Router Design
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)
© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Deadlock: Part II - Recovery.
Network-on-Chip (2/2) Ben Abdallah, Abderazek The University of Aizu 1 KUST University, March 2011.
Chapter 10 Congestion Control in Data Networks and Internets 1 Chapter 10 Congestion Control in Data Networks and Internets.
Flow Control Ben Abdallah Abderazek The University of Aizu
1 Lecture 22: Interconnection Networks Topics: Routing, deadlock, flow control, virtual channels.
Chapter 3 Part 3 Switching and Bridging
QoS & Queuing Theory CS352.
Topics discussed in this section:
The network-on-chip protocol
EE 122: Lecture 19 (Asynchronous Transfer Mode - ATM)
Switching and High-Speed Networks
Deadlock.
Interconnection Networks: Flow Control
CS4470 Computer Networking Protocols
Lecture 23: Router Design
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Lecture 16: On-Chip Networks
Chapter 3 Part 3 Switching and Bridging
Switching, routing, and flow control in interconnection networks
Lecture 14: Interconnection Networks
Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Lecture: Transactional Memory, Networks
Lecture: Interconnection Networks
Data Communication Networks
On-time Network On-chip
Switching Techniques.
CEG 4131 Computer Architecture III Miodrag Bolic
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Lecture: Networks Topics: TM wrap-up, networks.
Lecture: Interconnection Networks
Chapter 3 Part 3 Switching and Bridging
CS 6290 Many-core & Interconnect
Getting Connected (Chapter 2 Part 3)
Lecture 25: Interconnection Networks
EE382C Lecture 9 Deadlock 4/26/11 EE 382C - S11- Lecture 9.
Multiprocessors and Multi-computers
Presentation transcript:

Mechanics of Flow Control EE382C Lecture 8 Flow Control Part 2 Virtual Channels Mechanics of Flow Control Deadlock 4/21/11 EE 382C - S11- Lecture 8

Logistics HW2 due today HW3 out today - see next slide - due 4/28 Midterm IN CLASS on 5/3 EE 382C - S11- Lecture 8

Homework 3 Problems 13.3, 14.2, 14.9 EE 382C - S11- Lecture 8

Pending Question from Tuesday If storage is plentiful and channel bandwidth is expensive, what flow-control strategy should you use? Hint: Does this depend on packet length? EE 382C - S11 - Lecture 7

Question of the day What is the minimum number of virtual channels needed to break deadlock in a mesh network using virtual-channel flow control? EE 382C - S11- Lecture 8

Circuit Switching (II) EE 382C - S11 - Lecture 7

Flow Control Review Allocate resources To units of information Channel bandwidth, buffer space, router state To units of information Packets or Flits Unbuffered flow control Circuit switching Dropping Misrouting Buffers decouple channel allocation Packet-Buffer Flow Control Store-&-Forward Virtual cut-through Flit-Buffer Flow Control Wormhole Virtual Channel Virtual channels decouple channel dependencies EE 382C - S11- Lecture 8

Buffered Flow Control Packet-Buffer FC Flit-Buffer FC Store and Forward Virtual Cut Through Flit-Buffer FC Wormhole Virtual Channels Why buffer? EE 382C - S11 - Lecture 7

Packet-Buffer Flow Control EE 382C - S11 - Lecture 7

Store-and-Forward EE 382C - S11 - Lecture 7

Virtual Cut-through EE 382C - S11 - Lecture 7

Packet-Buffer Flow Control EE 382C - S11 - Lecture 7

Allocation units EE 382C - S11 - Lecture 7

What is good about packet buffers? What is bad about packet buffers? Don’t idle channels when a packet is partly transmitted and you can’t get a buffer Of course you may idle a channel because you can’t get a buffer to start sending. Two main issues: They are big – this increases cost and energy Not the most efficient way to use a fixed amount of buffer space Big buffers soften backpressure – you can send a lot of flits the wrong way before you sense congestion. EE 382C - S11 - Lecture 7

Wormhole The Movie EE 382C - S11 - Lecture 7

Head flit arrives, allocate VC state, request upper output W is waiting state U is upper output channel L refers to lower input channel EE 382C - S11 - Lecture 7

Body flit arrives, still waiting on upper output EE 382C - S11 - Lecture 7

Output allocated, forward head flit, second body flit arrives A is active Both ports now select upper U EE 382C - S11 - Lecture 7

Tail arrives, body flit forwarded EE 382C - S11 - Lecture 7

Second body flit forwarded EE 382C - S11 - Lecture 7

Tail flit forwarded, input and output VC states deallocated EE 382C - S11 - Lecture 7

Virtual Channel Flow Control EE 382C - S11- Lecture 8

Blocking of wormhole flow control Example of inefficiency – channel is idle even though a packet could use it Why? Because blocked packet owns the buffer EE 382C - S11 - Lecture 7

Virtual-channel flow control decouples dependency between buffer and channel EE 382C - S11 - Lecture 7

Sometimes, its better to be unfair (part 1) EE 382C - S07- Lecture 8

Fair arbitration interleaves flits. Both packets are impeded EE 382C - S07- Lecture 8

Winner-take-all arbitration impedes only one packet – by the same amount as interleaving EE 382C - S07- Lecture 8

Q When should you use winner-take-all? And when shouldn’t you? EE 382C - S07- Lecture 8

Is “Winner Take All” just Wormhole? EE 382C - S07- Lecture 8

State of a VC router EE 382C - S07- Lecture 8

Wide vs long buffers (Which of these is better?) EE 382C - S11- Lecture 8

Many small buffers wins non-interference with stiff backpressure EE 382C - S11- Lecture 8

VCs as a Swiss Army knife EE 382C - S11- Lecture 8

Pending Question from Tuesday If storage is plentiful and channel bandwidth is expensive, what flow-control strategy should you use? Hint: Does this depend on packet length? EE 382C - S11 - Lecture 7

Mechanics of Flow Control EE 382C - S11- Lecture 8

Credit-Based Flow Control EE 382C - S11- Lecture 8

On/Off Flow Control EE 382C - S11- Lecture 8

Ack-Nack Flow Control EE 382C - S11- Lecture 8

Deadlock EE 382C - S11- Lecture 8

Definition Deadlock A condition in which a set of agents waits indefinitely trying to acquire a set of resources EE 382C - S11- Lecture 8

Examples Dining Philosophers Circuit Switching Who are the agents? What are the resources? EE 382C - S11- Lecture 8

Deadlocked Configuration Waits-for, held-by graph Circuit switching example EE 382C - S11- Lecture 8

Example Circuit-switched ring network EE 382C - S11- Lecture 8

Resource Dependence A resource A is dependent on a resource B if it is possible for A to be held-by an agent X and it is also possible for X to wait-for B EE 382C - S11- Lecture 8

Cyclic Resource Dependence A cycle in the resource dependence graph means that a deadlocked configuration is possible. It does not mean that deadlock has occurred or will occur. EE 382C - S11- Lecture 8

Example Consider the same 4-node ring with packet-buffer flow control What is the dependence graph? What is the held-by, wait-for graph for a deadlocked configuration? How can you avoid deadlock in this network? EE 382C - S11- Lecture 8

Example Consider the same 4-node ring network with virtual channel flow control What is the dependence graph? How can you avoid deadlock in this network? EE 382C - S11- Lecture 8

Protocol Deadlock EE 382C - S11- Lecture 8

Next Time Dealing with Deadlock Two main approaches Just say NO! (to deadlock) AKA Deadlock Avoidance Prevent a deadlock from ever occurring e.g., by resource ordering Fix it AKA Deadlock Recovery Detect a deadlock and correct it e.g., by dropping packets or using “escape paths” EE 382C - S11- Lecture 8

Question of the day What is the minimum number of virtual channels needed to break deadlock in a mesh network using virtual-channel flow control? EE 382C - S11- Lecture 8

Summary Virtual Channel Flow Control Flow Control Mechanics Deadlock Partition channel state Allow packets to “pass” blocked packets Many uses Performance QoS Non-interference Deadlock avoidance Flow Control Mechanics Backpressure requires signaling Credits, on/off, ack/nack Deadlock Occurs when agents “wait forever” for resources Agents: connections, packets Resources: channels, buffers, virtual channels Deadlocked configuration Resource dependence EE 382C - S11- Lecture 8