[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: More Cwnd Calculation & Floating Point Precision
> Hi:
> Thanks Polly for the email....
No problem.
> I tried to check whether the floating point precision is correct...
> The simulation's output is different from the manual calculation....
>
> Using this command: cwnd=[format "%.4f"....
>
> 0/cwnd=1.0000/ssthresh=15
> 1/cwnd=2.0000/ssthresh=15
> 2/cwnd=6.0000/ssthresh=15
> 3/cwnd=15.0667/ssthresh=15 --> cwnd = 15+(1/15)=15.0667
> 4/cwnd=15.1991/ssthresh=15 --> cwnd = 15.0667+(1/15.0667)+(1/15)=15.1997
So my guess is that the trace is collected periodically, not whenever cwnd
is changed.
Following the same formula: cwnd += 1/cwnd, cwnd value at the
1st ack after cwnd exceeds sshresh is 15+(1/15) = 15.0667
2nd ack after .................... is 15.0667+(1/15.0667) = 15.13307
3rd ack after .................... is 15.13307+(1/15.13307) = 15.1991
and I believe you should be able to obtain 15.7812 after a few more
iterations.
cheers,
-Polly
> 5/cwnd=15.7813/ssthresh=15 --> cwnd = 15.1997+(1/15.1997)+(1/15)=15.3322
>
> cwnd=[format "%.5f"...
>
> 4/cwnd=15.19912/ssthresh=15 --> cwnd =
> 15.0667+(1/15.0667)+(1/15)=15.19971
> 5/cwnd=15.78135/ssthresh=15 --> cwnd =
> 15.1997+(1/15.1997)+(1/15)=15.33217
>
> cwnd=[format "%.6f"...
>
> 4/cwnd=15.199119/ssthresh=15 --> cwnd =
> 15.0667+(1/15.0667)+(1/15)=15.199705
> 5/cwnd=15.781342/ssthresh=15 --> cwnd =
> 15.1997+(1/15.1997)+(1/15)=15.332216
>
> Any comments?
>
> harlisya
>
>
>
>
>