[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
> 
> 
> 
> 
>