Chapter 5. Local Area Networks
6.4. Network Access Flow Control
The objective of network access flow control is to throttle external inputs to prevent overall internal buffer congestion. Congestion may be local (at the entry node), global (entire network) or selective (particular path leading to a given destination). Flow control is exercised to regulate the access of external traffic based on the condition determined at the network access points.
We will consider three NA flow control schemes: isarithmic, input buffer limit and choke packet.
6.4.1. The Isarithmic Scheme
Since the main cause of congestion is the excessive number of packets existing in the network, the Isarithmic scheme controls congestion by keeping the number of packets constant, below the congestion point.
There exist permits which circulate about within the subnet. Whenever a node wants to send a packet just given to it by its host, it must first capture a permit and destroy it. When the destination node removes the packet from the subnet, it regenerates the permit. These rules ensure that the number of packets in the subnet will never exceed the total number of permits P initially allowed.
Results of simulation studies by the National Physical Laboratories are summarized below. • The scheme performs well in uniform traffic pattern situations, but poor in the case of
nonuniform, time varying traffic patterns.
• The method of how to distribute the permits within the subnet is far from obvious.
• If permits ever get lost for any reason, the capacity of the network will be forever reduced.
• Experimental results show that the maximum number of permits that can be accumulated at each node is 3 and that P−−3N, where N is the total number of nodes in the subnet.
6.4.2. Input Buffer Limit Scheme
The input buffer limit (IBL) is a local network access method, whereby packets are differentiated into input and transit at the entry node. The function of IBL flow control is to throttle the input traffic when certain buffer utilization thresholds are reached in the entry node.
We will describe 3 versions of IBL flow control scheme.
(1) The IBL scheme proposed for GMDNET is a by-product of the nested buffer class structure considered previously. Input traffic is assigned to class zero and is entitled to use buffer class
6.4. Network Access Flow Control 87 0.2 0.4 0.6 0.8 1.0 5 10 15 20 Throughput (messages/sec)
Input buffer limit
Figure 6.10. IBL Throughput vs NI 9
NT for NT−−40(approximate)
zero only. Simulation results indicate that for a given topology and traffic pattern there is an optimal input buffer limit size wh ch maximizes throughput for heavy offered load.
(2) Another version of IBL flow control scheme was proposed and analyzed by Lam. Each node has a pool of NTbuffers, all of which may be occupied by transit traffic. However, no more than NI( < NT) buffers can be occupied by input packets. The analytical results also show that there is an optimal ratio NI/ NT, which maximizes throughput for heavy load, as shown in Figure 6.10.
The IBL scheme is robust to external perturbations when operating at the optimal value of
NI/ NT. However, the assumption that all nodes in the subnet have the same blocking capacity is not quite realistic.
(3) Drop-and-throttle flow control (DTFC) [Kamoun]
In this version of IBL the input packet is discarded when the total number of packets in the entry node exceeds a given threshold. Transit packets, instead, can freely claim all the buffers. However, if the node is full the transit packets too will be dropped and lost. A similar scheme, called free flow scheme, is described and analyzed by Schwartz and Saad.
6.4.3. Choke Packet Scheme
In this scheme the flow control mechanism is invoked only when the system is congested. The mechanism described below was proposed for the Cyclades network.
Each node monitors the utilization percentage of each of its output lines. Associated with each line is a real variable, uk, whose value, between 0.0 and 1.0, reflects the recent utilization of that line at time k; and fk(either 0 or 1) the instantaneous line utilization. ukis updated according to
where the constant a determines how fast the node forgets recent history.
Whenever uk moves above the threshold, the output line enters a warning state. Each newly arriving packet is checked to see if its output line is in warning state. If so and
• If the packet is an input packet it is dropped. • If the packet is a transit packet
the node sends a choke packet back to the source node giving it the destination found in the transit packet. The transit packet is tagged so that it will not generate any more choke packets later, and is forwarded on the path.
When the source node gets the choke packet, it reduces the traffic sent to the specified destination by X%. The source host then ignores other choke packets for a fixed time interval
T seconds.
After T seconds the source host listens for more choke packets for another interval. If one arrives, the line is still congested, so the source host reduces the flow still further and repeat the same process. If no more choke packets arrive during the listening period, the source host may increase the flow again.
Simulation results based on the Cigule network topology are given in Figure 6.11.
The Choke Packet Scheme is different from the IBL scheme in that it uses a path congestion measure to exercise selective flow control on input traffic directed to different destinations.