« Back to basics! | Main | Riddles and more ... »

Flow Control - One thing leads to another !

Transporting information across different source and destination is part and parcel of computer stuff. So it is required that some sort of protocols has to be in place between the two source and destination. Now one of the basic thing a protocol needs to handle is to make sure the feeding of information does not over feed the destination too frequently. So the source needs to pace itself by obeying the order destination provides. And that is the essence of flow control.

Source, destination, and intermediaries all try to pace things based on their capability too. And that capability is usually to hoard stuff, we call it buffering. Buffer requirement is essentially a part of flow control, yeah come to think about it! Estimation of buffer requirement is a fundamental design criteria for all sorts of devices that represent source or intermediate device or destination. As a simple example if a device has, in theory, infinite buffer, then it does not care about flow control. Whatever is you feeding rate, the device would be happy to take, assuming there is no processing bottleneck.

But that is not the case, every device will have some fixed finite number of buffers.  And the estimation is really based on a whole lot of things, such as - (a) traffic pattern (b) traffic intensity (c) processing capacity (d) and other stuff.

 As an example, lot of higher level protocols like TCP / SNA etc., does have flow control. Some busses have flow control, and most of the device also have flow control. They are different in architecture and implementations as well, but the main point is that there are multiple level of flow controls among different levels of processing informations. And often one face with the debate that why do we need so many flow controls. For example is not it enough to just have TCP level flow control and no network device level flow control. Well the answer to that would be a definite NO. The reason is that if the device talks to another device that does not have TCP/IP layer processing, it needs a lower level flow control. For example switches is one of the main reasons that network device need lower level flow control. On the top of it, there are other source and destinations even at a lower level. For example, the PCI-E transactions between PCI-E elements. Yes once again these need flow control, and it is one of the reason that PCIE is a serial bus with full of protocols.

 

So the main idea is - minimizing information loss while in transit and minimizing the retransmit.

 

 

 

Posted on Saturday, January 29, 2011 at 10:18AM by Registered CommenterProkash Sinha | CommentsPost a Comment | References2 References

References (2)

References allow you to track sources for this article, as well as articles that were written in response to this article.
  • Response
    Response: rush essays
    The one thing can be flow with the duty purpose. Everyone wants to do the same purpose on the same ways. These activities can be much important on the same ways. This is known as the first development in our society.
  • Response
    Response: celeb height wiki

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
All HTML will be escaped. Hyperlinks will be created for URLs automatically.