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.
References (2)
-
Response: rush essaysThe 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: celeb height wiki
Reader Comments