Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
Dear All,
I am reading the darwin draft, section 12.
I seem to be missing something essential:
When a node is congested, it advertises a
weighted version of its add_rate, so that upstream
stations will "reduce" their rates. My understanding is that
add_rate is the bandwidth the congested node adds to the ring.
I have two questions:
1) Under what circumstances does the node decrease its own rate ( making add_rate smaller for the next iteration)?
2) Is it obvious that upstream nodes will really reduce their rates ( considering that they have various weights themselves)?
Here is an example of what I mean:
No reserved/ high priority BW in the system.
2 active nodes : rest of the ring--->A---> B---> rest of the ring
link capacity is 10 units of BW
each node has equal weight (1)
Case 1
node A transmits 6 units, node B transmits 4 units.
B is congested, and sends its normalised value 4 /1 to node A
which reduces to 4 giving a total of 8 units of rate ==> congestion removed.
This seems to operate correctly.
case 2
node A transmits 4 units, node B transmits 6 units.
B is congested, and sends its normalised value 6/1 to node A
which *increases* to 6 giving a total of 12 units of rate ==> congestion is increased.
case 3
node A has weight 2,node B has weight 1
node A transmits 6 units, node B transmits 4 units.
B is congested, and sends its normalised value 4/1 to node A
which increases its rate to 2*4/1 giving a total of 12 units of rate ==> congestion is increased.
I am sure that I have misunderstood something here. Can someone please help?
Reuven Zeitak