Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "What is Flow Control ? Flow Control determines how a network resources, such as channel bandwidth, buffer capacity and control state are allocated to packet."— 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 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

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 TypeSizeTypical size Phits1-64 bits8bits Flits16-512bits(64bytes)64bits Packets128bits-512Kbits1Kbits

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

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

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 : T 0 =H(t r + 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 : T 0 =Ht r + 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


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

Similar presentations


Ads by Google