Products | Versions |
---|---|
TIBCO SmartPGM | - |
Not Applicable | - |
Resolution:
Introduction
(Applies to Versions 3.2 and Newer)
SmartPGM Congestion Control is an ACK-based bandwidth controller that
reactively determines how much bandwidth SmartPGM can use at any time. It
addresses the needs of shared networks, where throughput can vary depending
on the resource needs of other applications or even multiple SmartPGM senders.
How it Works
SmartPGM Congestion Control is a reactive feature that continually tries to
increase throughput up to a specified bandwidth until a receiver returns a
negative acknowledgment (NAK). Once a receiver NAKs, it becomes the
designated ACKER and the throughput is then limited to the bandwidth
of that ACKER until it can recover (RDATA) and starts to ACK (that is,
send positive acknowledgments) back to the sender. Once the designated
ACKER stops NAKing and starts ACKing, the SmartPGM congestion control
sender then attempts to increase throughput again until a receiver
NAKs and so on.
When a receiver becomes the designated ACKER, the transmission rate is
cut in half and the sender then listens for ACKs. If the designated
ACKER is still NAKing after the transmission rate has been cut in
half, the transmission rate is halved again, or until it hits the
minimum transmission rate, and the sender listens for ACKs. If for
some reason the designated ACKER fails to send back either NAKs or
ACKs (perhaps due to NAK failure), the sender resets the
source_pgm_init_acker configuration parameter (located in the SmartPGM
configuration file, pgm.conf) to 0.0.0.0 and the process of
designating the next ACKER starts all over again.
Benefits
All applications, no matter how large or small, should perform
congestion control. There are several reasons for this:
- Applications which perform congestion control make more efficient
use of the network and should generally see better performance.
- Applications which adapt to the network are capable of running over
a much wider range of bandwidths and are hence more useful in the
Internet.
- Congestion control algorithms prevent the network from entering
congestive collapse. Congestive collapse is a situation where, although
the network links are being heavily utilized, very little useful work
is being done. This situation is much like a typical traffic bottleneck.
The network will soon begin to require applications to perform congestion
control, and those applications which do not perform congestion control
will be harshly penalized by the network. As a result, the network would
begin to preferentially drop these applications' packets during times of
congestion.
In sum, applications that utilize SmartPGM Congestion Control can be
assured of having a more stable, reliable, and efficient use of
bandwidth.