[e2e] Congestion control decision frequency + scaling of related signaling
michael at tk.uni-linz.ac.at
Thu Jul 5 22:21:29 PDT 2001
> > 1.) Shouldn't the optimal decision frequency for congestion control
> > generally be 2 RTT instead of 1 RTT?
> Define decision frequency :-)
> at time T (zero) -
> you 'see' a picture of network state
> out to the endpoint, 1 RTT into the past
> you act on that picture (proactive) to
> effect a change
> at time T + 1 RTT -
> you 'see' 1 RTT into the past again, this time
> seeing everyone else's state _at the time
> you make your action decision_.
> you don't see the effect of your actions just yet,
> but you can update your actions if desired
> at time T + 2 RTTs -
> you see the effect of your actions (2 RTTs
> after you make them).
> I.e., you're always 1 RTT out of synch with network state, and
> 2 RTTs out of synch with seeing everyone else's actions on your
> You still have to _ACT_ at time T+1RTT to see the effect
> of your actions at time T+2RTTs. There are decisions at
> time T+1 and at time T+2. At any given T,
> you see network state 1 RTT into the past
> you see the result of your behavior 2 RTTs into the past
> As a result, you should wait 1 RTT to act on network
> state alone (loss, router congestion that you think you
> did not create, route changes, etc), and 2 RTTs to
> correct your own behavior (if you think you caused the problem).
> The decision frequency thus should depend on what you're
> reacting to...
That definitely made it clear for me. Joe, thanks a lot for this
explanation - things are sometimes simpler than they seem :)
When I asked, I had the somewhat unreal homogeneous RTT case in
mind - because, if everyone acted each RTT (and not every other
RTT), each sender would react to the network state, not taking
its own behaviour into account. So it seems as though acting every
RTT would not scale.
But that's probably different for the real-life heterogeneous RTT
case, where you have a mixture of senders acting at various
RTT's... hmmmm... now that I think of it .... is it really?
Does acting every RTT scale? Wouldn't it be generally better if
all TCP's would correct their rates every two RTT's?
More information about the end2end-interest