What is Flow Control ? Flow Control determines how a network resources, such as channel bandwidth, buffer capacity and control state are allocated to packet.

Slides:



Advertisements
Similar presentations
CSE 413: Computer Networks
Advertisements

Switching Techniques In large networks there might be multiple paths linking sender and receiver. Information may be switched as it travels through various.
20.1 Chapter 20 Network Layer: Internet Protocol Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
NETWORK LAYER (1) T.Najah AlSubaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
Jaringan Komputer Lanjut Packet Switching Network.
CS 408 Computer Networks Congestion Control (from Chapter 05)
PRESENTED BY: PRIYANK GUPTA 04/02/2012 Generic Low Latency NoC Router Architecture for FPGA Computing Systems & A Complete Network on Chip Emulation Framework.
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.
Semester Copyright USM EEE442 Computer Networks The Data Link / Network Layer Functions: Switching En. Mohd Nazri Mahmud MPhil (Cambridge, UK)
1 Lecture 16: On-Chip Networks Today: on-chip networks background.
Communication operations Efficient Parallel Algorithms COMP308.
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 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.
Switching, routing, and flow control in interconnection networks.
Switching Techniques Student: Blidaru Catalina Elena.
Data Communications and Networking
29-Aug-154/598N: Computer Networks Switching and Forwarding Outline –Store-and-Forward Switches.
1 The Turn Model for Adaptive Routing. 2 Summary Introduction to Direct Networks. Deadlocks in Wormhole Routing. System Model. Partially Adaptive Routing.
On-Chip Networks and Testing
Networks-on-Chips (NoCs) Basics
Chapter 2 – X.25, Frame Relay & ATM. Switched Network Stations are not connected together necessarily by a single link Stations are typically far apart.
Deadlock CEG 4131 Computer Architecture III Miodrag Bolic.
Circuit & Packet Switching. ► Two ways of achieving the same goal. ► The transfer of data across networks. ► Both methods have advantages and disadvantages.
Data and Computer Communications Chapter 10 – Circuit Switching and Packet Switching (Wide Area Networks)
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.
1 Lecture 15: Interconnection Routing Topics: deadlock, flow control.
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
BZUPAGES.COM Presentation On SWITCHING TECHNIQUE Presented To; Sir Taimoor Presented By; Beenish Jahangir 07_04 Uzma Noreen 07_08 Tayyaba Jahangir 07_33.
Networks and Distributed Systems Mark Stanovich Operating Systems COP 4610.
Lecture # 03 Switching Course Instructor: Engr. Sana Ziafat.
Unit III Bandwidth Utilization: Multiplexing and Spectrum Spreading In practical life the bandwidth available of links is limited. The proper utilization.
Lecture 16: Router Design
Networks and Distributed Systems Sarah Diesburg Operating Systems COP 4610.
Delay in packet switched network. Circuit switching In Circuit switched networks the resources needed along a path (buffers and link transmission rate)
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.
Data Communication Networks Lec 13 and 14. Network Core- Packet Switching.
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.
COMP8330/7330/7336 Advanced Parallel and Distributed Computing Communication Costs in Parallel Machines Dr. Xiao Qin Auburn University
Topics discussed in this section:
The network-on-chip protocol
Packet Switching Datagram Approach Virtual Circuit Approach
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.
Mechanics of Flow Control
Data Communication Networks
Switching Techniques.
CEG 4131 Computer Architecture III Miodrag Bolic
EE 122: Lecture 7 Ion Stoica September 18, 2001.
Lecture: Interconnection Networks
Congestion Control (from Chapter 05)
Lecture 25: Interconnection Networks
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Presentation transcript:

What is Flow Control ? Flow Control determines how a network resources, such as channel bandwidth, buffer capacity and control state are allocated to packet traversing the network. One can view flow control :  Resource Allocation  Contention Resolution

Resource and Allocation units Figure : Resources within one network node allocated by flow control method Control state: It tracks the resources allocated ( i.e channels, buffers) to the packet within the node and the state of the packet’s traversal across the node. (Single or multiple Control state)

 Channel Bandwidth : To advance to the next node the packet must be allocated bandwidth on the output channel of the node. Allocating bandwidth can be forward and also reverse (carry ACK or flow control info)  Buffer capacity : Packets arrives at a node is temporarily held in buffer while waiting channel bandwidth.(Note : Few flow control methods do not allocate buffers)

To improve efficiency of resource allocation we divide the message into packets for allocation of control state and flow control bits(flits) for allocation of channel bandwidth and buffer capacity Figure : Units of resource allocation Message : Logically contiguous group of bits - very long Packet : Basic unit of routing and sequencing - restricted length Fields -> RI, SN

Flits: Basic unit of bandwidth and storage allocation used by most flow control methods. Fields-> Type (head, body, tail), VCID  Head flit allocates the channel state for packets and the tail flit de-allocates. Phits: unit of information that transfer across channel in single clock cycle. Table : Sizes of various message blocks TypeSizeTypical size Phits1-64 bits8bits Flits16-512bits(64bytes)64bits Packets128bits-512Kbits1Kbits

Why bother to Break Packets into Flits ?  Few flow control policies allocates all resources in units of packets.  These policies suffers from a conflicting constrain: Choice of Packet size :  Larger size reduces the overhead routing and sequencing.  Smaller size for efficient usage of resource allocation and minimizing latency. “Introducing flits eliminate this conflict “ Achieve low overhead by making packets relatively large and achieve efficient resource utilization by making flits very small.

Buffer Less Flow control Simple, Resources – Channel Bandwidth, Control State, no Buffer Performs an arbitration method to decide which packet gets the channel it has requested. It handles the losing packet either by dropping or misrouting. To perform misrouted there must be sufficient path diversity and appropriate routing mechanism to route that packet.

Example Figure : a) Two packets A and B arrives at a network node. Both request output channel 0 b) Dropping flow control c)Misrouting

Example : Time space diagram of dropping flow control Figure : Using timeout to detect dropped packet  Since no resources are held after tail flit passes the ACK must compete for the reverse channels and may itself dropped, Causes retransmission.  Dropping flow control is very inefficient because it uses valuable bandwidth transmitting packets that are later dropped, livelock.

Circuit Switching  Another form of buffer Less flow control, that operates by first allocating channels to form a circuit from source to destination and then sending one or more packets along their circuit.  The process involves four phases as shown in the below figure Figure :Time space diagram showing circuit switching without contention

Latency calculation: T 0 =H min t r +L/b H min t r = Router delay( time spent in the router ) L/b= serialization latency(time for a packet of length L to cross a channel with a bandwidth b) Example : Consider 64 node network, with h avg =4 hops and single router delay = 8ns,packet length - 64bytes and channel have uniform bandwidth of 2Gbytes/sec. Latency : T 0 = 4*8 + 64bytes/2Gbytes/sec =64ns  Now for circuit switching the latency will become T 0 =3Ht r +L/b

Buffered Flow control  Adding buffers to our network results in more efficient flow control.  Buffers decouples the allocation of adjacent channels. Without buffers the two channels must be allocated during consecutive cycles, or it must be dropped or misrouted.  Now flow control mechanism must allocate buffers as well as channel bandwidth.  We can allocate either buffers or channels bandwidth in units of flits or packets  Types : Packet buffer flow control Flit buffer flow control

Packet-Buffer Flow control Storing a flit ( or a packet ) in a buffer allows us to decouple allocation of the input channel to a flit from the allocation of the output channel to a flit. Example : A flit can be transferred over the input channel on cycle i and stored in a buffer for a number of cycles j until the output channel is successfully allocated on i+j. Without a buffer the flit arriving at cycle i must be transmitted at i+1, misrouted or dropped. Flow control methods allocates resources based on packets are : store-and-forward, cut-through

Store and Forward Flow control With store and forward flow control, each node along a route waits until a packet has been completely received(stored) and then forwards the packet to the next node. Figure : Time-space diagram of store and forward flow control Major drawback is very high latency. Since the packet completely received at one node before it can move therefore serialization latency is experienced at each hop Overall latency : T 0 =H(t r + L/b)

Cut -through Flow control Cut-through flow control overcomes the latency penalty of store and forward flow control by forwarding a packet as soon as the header is received and resources are acquired without waiting for the entire packet to received Figure : Time-space diagram of cut-through flow control a) with contention b)without contention In this method it reduces the latency from the product of the hop count and serialization latency to the sum of these terms Overall latency : T 0 =Ht r + L/b

Drawbacks of packet based methods  By allocating buffers in units of packets it make very inefficient use of buffer storage.  Contention latency is increased. Example : If a high priority packet may colliding with a low priority packet then it must wait for the entire low-priority packet to be transmitted before it can acquire the channel

Wormhole flow control  Wormhole flow control operated like cut-through,but with channel and buffers allocated to flits rather than packets.  Head flit arrives at node require three resources : virtual channel, one flit buffer, one flit of channel bandwidth.  VC holds the state needed to coordinate the handling of the flits of packet over a channel.  State contains : output channel of current node for next hop and state of vc( idle(I),waiting(W),active(A))  Blocking may occur with wormhole flow control because the channel is owned by a packet but buffers are allocated on flit-by-flit basis.  If a flit cannot acquires a buffer the channel goes idle even there is another packet that could potentially use the idle channel.

Illustration Figure : Wormhole flow control(a-g) a 4-flit packet routing through input port to output port

Virtual channel flow control Virtual channel flow control, which associates several VC( channel state and flit buffers) with a single physical channel, overcomes the blocking problem of wormhole flow control by allowing other packets to use channel bandwidth. Figure: a) wormhole flow control b) virtual channel flow control

Buffer Management and Backpressure  All of the flow control methods that use buffering need a means to communicate the availability of buffers at the downstream nodes.  This type of buffer management provides backpressure by informing the upstream nodes when they must stop transmitting flits because all of the downstream flit buffers are full.  Three types Credit based flow control, on/off, ack/nack