BBN Notes for Lecture 21 (4/21/97)
next previous contents

Allocated Cell Rate (ACR) Retention

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.

Max - Min Fairness

Consider a link l and let Cl = link l's capacity.

Consider all ABR VCC's that happen to be using link l

It would be unfair to have Unless at least one of the following is true

Example:

We can maximize network wide throughput at 3 units with

This is clearly unfair to VCC1. Check to see that it satisfies the definition above of unfairness.

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

  1. Make the allocation infeasible, or
  2. Force us to decrease another VCC' which already has ACRvcc'< ACRvcc.
i.e. the only way to improve the situation for one user is to make worse the situation for another user who is already worse off.

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.


"Floating" Algorithm for Computing Max-Min Fair 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:


BBN Notes for Lecture 21 (4/21/97)
next previous contents

Notes taken by Russ Ford from a lecture by Professor Kenneth Vastola @ RPI on 4/21/97.