The network-on-chip protocol

Slides:



Advertisements
Similar presentations
Prof. Natalie Enright Jerger
Advertisements

1 IK1500 Communication Systems IK1330 Lecture 3: Networking Anders Västberg
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.
1 Lecture 23: Interconnection Networks Paper: Express Virtual Channels: Towards the Ideal Interconnection Fabric, ISCA’07, Princeton.
1 Lecture 16: On-Chip Networks Today: on-chip networks background.
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.
1 Lecture 24: Interconnection Networks Topics: topologies, routing, deadlocks, flow control.
1 Lecture 26: Interconnection Networks Topics: flow control, router microarchitecture.
1 Lecture 23: Interconnection Networks Topics: Router microarchitecture, topologies Final exam next Tuesday: same rules as the first midterm Next semester:
On-Chip Networks and Testing
Networks-on-Chips (NoCs) Basics
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 11 Data Link Control Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction.
Deadlock CEG 4131 Computer Architecture III Miodrag Bolic.
© Sudhakar Yalamanchili, Georgia Institute of Technology (except as indicated) Switch Microarchitecture Basics.
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.
Advanced Processor Group The School of Computer Science A Dynamic Link Allocation Router Wei Song, Doug Edwards Advanced Processor Group The University.
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)
1 Switching and Forwarding Sections Connecting More Than Two Hosts Multi-access link: Ethernet, wireless –Single physical link, shared by multiple.
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 29: Interconnection Networks Papers: Express Virtual Channels: Towards the Ideal Interconnection Fabric, ISCA’07, Princeton Interconnect Design.
1 Lecture 22: Interconnection Networks Topics: Routing, deadlock, flow control, virtual channels.
Network Models. 2.1 what is the Protocol? A protocol defines the rules that both the sender and receiver and all intermediate devices need to follow,
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 10 – Circuit Switching and Packet Switching.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Muhammad Waseem Iqbal Lecture # 20 Data Communication.
Basic Low Level Concepts
Point-to-Point Network Switching
Chapter 8 Switching Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Lecture 23: Interconnection Networks
Packet Switching Outline Store-and-Forward Switches
Physical constraints (1/2)
Interconnection Networks: Flow Control
Azeddien M. Sllame, Amani Hasan Abdelkader
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
SWITCHING Switched Network Circuit-Switched Network Datagram Networks
CONGESTION CONTROL.
Mechanics of Flow Control
William Stallings Data and Computer Communications
Lecture: Transactional Memory, Networks
Lecture: Interconnection Networks
Switching Techniques.
Circuit Switching Packet Switching Message Switching
Congestion Control (from Chapter 05)
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
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Lecture 25: Interconnection Networks
Circuit Switched Network
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Presentation transcript:

The network-on-chip protocol Packetized communication PAYLOAD HEADER TAIL Packet FLIT … What does a switch do when a packet arrives? swA swB The way packets (or packet flits) reserve buffer and link bandwidth is called the “switching strategy”

Packet-based switching Store-and-forward A B After A finishes receiving the entire packet, A asks B if B is ready for the entire packet. (2) B  A, ack (3) A sends the packet to B. Buffering for the largest packet is needed at each switch Extremely high latency Full packet storage latency experienced at each hop Packet not decomposed into flits It is actually broken down into words (phits), but there is no special control for them Used for Time-Division Multiplexing in real-time NoCs

Packet-based switching Virtual-cut-through A B While A receives a part of the packet, A asks B if B is ready for the entire packet. (2) B  A, ack A starts to send the packet to B even when A has not yet received the entire packet. (4) If NACK from B, the entire packet is stored in A Same buffering requirements as for store-and-forward Cuts down on latency Packet propagation is started as soon as possible Packet not decomposed into flits Deadlock freedom easier to enforce

Flit-buffer switching Wormhole switching Pipelining on a flit basis A B flit size < packet size Smaller data space is needed than store-and-forward After A receives a flit of the packet, A asks B if B is ready to receive a flit (2) B  A, ack (3) A sends a flit to B. Reduced buffering requirements Flit-based allocation of buffers and channels Reduced latency wrt store-and-forward May lead to starvation of other packets Packet strung out over the network if head flit blocks

X X The blocking problem Wormhole switching suffers from packet blocking problems Idle Idle Blocked X X Blocked! A B C C cannot send it and has no enough space for a new flit D An idle channel cannot be used because it is owned by a blocked packet…. Although another packet could use it!!!

Virtual-Channels Performance improvement using virtual channels Multiple virtual channels multiplexed on a single physical link Node 1 Node 2 Node 3 Node 4 Node 5 Destination of B Node 1 Node 2 Node 3 Node 4 Node 5 Destination of B A B Block Body flits use the VC acquired by the head flit Tail flit releases VC

Flow control ACK-NACK Flow control ON-OFF Flow control In buffered switching, it determines the way the downstream node communicates buffer availability to the upstream node Block A B C Backpressure Don’t send Buffer full Don’t send Buffer full ACK-NACK Flow control ON-OFF Flow control Credit based Flow control

ACK-NACK Flow control Makes optimistic assumptions for transmission ACK/NACK propagation ACK and buffering Memory deallocation NACK Retransmission Go-back-N Makes optimistic assumptions for transmission In case of long-lasting blockage, waste of power! Long buffer occupancy at the upstream switch Natively supports link-level error control

Credit based flow control No of credits 2 credit Rx Buffer B Receiver gives N credits to sender Sender decrements count Stops sending if zero Receiver sends back credit as it drains its buffer Bundle credits to reduce overhead 1 1 H credit 1 B T H 1 credit B H Round trip time between buffer empty and flit arrival More efficient buffer usage Large amount of upstream signaling (e.g., short packets) Error control pushed at a higher layer

On-Off flow control Incoming flits Outgoing flits Fon threshold GO! Foff threshold STOP! Switch B Potentially reduces the amount of upstream signalling Upstream state: 1 control bit Permission to send (on) or not (off) Upstream signalling only to change this state Buffering requirements to prevent overflow or idling

Simple on/off implementation: stall/go This could be an input or output buffer of the switch Every stage of the pipelined data path should have two slots Not to loose the flit in flight while stall is propagated upstream

Link Pipelining A link pipeline stage is not just a retiming stage but also a flow control stage, hence requires a 2-slot buffer (in general, the number of additional slots is flow control dependent)