[e2e] How shall we deal with servers with different bandwidths and a common bottleneck to the client?

Agarwal, Anil Anil.Agarwal at viasat.com
Mon Dec 25 08:35:18 PST 2006

Here is a possible explanation for the results in your scenario -
Take the case when both connections are active and the queue at router 2 remains non-empty.
Every T seconds, there will be a packet departure at router 2, resulting in the queue size decreasing by 1 packet at time T.
If a packet from node 1 departs at time n*T, then at time (n+1)*T + ta1, another packet will arrive at router 2 from node 1.
      ta1 is the time taken by the Ack to reach node 1.
If a packet from node 0 departs at time n*T, then at time n*T + ta0 + t0, another packet will arrive at router 2 from node 0.
      ta0 is the time taken by the Ack to reach node 0. 
      t0 is the transmission time of a packet at 100 Mbps. 
      Another packet from node 0 may arrive at time n*T + ta0 + 2 * t0.
In the scenario, ta0 << T, ta1 << T, and t0 = T / 10, ta0 + t0 > ta1. I am assuming that propagation delays were set to 0 in the simulations.
It can be seen, that when a node 1 packet arrives at node 2, the queue is never full - a packet departure takes place ta1 seconds before its arrival, and no node 0 packet arrive during the ta1 seconds.
No such property holds for node 0 packets - hence node 0 packets are selectively dropped.
Changing bandwidths a bit or introducing real-life factors such as propagation delays, variable processing delays and/or variable Ethernet switching delays will probably break this synchronized relationship.
Anil Agarwal
ViaSat Inc.
Germantown, MD


From: end2end-interest-bounces at postel.org on behalf of Detlef Bosau
Sent: Sun 12/24/2006 5:52 PM
To: end2end-interest at postel.org
Cc: Michael Kochte; Daniel Minder; Martin Reisslein; Frank Duerr
Subject: Re: [e2e] How shall we deal with servers with different bandwidths and a common bottleneck to the client?

Detlef Bosau wrote: 

	I apologize if this is a stupid question.

I admit, it was a very stupid question :-)

Because my ASCII arts were terrible, I add a nam-screenshot here (hopefully, I´m allowed to send this mail in HTML):


0-2: 100 Mbit/s, 1 ms
1-2: 10 Mbit/s, 1 ms
2-3: 100 Mbit/s, 10 ms
3-4: 10 MBit/s, 1 ms

Sender: 0,1
Receiver: 4

	My feeling is that the flow server 1 - client should achieve more throughput than the other. From what I see in a simulation, the ratio in the secnario above is roughly 2:1. (I did this simulation this evening, so admittedly there might be errors.) 
	Is there a general opinion how the throughput ratio should be in a scenario like this?

Obviously, my feeling is wrong. Perhaps, I should consider reality more than my feelings :-[ 

AIMD distributes  the path capacity (i.e. "memory") in equal shares.  So, in case of two flows sharing a path, each flow is assigned an equal window. Hence, the rates should be equal as they depend on the window (= estimate of path capaciyt) and RTT. (Well known rule of thumb: rate = cwnd/RTT)

However, the scenario depicted above is an interesting one: Apparently, the sender at node 1 is paced "ideally" by the link 1-2. So, packets sent by node 0 are dropped at node 3 unuduly often.  In consequence, the flow from 0 to 4 hardly achieves any throughput whereas the flow from 1 to 4 runs as if there was no competitor.

If the bandwdith 1-2 is changed a little bit, the bevaviour returns to the expected one.

I´m still not quite sure whether this behaviour matches reality or whether it is an NS2 artifact.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.postel.org/pipermail/end2end-interest/attachments/20061225/1d136a43/attachment-0001.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bild.png
Type: image/png
Size: 21858 bytes
Desc: bild.png
Url : http://mailman.postel.org/pipermail/end2end-interest/attachments/20061225/1d136a43/bild-0001.png

More information about the end2end-interest mailing list