An even deeper concern . . . ACR Promotion
Here an uncooperative source could open a connection, but send no data while repeatedly asking for a higher ACR. Once a high enough ACR is grant, the source starts dumping its data at this high rate.
New Questions: We have assumed that if a switch is congested, it will have some means of computing an appropriate value for the Explicit Rate (ER) of each VCC passing through it.
Consider a link l and let Cl = link l's capacity.
Consider all ABR VCC's that happen to be using link l
i.e.VCC1 getting more bandwidth than VCC2.
Example:
We can maximize network wide throughput at 3 units with
How do we define fairness? First we need:
An allocation to a set of VCC's is feasible if two conditions are satisfied:
A feasible allocation is max-min fair if for any VCC, raising the ACRvcc would
It is called max-min fairness because it maximizes the user with the smallest allocation, then maximizes the user with the next smallest allocation, and so on.
Example revisited :
In this case, the max-min allocation is the one which sets ACR = 0.5 for each VCC (see diagram).
Note: Network-wide throughput = 2 (4 VCC * 0.5 each).
Each link has 0.5 + 0.5 and 100% utilization is achieved.
Suppose Instead
That the capacity on the link from A to B is 2. We still have ACR1 = ACR3 = ACR4 = 0.5, but we can now have ACR2 (A to B) = 1.5.
How to find a max-min fair allocation?
For a feasible allocation, a link l is called a "bottleneck" link for a given VCC if:
New Example:
The links from B to C and from C to D are "bottleneck" links for VCC3 and VCC4, respectively. Both links are "bottleneck" links for VCC1.
FACT:
A feasible allocation is Max - Min fair, if and only if, each VCC has a "bottleneck" link for this allocation.
Step 0: Initialize ACR to 0 (for all VCC's) and let V = {all VCC's}
Step 1:Raise all ACR's for VCC in V continuously and equally until Fl = Cl on some link l
Step 2: V becomes V - {all VCC's passing through l}
Step 3: If V does not equal the empty set, then go to step 1, else done.
Example Using Floating Algorithm:
Notes taken by Russ Ford from a lecture by Professor Kenneth Vastola
@ RPI on 4/21/97.