Flow Control - Fixed Versus Demand Allocation (RFC0059)
Original Publication Date: 1970-Jun-01
Included in the Prior Art Database: 2019-Feb-11
Internet Society Requests For Comment (RFCs)
Edwin W. Meyer, Jr. MIT Project MAC 27 June 1970
The method of flow control described in RFC 54, prior allocation of buffer space by the use of ALL network commands, has one particular advantage. If no more than 100% of an NCP’s buffer space is allocated, the situation in which more messages are presented to a HOST then it can handle will never arise.
However, this scheme has very serious disadvantages:
(i) chronic underutilization of resources,
(ii) highly restricted bandwidth,
(iii)considerable overhead under normal operation,
(iv) insufficient flexibility under conditions of increasing load,
(v) it optimizes for the wrong set of conditions, and
(vi) the scheme breaks down because of message length indeterminacy.
Several people from Project MAC and Lincoln Laboratories have discussed this topic, and we feel that the "cease on link" flow control scheme proposed in RFC 35 by UCLA is greatly preferable to this new plan for flow control.
The method of flow control proposed in RFC 46, using BLK and RSM control messages, has been abandoned because it can not guarantee to quench flow within a limited number of messages.
The advantages of "cease on link" to the fixed allocation proposal are that:
(i) it permits greater utilization of resources,
(ii) does not arbitrarily limit transmission bandwidth,
(iii)is highly flexible under conditions of changing load,
(iv) imposes no overhead on normal operation, and
(v) optimizes for the situations that most often occur.
Its single disadvantage is that under rare circumstances an NCP’s input buffers can become temporarily overloaded. This should not be a serious drawback for network operation.
The "cease on link" method of flow control operates in the following
NWG/RFC 59 Flow Control - Fixed Versus Demand Allocation
manner. IMP messages for a particular "receive" link may be coming in to the destination HOST faster than the attached process is reading them out of the NCP’s buffers. At some point the NCP will decide that the input queue for that link is too large in relation to the total amount of free NCP buffer space remaining. At this time the NCP initiates quenching by sending a "cease on link" IMP message to its IMP. This does nothing until the next message for that link comes in to the destination IMP. The message still gets transmitted to the receiving HOST. However, the RFNM returned to the transmitting HOST has a special bit set. This indicates to the originating NCP that it should stop sending over that link. As a way of confirming the suspension, the NCP sends an SPD <link> "suspended" NCP control message to the receiving HOST, telling it that it indeed has stopped transmitting. At a future time the receiving pro- cess will have cut the input queue for the link down to reasonable size, and the NCP tells the sending NCP to begin sending messages by issuing a RSM <link> "resume" NCP control message.
The flow control argument is based on the following premises:
(1) Most network transmission...