1 / 20

What is Flow Control ?

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.

dake
Download Presentation

What is Flow Control ?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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)

  3. 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)

  4. To improve efficiency of resource allocation we divide the message into packetsfor 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

  5. 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

  6. 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.

  7. 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.

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

  9. 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.

  10. 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

  11. Latency calculation: • T0=Hmintr+L/b • Hmintr = 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 havg=4 hops and single router delay = 8ns ,packet length - 64bytes and channel have uniform bandwidth of 2Gbytes/sec. • Latency : T0= 4*8 + 64bytes/2Gbytes/sec =64ns • Now for circuit switching the latency will become T0=3Htr+L/b

  12. 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

  13. 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 oni+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

  14. 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 : T0=H(tr + L/b)

  15. 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 : T0=Htr + L/b

  16. 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

  17. 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.

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

  19. 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

  20. 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

More Related