<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
Lachlan -<div><br><div><div>On Feb 18, 2008, at 8:17 PM, Lachlan Andrew wrote:</div><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Greetings Sally,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">On 18/02/2008, Sally Floyd <<a href="mailto:sallyfloyd@mac.com">sallyfloyd@mac.com</a>> wrote:</div> <blockquote type="cite"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">If the traffic consists instead of Poisson arrivals of "sessions",</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">each carrying a fixed amount of traffic (possibly in several</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">think/send bursts), then the amount of data sent at each RTT is</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">determined by the traffic model, independent of the actual RTTs.</div> </blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I don't understand this.<span class="Apple-converted-space"> </span>Assume Poisson arrivals of sessions, each</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">carrying a fixed amount of traffic. <span class="Apple-converted-space"> </span>The amount of data sent in</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">each RTT is determined by the end-to-end congestion control.</div> </blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Yes.<span class="Apple-converted-space"> </span>My wording was confusing.<span class="Apple-converted-space"> </span>When I said "data sent *at* each</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">RTT", I meant "data eventually sent by flows having a particular RTT",</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">not "data in a particular interval of duration one RTT".</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Each individual long-RTT flow will transmit slower, but as a result,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">there will be more of them in the system.<span class="Apple-converted-space"> </span>The total data (eventually)</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><span class="Apple-converted-space"> </span>sent<span class="Apple-converted-space"> </span>by these flows equals the sum of the file sizes which arrive,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">regardless of how slowly they are sent.<span class="Apple-converted-space"> </span>(Of course, this only applies</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">exactly if the time scale of the simulation is long compared to one</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">flow transfer time, but that is the way the real world is.)</div></blockquote><div><br class="webkit-block-placeholder"></div>Actually, the *real world* contains users whose behavior is a function</div><div>of congestion and download times experienced so far. And in the real</div><div>world (with current TCP), users over connections with longer RTTs </div><div>have much slower download times that users over connections with </div><div>shorter RTTs. And therefore will download less. </div><div><br class="webkit-block-placeholder"></div><div>But since our simulations and experiments don't yet have user</div><div>behavior sensitive to past congestion and to past download times,</div><div>this doesn't happen in our simulations and experiments...</div><div><br></div><div><br class="webkit-block-placeholder"></div><div><blockquote type="cite"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">For</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">TCP, where in congestion avoidance a flow increases its sending</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">rate by one packet per RTT, short-RTT flows send at a much higher</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">sending rate *in packets per second* than do long-RTT flows, given</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">the same packet drop rates for the two flows.</div> </blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Agreed.<span class="Apple-converted-space"> </span>The rate that an individual long-RTT flow sends will be</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">lower, but this is balanced by the fact that it keeps sending for</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">longer.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div> <blockquote type="cite"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">At the round table, we agreed to have a traffic model of the second</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">kind.<span class="Apple-converted-space"> </span>Will that change the RTTs that we should use in the test suite?</div> </blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Figure 5 from the Internet Research Needs Better Models paper</div> </blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">...</div> <blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">I would assume that at the end of the 100 seconds, the long-RTT</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">flows had more unfilled demand that the short-RTT flows.</div> </blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Yes, the long flows will have more unfilled demand.<span class="Apple-converted-space"> </span>However, if the</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">simulation has been run long enough, the unfilled demand of the</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">remaining flows will be a small fraction of the total data.</div></blockquote><div><br class="webkit-block-placeholder"></div>Yep, if the average load is less than 100%. If the average load is</div><div>greater than 100%, then the unfilled demand increases and</div><div>increases, the longer we run the simulation, with a lot</div><div>of the unfilled demand from the longer-RTT flows.</div><div><br><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; ">This gets back to our discussion about whether it is meaningful to</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">study time-average properties of systems which haven't yet reached</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">equilibrium.<span class="Apple-converted-space"> </span>The reason for taking measurements only over the second</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">half is to avoid non-equilibrium effects, isn't it?<span class="Apple-converted-space"> </span>If so, it would</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">be consistent to wait until the system actually <span class="Apple-converted-space"> </span>has <span class="Apple-converted-space"> </span>reached</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">equilibrium.<span class="Apple-converted-space"> </span>Otherwise, time averages are misleading quantities.<span class="Apple-converted-space"> </span>Do</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">you agree?</div></blockquote><div><br></div><div>For me, the reason to take measurements over the second half</div><div>of the experiment is to avoid the odd and atypical period in the</div><div>beginning of the simulation when all flows are slow-starting at</div><div>the same time. But personally, I am perfectly happy to run</div><div>simulations for finite, specified time periods when the average</div><div>load is greater than 100%, and there is no equilibrium.</div><div>(In fact, I think it is probably quite necessary, if one wants scenarios</div><div>with higher levels of congestion over the lifetime of the simulation.)</div><div><br class="webkit-block-placeholder"></div><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; ">At a random point in the real world, the each long RTT flow will be</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">about half-finished, just like each short RTT flow will be.<span class="Apple-converted-space"> </span>If the</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">long RTT flows have more unsent data in the real world, it is because</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">there are more of them.</div></blockquote><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div> <blockquote type="cite"><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><span class="Apple-converted-space"> </span>As I recall, you wanted to revise that section before the final</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">submission anyway.</div> </blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">The Internet Research Needs Better Models paper used RTTs that</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">were uniformly distributed between 20 and 460 ms, in the</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">absence of queueing delay.<span class="Apple-converted-space"> </span>Table 1 of the PFLDnet paper</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">now gives RTTs in the range of 4 to 200 ms, in the absence</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">of queueing delay.</div> </blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Your email below suggests that it was a little more complicated than</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">uniform [20,460].<span class="Apple-converted-space"> </span>I interpreted it as saying that most of the traffic</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">was [0,220], but I could have misunderstood.<span class="Apple-converted-space"> </span>If you're happy with the</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">current text, we'll just go with it.</div></blockquote><div><br class="webkit-block-placeholder"></div><div>Ah dear, I had forgotten about that email. Yep, I am happy with the </div><div>current text.</div></div><div><br class="webkit-block-placeholder"></div><div><br></div><div>Take care,</div><div>- Sally</div><div><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div><a href="http://www.icir.org/floyd/">http://www.icir.org/floyd/</a></div></span> </div><br></div></body></html>