Академический Документы
Профессиональный Документы
Культура Документы
I
I Report No. 5943
I
I
I /
I
I
I I
I Contract 'No. DCA 200-83-C-0021
Task Order 3-23
I
July 1985
I
I Prepared for:
Defense Communications Agency·
I
I
I
I
I Report No. 5943 BBN Communications Corporation
I -Table of Contents
I
I 1 INTRODUCTION ......................................................................................................... 1
I 2.3.7 Equal Paths and Heavy Traffic ............... ,......................... ;.. :................................ 87
I -1-
•
Report No. 5943 BBN Communications Corporation
•
2.3.8 Conclusions from Rou ting Experimen ts ................................................................ 87
2.4 Global Analysis of Congestion Control ........................................ ;........................... 91
2.4.1 No Contention For Congested Resource ............................................................... 93
•I
2.4.1.1 Congestion Control Off ....................................................................................... 94
2.4.1.2 Congestion Control On ............................ ~ .. :::-:-;.~:~:-:-:: ........................................... 98
2.4.2 Con ten tion for Congested Resources............... ........................ ............ ................ 103 I
•
2.4.2.1 Congestion Control Off ...................................................................................... 105
2.4.2.2 Congestion Control On ..................................................................................... 112
2.5 Concluding Remarks on Global Experiments ......................................................... 115
I
-11-
I
I Report No. 5943 BBN Communications Corporation
I 6
A
BIBLIOGRAPHY ...................................................................................................... 188
I
I
I
I
I
I -iii-
t
I Report No. 5943 BBN Communications Corporation
I 1 INTRODUCTION
t This report describes work carried out during the final phase of the IMP Congestion Con-
I trol study. The goal for this phase was to conduct the experiments designed in the previous
t phase of the task and described in the Congestion Control Experiment Design Study, BBN
Report 5809 [1]. These experiments focused on testing and validating key assumptions of the
I congestion control algorithm proposed in the First Interim Report, BBN Report 5721 [2]. The
I experiments encompass (a) measurements of the behavior of the IMP under conditions of heavy
utilizations and (b) modelin~ of the behavior of proposed congestion control measures using
I simulation.
I Chapter 1 reviews the congestion control techniques investigated previously In the study,
a including some of the key assumptions and important unanswered questions from the first p.hase
I of the task. In Chapter 2, we present the results of many simulation experiments. Some of
these used special-purpose simulators to validate specific design aspects of the congestion control
I algorithm. The rest were carried out using the ARPANET simulator which we modified to
I Chapter 3 presents results from a series of IMP measurement experiments carried out in
the BBNNET. These experiments demonstrated the exact behavior of the present IMP algo-
I rithms under conditions that led to congestion, and helped guide our design of the congestion
I control algorithm. In Chapter 4, we evaluate the ·cost of the proposed congestion control algo-
rithm, and discuss its implications for the rest of the IMP's store-and-forward software.
I
I -1-
I
Report No. 5943 BBN Communications Corporation
•'I
Finally, Chapter 5 summarizes the conclusions reach~ during the experiments, and includes
different from that proposed in Report 5809, each experiment will be described herein, so that
These resources are the network trunk lines, node store-and-forward buffers, and node CPU.
I
Given a network configured properly for its design load, congestion arises when one or more net- I
work components must perform beyond the design load. The symptom of congestion is repeated
I
refusal by a node to accept traffic from a neighbor node. Retransmission of refused packets
wastes network trunk resources. From a host's point of view, congestion increases network I
delays and reduces network throughput.
I
Congestion at one node due to oversubscription of some resource can also cause heavy I
loads to spread to other nodes, causing long queues and increas~d resource utilization to develop
I
-2- I
t
I Report No. 5943 BBN Communications Corporation
r 10 them as well. Spreading congestion- is· particularly wasteful, because it can degrade perfor-
t mance for traffic flows not contributing directly to the original overload.
I
I 1.1.2 Goals of Congestion Control
I Congestion control aims to prevent the waste of network re,sources. To do this it must
reduce the traffic flows that are contributing to resource overutilization by restricting them at
I their sources. Ideally, the network would achieve the theoretical maximum network throughput
I for the offered flows. In practice, congestion control will rarely be optimal. At times,
throughput may be reduced by congestion. At other times .congestion control may reduce
I throughput excessively. However, on average, congestion controi promises to stabilize network
l response to overloads and permit heavier utilization of the network's resources with correspond-
I The congestion control technique proposed in the First Interim Report is a global algo-
I rithm. Each IMP measures the condition of its own store-and-forward resources, and pro-
pagates the resulting congestion information to all the IMPs in the network. IMPs restrict
I flows originating from their attached hosts according to the state- of the resources that those
I flows reqUire. In this way, traffic that requires oversu bscribecl resources is held aside at the
I -3-
II
Report No. 5943 BBN Communications Corporation I
II
boundary and metered into the network, while traffic that is not using congested resources flows
and each of its network links. The second component propagates these levels to all nodes in the
11
network. The third processes the database of congestion information at each node and assigns a
congestion state to each destination. The assigne~ state depends upon the congestion levels of
all resources on the path to the destination. The fourth component uses this information to
'I
compute a throttle rate for traffic entering the S/F network for each destination, depending upon
tion of the buffers assigned to store-and-forward, and utilization of node CPU. Each node
assigns to each of its outgoing links, and to itself, a congestion level based on the measured util- I
izations.
I
The algorithm proposed in Report 5721 reduces the utilization information measured at
I
each node to one of several congestion levels to be propagated to all other nodes in the network.
Analysis and simulation during this phase of our study demonstrat-ed that use of just a few lev-
I
els was an insufficient basis for throttling. Whereas the original·scheme broadcast a qualitative I
-4-
I
I Report No. 5943 BBN Communications Corporation
I measure of co~gestion for each resource, we revised the scheme to use a quantitat2've measure.
I Each node calculates locally, for each of its resources, a congestion level to be used directly by
I all nodes to throttle traffic flows sharing that resource. The level is the node's best estimate of
the rate at which each source should admit traffic that must use each resource. By commUnI-
I cating a traffic rate, the system can adapt to the capacity of each resource.
I The congestion level information is flooded through the network, much as routing informa-
I tion is today. Given a routing tree and the per-link and per-node congestion level, each IMP
assigns a traffic congestion state to every destination. This congestion state is merely the
I minimum congestion level of any of the links and nodes along the current routing path from the
I IMP-to the desti~ation. A straigfitforward addition to the" incremental SPF routin.g calculation
the throttle rate. The throttle rate controls the traffic flow from an IMP's attached hosts into
I the store-and-forward subnetwork for that destination. Throttling acts like a simple negative
I feedback system. As load increases, Ll\1Ps with heavily-loaded resources reduce the correspond-
ing congestion levels, causing all IMPs to throttle back on the traffic offered by connected hosts
I that must use those resources. To enforce throttling rates, the SjF portion of the IMP requires
I that traffic offered faster than the throttle rate wait. It is the responsibility of the end-to-end
module to queue packets required to wait until the subnetwork can accept them, and to inform
I attached hosts of the traffic reduction using appropriate network protocol means.
I
I -5-
Report No. 5943 BBN Communications Corporation
The First Interim Report identified areas that required further study prior to final design
of the congestion control algorithm. This report presents results from a program of experiments
aimed at proving the basic approach proposed for controlling congestion, and tuning parameters
of the design for effective operation in the C/30 IMP. The following subsections discuss the
areas in which experimentation offers guidance and solutions to unresolved issues associated
The first portion of the congestion control algorithm must measure utilization of the
The experiments investigate whether the quantities to be m~asured provide an effective basis
upon which to perform congestion control. Although we define congestion in Report 5721 as
the occurrence of packet refusals on IMP-IMP trunk lines, we seek other measures which might
anticipate imminent congestion, in the hopes that congestion control might react quickly enough
steady' state traffic to find the level of offered load where congestion starts, and monitored the
I
behavior of the various measures when the load on the link is near that value. We also
-6- I
Report No. 5943 BBN Communications Corporation
modified the message generator to provide a load that fluctuates over time, so that the reaction
the BBNNET. One experiment looked at the behavior of the measured delays when a critical
link was removed, which caused congestion to spread throughout one portion of the net.
Another experiment looked at cumulative statistics data from typical working days to charac-
terize the load offered in a live network. These investigations allowed us to evaluate our
loads on the IMP's CPU and on its store-and-forward buffer pool. In both these cases, we
~
V decided that experiments would not teach us anything at this time.
In the case of CPU utilization, any measure that we might propose would be highly depen-
dent on the current structure of operational IMP software, especially the old end-to-end
software. This software will be replaced before congestion control is implemented, so any
results we could glean in this area would soon be obsolete. Additionally, the new end-to-end
software structure will provide much better measures of CPU utilization than are available
Conversion of DDN IMPs to Cj30E processors reduces the likelihood of exhausting S;F
buffers' because the memory available in the C j30E allows substant"ially more IMP buffers. The
IMP can dedicate one buffer to SjF for each logical channel on' each trunk. Therefore, as long
-7-
Report No. 5943 BBN Communications Corporation
•
as lines are configured with only 16 cha~nels, the IMP will never refuse a packet due to the una- •
vailability of a SjF buffer, and the congestion control algorithm can safely ignore the state of
the SjF buffer pool. This situation changes if the larger C/30E memory is filled with more
•
•
software and data structures, or more channels are assigned to each link. However, the question
•
1.2.2 Throttling Offered Traffic
The congestion control algorithm sets target throughput rates for traffic. It throttles flows
•,I
contributing to overloads, and increases the throughput allowed to those which pass through
,I······
1
underutilized components. These factors raise several issues in the congestion control design
to use the same resource. A suitable measure of fairness must be defined, and the algorithm
I
must be tested to see if it meets this measure. Another issue is the stability of the feedback I
process; the congestion control algorithm should not lead to destructive oscillations. These
I
might occur, for example, when traffic is severely throttled, leading to underutilization, and then
allowed to dramatically increase, leading to congestion. At the same time the algorithm must I
respond as rapidly as possible as conditions change. The responsiveness should be good both I ',..•8%
-8-
I
I Report No. 5943 BBN Communications Corporation
I We investigated these questions in the context of both the original congestion control algo-
I rithm proposed in Report 5721 and the modified algorithm based on broadcasting congestion
I
1.2.3 Interactions With Delay-Oriented Routing
I As discussed in the interim report, congestion control and delay-oriented routing may work
I at cross purposes because the former focuses on the throughput performance of the network,
I while the latter attempts to minimize delay. We investigated the conditions under which this
tions. In part, this leads to the benefit that increases in load cause the network to seek better
I alternate routes so as to dissipate the congestion, but it can also result in oscillations in routing
I paths. Once congestion control is in place, then perhaps routing may be able to respond in a
I
I
I
I -9-
Report No. 5943 BBN Communications Corporation
5 CONCLUSIONS
5i21 was that resource utilization would be the proper metric to drive the control mechanisms.
The IMP' measurement experiments documented the behavior of routing delay, channel
utiliz~tion, IMP·IMP protocol refusals, and li~k utilization under a variety of scenarios" We.
-
found that refusals may happen under conditions of low utilization. The observation that
refusals and low utilization coincide means that, although the link logical channels are some·
times all busy, there is lots of time during which the link is in fact idle. This is not congestion
at all, but rather an improper configuration. Even though all the logical channels are in use, •
the link -cannot be fully utilized. Since this situation occurs most severely with spreading conges-
•
tion, restricting the flows is undesirable, since some of them may in fact be cross traffic which is
•
•
not contributing to the source of congestion. That the link utilization measure fails to detect
congestion in this situation is a point in its favor. The correct response to this situation is to
increase the number of logical channels, not to restrict the traffic flows using the link.
Conversely, the other parameters appear to be poor indicators of chronic congestion, I ~'!
;·J·.
because they will react when there is bursty traffic but no congestion. In addition, the other
I
-176- I
I
I Report No. 5943 BBN Communications Corporation
I
indicators would show congestion under conditions of spreading, or when link parameters are set
I wrong.
I Link utilization is best measured in bits rather than packets. We found good agreement
I' between the link 'utilization and chronic congestion with this measure for a variety of packet
SIzes. Given the wide variance in the packet sizes seen in user traffic, a utilization measure com-
I puted from the measured packet rate will either fail to see congestion due to a series of long
I pack~~s, or report a link congested when it is merely seeing a moderate load due to short pack-
I ets.
I
5.1.2 Measurement In.terval for Link Utilization
I
Setting the' time interval between congestion level updates is constrained by practical con-
I siderations. In particular, the cost in processor and link ov~rhead, given assumptions about
I update length and processor speed, must not be too high or the improvement in network perfor-
mance due to congestion control will be offset by the resources lost to running the alg9rithm.
I
Practical considerations yield both an upper and a lower bound on the rate at which
I update packets should be flooded by the IMP. The lower bound used for routing, which has
I similar costs, is set to 10 seconds, while the upper bound is determined by the need to guarantee
that any IMP can recover its routing database before isolated network segments are rejoined.
I Although the congestion control database is less critical than the routing database, it must be
I -177-
I
Report No. 5943 BBN Communications Corporation
I
I
The range of update intervals we are thus left to consider is between 10 and 60 seconds,
which is the same range allowed to routing. A brief examination of the temporal characteristics I
of real traffic indicates that utilization measures probably need to be averaged over an interval
I
of at least 30 seconds to be stable. Therefore, we recommend that the initial congestion updat-
ing interval be set at 30 seconds with a range between 10 and 50 seconds configurable for test
I
purposes. In order to determine the utilization averaging interval, further measurements of I
traffic in real networks should be undertaken.
I
5.1.3 Congestion Control Responsiveness
I
We examined the speed with which the simulated congestion control .algorith~ would
I
respond to changes in offered load. The load might change by either an .increase or ~ decrease I
in traffic using an S/F resource. We examined both scenarios.
I
With an effective threshold/decay scheme, we found that congestion control could respond
I
promptly to increases in offered load. The delay to restore acceptable line utilization was typi-
cally two throttling intervals, and to achieve target utilization, eight intervals. When offered I
load decreased, the congestion control algorithm was quite responsive, correcting throttling rates
I
within two throttling intervals.
I
I
I
-178- I
I
I Report No. 5943 BBN Communications Corporation
I
5.1.4 Evaluation of Throttling Feedback
I
The throttling feedback algorithm proposed in Report 5721 assumed that classification of
I resource loading into one of a few possible levels would suffice for driving offered load to a desir-
I able rate. During this phase of the task, we modeled the behavior of this feedback mechanism
goals of an effective congestion control algorithm. In configurations where many sources com-
I pete for a single link, control might fail altogether. In addition, the parameters that drove the
I computation of the next throttling rate could not be set· properlr in a network having a variety
of link speeds. For these reasons, we abandoned the original feedback model altogether.
I We designed and modeled a new throttling feedback method which performed far better
I than the original algorithm in every respect. Briefly, each resource con tin uously main tains a
I congestion level, which it modifies based on utilization measured during the previous measure-
ment interval. To the extent that the measured utilization fails to meet the target utilization
I for that resource, the IMP modifies· the corresponding congestion level, subject to an upper
I bound derived from the capacity of the resource. That is, given a congestion level L, measured
utilization M, and desired utilization D, the IMP computes the new value of the congestion level
I L to be Lx(D-7M), subject to the resource capacity. Although we only modeled this congestion
I level computation method for link resources, it ought to be applicable to buffer and CPU
resources when they are incorporated into the congestion control algorithm.
I
I -179-
I
Report No. 594.3 BBN Communications Corporation I
I
This congestion level method was used in the ARPANET simulator, and once again, we
were able to show that it performed well under a variety of traffic scenarios. In both the I
special-purpose simulation and the ARPANET simulator, the averaging interval for measuring
I
utilization and the interval for the throttler were set equal to 10 seconds.
I
One problem we found with the formulation of the throttling algorithm related to the use
of a throttling averaging interval. Traffic arriving near the beginning of the metering interval is
I
delayed more than that arriving near the end. One could modify the throttling algorithm to
.. - I
remove this asymmetry, and eliminate the need for a throttling averaging interval. This
modified throttler could adapt instantly to new congestion levels. We did not have enough time
I
to model or simulate. its behavior, but we recommend that it. be examined in greater detail in I
the follow-on project. Executing the modified throttling algorithm in the IMP should be
ments the throttler eliminated most refusals, without worsening delay or throughput. The
applicability of this positive result to larger networks bears further investigation to verify that
the benefits due to smoothing traffic as it enters the network persist when packets must make
in a simple topology, and the effect of routing changes on the utilization metric. We showed
that high traffic causes routing to oscillate badly, and that utilization measurements taken du~-
ing this time are likely to be both deceptive and unpredictable indicators of congestion. Rout-
ing is particularly susceptible to oscillations when two paths to a destination are of equal length.
W~en we simulated both the congestion control and routing algorithms, we observed poor
this observation based on the destructive interactions between routing and congestion control
diagrammed in Figure 3-24. We conclude that the frequency of routing updates should be
increasing the routing delay threshold or by lengthening the routing averaging interval.
-181-
I
Report No. 5943 BBN Communications Corporation
I
I
These measures may result in less effective, though passable, routing decisions. In particu-
lar, routing will still react to changing network topology. Finer tuning of the intervals for both I
algorithms will require further simulation and experimentation in real networks. This work
I
should form part of the Congestion Control Implementation task.
I
For the longer term, we should consider extensions to congestion control which take
account 'of routing behavior, in an effort to guarantee productive cooperation between the two
I
algorithms. We should also investigate altern~tive routing algorithms which might coexist I
naturally with congestion control. These are open issues and require further study.
I
5.1.7 Congestion Control Effect op. Cross Traffic
I
In addition to examining specific design choices for the congestion control algorithm, we
I
attempted to verify that the algorithm worked as intended in situations for which it was I
designed: We used the ARPANET simulator to model the effects of congestion control and
I
throttling on cross traffic. Cross traffic is traffic that might suffer increased delay due to the
refusals resulting from congestion of another link that it is not trying to use.
I
With congestion control disabled, we observed cross traffic delay as congesting traffic levels
I
were increased incrementally. When congesting traffic reached a certain level, cross traffic delay I
increased abruptly. From these experiments, it appears that the effects of network congestion
on cross traffic are sudden and arIse 10 a very narrow range of utilizations of the congested
I
resource near 90%. I
-182- I
Report No. 5943 BBN Communications Corporation
Congestion control effectively prevented most refusals, resulting in uniformly low cross
traffic delay independent of congesting traffic level. However, the target link utilization of 80%
caused the throttling rate to be unnecessarily low. Further study is required to determine an
optimal target utilization, if possible. More ambitiously, we should extend the congestion con-
trol algorithm to determine dynamically the target utilization for each link, perhaps usmg a
feedb~k mechanism driven by some other metric, such as packet refusal rate.
all tri~d to use a single 9.6 Kb/s link. In this configuration, oversubscription of the 9.6 Kb/s
link was rapidly alleviated by congestion contr~l. Cross traffic packet delay swiftly dropped to
ing congestion levels when link utilizations approach unity. In the small network simulated,
both end-to-end delay and throughput performance improved as a result of congestion control.
Further -work in this area should examine networks where routing may affect the ability of
I
5.2 Benefits of Congestion Control
I
In summary, the benefits to be realized from congestion control are the following:
I
• Less waste of network resources under overload. Congestion control will cause sources
I
I -183-
I
Report No. 5943 BBN Communications Corporation I
to be throttled which are contributing to overutilization of busy network links. As a
I
result, fewer packets will be refused due to output queue limits (logical channel lim- I
its) for those links. This, in turn, will result in fewer retransmissions under heavy
I
load conditions, and less waste of network resources.
I
• Better coping with heterogeneous links. One particularly dangerous point for conges-
tion to build is where traffic from a higher speed link is routed along a lower speed I
....
link. Congestion control will both lower the likelihood that such overloading may
I
occur, by initially throttling any source to no more than the link capacity, and will
enable the network to meter traffic at its sources when several streams of traffic com-
I
bine to overload the link.
I
• Less delay for noncongesting traffic. Because fewer packets will be refused on links I
leading to overload points, there will be less added delay for flows that must use
these links but avoid the overload point. In other words, since the network is wast-
I
ing fewer resources, it can better serve traffic which should not be affected by I
resource overloads.
I
• Less delay variance under overload. Retransmissions due to link refusals are a source I
of long reported delays in the routing algorithm. Avoidance of refusals will also
reduce the variance of delay reported by the routing algorithm, which will lead to I
more stable routing patterns and more predictable delay through the subnet. This,
I
in turn, should allow better performance by the end-to-end protocol.
I
-184- I
I
I Report No. 5943 BBN Communications Corporation
I
• Allow routing to perform better. As a result of the delay variance being reduced, the
I routing algorithm should be less apt to send updates. Moreover, the necessity for
reduced, and thus it may be prudent to allow routing to run even less often than is
I now the case. This should reduce the likelihood of unproductive routing oscillations.
I • Allow more logical channels per link. Because the global congestion control algorithm
I longer critical that an IMP begin refusing traffic as its queues begin to grow. If this
purpose of the configured number of logical channels is removed, then the number
I may be increased,-leading to better link performance even with short packets. This
I • Allow larger end-to-end windows and uncontrolled packets. Since the network can
I longer rely on the end-to-end window size to artificially restrict the amount of traffic
I that may be allowed to enter the S/F subnetwork. Therefore, end-to-end protocol
windows can be set to reflect the actual needs of the end-to-end protocol, rather
I than having to be set conservatively to help limit the exposure of the network to
high-speed satellite links. Moreover, because the throttling mechanism limits all
I packets regardless of their source, datagram packets will also be throttled, and thus
use of datagrams should not place the network in as much jeopardy as is the case
-185-
Report No. 5943 BBN Communications Corporation
today.
Prior to the deployment of congestion control software, the network will remain vulnerable
to congestion incidents. It will therefore have to continue to protect itself as it does today:
, . New end-to-end protocol windows will have to stay small. Because the network
•
currently relies on the end-to-end. protocol to limit the amount of traffic entering the
SjF network, the new end-to-end protocol will have to resp~ct the limits used in the
old end-to-end to avoid ·chronic overloads of network resources. These limits will
•
• There may be local congestion, especially where there are low-speed links fed by higher
speed links. We have already observed congestion incidents in the BBNNET where •
low-speed links are fed by high speed links. This will continue to occur until the
•
c6ngestion control algorithm is deployed. For some traffic distributions, increasing
•
•I
logical channels will help reduce the impact of these incidents.
• Routing and logical channel limits will have to be tuned to avoid congestion, and delay
may be higher than necessary. The IMP will have to continue to deal with congestion
when it inight find a less congested path through the network. These policies will
After deploying congestion control software we can consider relaxing some of the current
conservative policies toward resource management in the IMP. Many of these originated when
the IMPs had only a few tens of buffers to use for meeting all demands placed upon them.
With vastly larger memories that are now becoming standard on the DDN, it is possible to allay
some, of the suboptimalities listed above. In particular, we believe that increasing the number
of log)cal channels will allow the IMP to ride out traffic bursts better than it now does, and
-187-
Report No. 5943 BBN Communications Corporation
6 BIBLIOGRAPHY
•
[3] E.C. Rosen, J. Mayersohn, P.J. Sevcik, G.J. Williams, R. Attar, ARPANET Routing
•
•
Algorithm Improvements, Volume. 1, BBN Report No. 4473, August 1980.
•
[4] J.M. Mcquillan, 1. Richer, E.C: Rosen, D.P. Bertsekas, ARPANET Routing Algo-
rithm Improvements, Second Semiannual Technical Report, BBN Report No. 3940,
October 1978.
•
J.F. Haverty, B.L. Hitson, J. Mayersohn, P.J. Sevcik, G.J. Williams, ARPANET
•
Routing Algorithm Improvements, Volume 2, BBN Report No. 4931, March 1982.
•
[6] D.E. Knuth, Seminumerical Algorithms, The Art of Computer Programming, Volume
2, Addison-Wesley, 1969. •I
[7] J.M. McQuillan, 1. Richer, and E.C. Rosen, ARPANET Routing Algorithm Improve-
ments, First Semiannual Technical Report, BBN Report No. 3803, April 1978. I
[8] L. Kleinrock and M. Gerla, "Flow Control: A Comparative Survey," IEEE Transac- I
tions on Communications, v. COM-28, no. 4, April 1980, p. 553.
I
-188- I