Flow Control Ben Abdallah Abderazek The University of Aizu

Slides:



Advertisements
Similar presentations
Data Link Layer Protocols Flow Control in Data Link Layer.
Advertisements

Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
Prof. Natalie Enright Jerger
24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
Evaluating Bufferless Flow Control for On-Chip Networks George Michelogiannakis, Daniel Sanchez, William J. Dally, Christos Kozyrakis Stanford University.
NETWORK LAYER. CONGESTION CONTROL In congestion control we try to avoid traffic congestion. Traffic Descriptor Traffic descriptors are qualitative values.
Go-Back-N Improve Stop-and-Wait by not waiting!
8-Reliability and Channel Coding Dr. John P. Abraham Professor UTPA.
Network-on-Chip (2/2) Ben Abdallah Abderazek The University of Aizu
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.
Network based System on Chip Final Presentation Part B Performed by: Medvedev Alexey Supervisor: Walter Isaschar (Zigmond) Winter-Spring 2006.
1 Lecture 16: On-Chip Networks Today: on-chip networks background.
Lecture 2 Introduction 1-1 Chapter 1: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  circuit.
Network based System on Chip Part A Performed by: Medvedev Alexey Supervisor: Walter Isaschar (Zigmond) Winter-Spring 2006.
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 15: Router (cont’d) March 5, 2007 Prof. Chung-Kuan Cheng CSE Dept, UC San Diego Winter 2007 Transcribed by Ling.
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.
Data Communication and Networks
1 Lecture 25: Interconnection Networks, Disks Topics: flow control, router microarchitecture, RAID.
Lecture Internet Overview: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  circuit switching,
1 Lecture 24: Interconnection Networks Topics: topologies, routing, deadlocks, flow control.
1 Lecture 26: Interconnection Networks Topics: flow control, router microarchitecture.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
Lecture Internet Overview: roadmap 1.1 What is the Internet? 1.2 Network edge  end systems, access networks, links 1.3 Network core  circuit switching,
Networking. Protocol Stack Generally speaking, sending an message is equivalent to copying a file from sender to receiver.
1 Lecture 23: Interconnection Networks Topics: Router microarchitecture, topologies Final exam next Tuesday: same rules as the first midterm Next semester:
High-Performance Networks for Dataflow Architectures Pravin Bhat Andrew Putnam.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Author : Jing Lin, Xiaola Lin, Liang Tang Publish Journal of parallel and Distributed Computing MAKING-A-STOP: A NEW BUFFERLESS ROUTING ALGORITHM FOR ON-CHIP.
Computer Networks Performance Metrics. Performance Metrics Outline Generic Performance Metrics Network performance Measures Components of Hop and End-to-End.
Deadlock CEG 4131 Computer Architecture III Miodrag Bolic.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
Chapter 12 Transmission Control Protocol (TCP)
2000 년 11 월 20 일 전북대학교 분산처리실험실 TCP Flow Control (nagle’s algorithm) 오 남 호 분산 처리 실험실
1 Lecture 15: Interconnection Routing Topics: deadlock, flow control.
Chapter 24 Transport Control Protocol (TCP) Layer 4 protocol Responsible for reliable end-to-end transmission Provides illusion of reliable network to.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Router Architecture. December 21, 2015SoC Architecture2 Network-on-Chip Information in the form of packets is routed via channels and switches from one.
Data Link Layer Flow and Error Control. Flow Control Flow Control Flow Control Specifies the amount of data can be transmitted by sender before receiving.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Principles of reliable data transfer 0.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
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.
DATA LINK CONTROL. DATA LINK LAYER RESPONSIBILTIES  FRAMING  ERROR CONTROL  FLOW CONTROL.
1 Lecture 22: Interconnection Networks Topics: Routing, deadlock, flow control, virtual channels.
Chapter 3: The Data Link Layer –to achieve reliable, efficient communication between two physically connected machines. –Design issues: services interface.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Basic Low Level Concepts
Part III Datalink Layer 10.
Topics discussed in this section:
The network-on-chip protocol
6 Transport Layer Computer Networks Tutun Juhana
Interconnection Networks: Flow Control
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.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Mechanics of Flow Control
Lecture: Transactional Memory, Networks
Lecture: Interconnection Networks
Switching Techniques.
CEG 4131 Computer Architecture III Miodrag Bolic
Lecture: Interconnection Networks
Chapter 3 Part 3 Switching and Bridging
Lecture 25: Interconnection Networks
Presentation transcript:

Flow Control Ben Abdallah Abderazek The University of Aizu 4/28/2017 Flow Control Ben Abdallah Abderazek The University of Aizu E-mail: benab@u-aizu.ac.jp

4/28/2017 Flow Control (FC) FC determines (1) how resources (Buffers and channel bandwidth) are allocated and (2) how packet collisions over resources are resolved. Goal is to use resources as efficient as possible to allow a high throughput A resource collision occurs when a packet P is unable to proceed because some resource it needs is held by another packet.

Node Resources Control State Buffer Bandwidth 4/28/2017 Node Resources Control State Tracks the resources allocated to the packet in the node and the state of the packet Buffer Packet is stored in a buffer before it is send to next node Bandwidth To travel to the next node bandwidth has to be allocated for the packet

Flow Control NoC Flow Control can be divided into: 4/28/2017 Flow Control NoC Flow Control can be divided into: Bufferless flow control Packets are either dropped or misrouted Buffered flow control (covered here) Packets that cannot be routed via the desired channel are stored in buffers Stop-Go, ACK/NACK, Credit-Based

Bufferless flow Control 4/28/2017 Bufferless flow Control Flits can’t wait in routers. Contention is handled by: Dropping and retransmitting from the source. Deflecting to a free output. contention

Bufferless Flow Control 4/28/2017 Bufferless Flow Control No buffers mean less implementation cost If more than one packet shall be routed to the same output, one has to be Misrouted or Dropped Example: 2 packets A and B (consisting of several flits) arrive at a network node

Bufferless Flow Control 4/28/2017 Bufferless Flow Control Packet B is dropped and must be resended But, there must be a protocol that informs the sending node that the packet has been dropped Example: Resend after no ACK has been received within a given time

Bufferless Flow Control 4/28/2017 Bufferless Flow Control Packet B is misrouted No further action is required here, but at the receiving node packets have to be sorted into original order

Stop-Go Flow Control X X pipelined transfer Queue is not serviced Receiver sends Issues a STOP signal when STOP threshold is reached Sender suspends injecting flits Sender sends packets whenever GO signal is idle sender receiver X X Queue is not serviced pipelined transfer GO threshold STOP threshold GO GO STOP STOP

Stop-Go Flow Control X X pipelined transfer Queue is not serviced Receiver sends Issues a GO signal when GO threshold is reached Sender resumes injecting flits Sender suspends sending packets whenever STOP signal is idle sender receiver X X Queue is not serviced pipelined transfer GO threshold STOP threshold GO GO STOP STOP

4/28/2017 Ack/Nack Flow Control Upstream node sends packets without knowing, if there are free buffers in the downstream node.

Ack/Nack Flow Control If there is no buffer available: 4/28/2017 Ack/Nack Flow Control If there is no buffer available: the downstream node sends Nack and drops the flit the flit must be resent flits must be reordered at the downstream node If there is a buffer available: the downstream node sends Ack and stores the flit in a buffer

ACK/NACK Transmission ACK and buffering NACK ACK/NACK propagation Memory deallocation Retransmission Go-back-N

Credit-Based Flow Control 4/28/2017 Credit-Based Flow Control Upstream router stores credit counts for each downstream VC Upstream router When flit forwarded Decrement credit count Count == 0, buffer full, stop sending Downstream router When flit forwarded and buffer freed Send credit to upstream router Upstream increments credit count

Credit round trip delay 4/28/2017 Credit Timeline Node 1 Node 2 t1 Credit Flit departs router t2 Process Credit round trip delay t3 Credit Flit t4 Process t5 Round-trip credit delay: Time between when buffer empties and when next flit can be processed from that buffer entry If only single entry buffer, would result in significant throughput degradation Important to size buffers to tolerate credit turn-around

Credit-Based Flow Control in action Sender sends packets whenever credit counter is not zero sender receiver Credit counter 3 2 4 1 7 10 5 9 8 6 X Queue is not serviced pipelined transfer

Credit-Based Flow Control in action Sender resumes injection Receiver sends credits after they become available sender receiver Credit counter 5 3 1 2 4 2 8 9 10 3 7 4 6 5 X Queue is not serviced +5 pipelined transfer

On-Off (stall-go) Flow Control 4/28/2017 On-Off (stall-go) Flow Control Credit: requires upstream signaling for every flit On-off: decreases upstream signaling Off signal Sent when number of free buffers falls below threshold Foff On signal Send when number of free buffers rises above threshold Fon

On-Off Timeline Less signaling but more buffering 4/28/2017 On-Off Timeline Foffthreshold reached Node 1 Node 2 t1 Flit Foffset to prevent flits arriving before t4 from overflowing t2 Flit Off Flit t3 t4 Process Flit Flit Flit Flit Flit Fonthreshold reached t5 Flit Fonset so that Node 2 does not run out of flits between t5 and t8 On Flit t6 Flit Process t7 Flit Flit Flit t8 Flit Less signaling but more buffering On-chip buffers more expensive than wires

4/28/2017 Summary of FC On-chip networks require techniques with lower buffering requirements Wormhole or Virtual Channel flow control Dropping packets unacceptable in on- chip environment Complexity of flow control impacts router microarchitecture

4/28/2017 Summary of FC Ack/Nack: is rarely used because of its buffer and bandwidth inefficiency. Credit-based: Used in systems with small numbers of buffers. On/Off : Used in systems that have large numbers of flit buffers.