Week 10 Update: GSoC 2017 Project on TCP Prague

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Week 10 Update: GSoC 2017 Project on TCP Prague

Shravya Ks
Hello everyone,

This is the Week 10 update for TCP Prague Project:

Work done in past week:

- Designed and added test suite called
dual-aqm-pi-square-queue-disc-test-suite.cc
to verify the functionality of DualAQM framework.
- Extended ECN to support DualQueue Framework.
- Designed and added a test suite called tcp-dual-queue-test-suite.cc to
check the codepoints functionality for Dual Queue

Work planned for next week :
- Write examples for  dual-queue framework
- Address reviews given by Tom Sir for DCTCP code.

The entire project can be tracked through the github repository [1], and
details can be found in the project wiki [2].

Any suggestions / feedback would be much appreciated.

Regards,
Shravya

[1] https://github.com/shravya-ks/ns-3-tcp-prague

[2] https://www.nsnam.org/wiki/GSOC2017Tcp
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Week 10 Update: GSoC 2017 Project on TCP Prague

Shravya Ks
Hello Morteza,

Thank you for your feedback. Sorry for the delay in reply.

 (1) If I understand your code correctly it seems there is an inconsistency
between the lower bound value of the congestion window (*cwnd*) and the
slow start threshold (*ssthresh*) in your current code; the *cwnd* is
allowed to be set to one segment (in the ReduceCwnd function) while the
*ssthresh* is capped with two segments (which is the default behaviour in
NewReno). This way, DCTCP may go to slow start phase unnecessarily once it
reaches to one segment due to multiple cwnd reductions)

Yes you are right, I will set cwnd to 2 segments

(2) I guess the *ssthresh* should be updated after the *cwnd* is reduced
due to an ECN marked packet received in a window of data. This allows the
DCTCP sender to enter the congestion avoidance phase (not entering the slow
start phase) once it gets an ECN marked packet from the receiver.

Yes you are right, I will correct this.


Regards,
Shravya




On Sat, Aug 19, 2017 at 7:46 AM, Shravya Ks <[hidden email]> wrote:

> Hello Morteza,
>
> Thank you for your feedback. Sorry for the delay in reply.
>
>  (1) If I understand your code correctly it seems there is an
> inconsistency between the lower bound value of the congestion window (
> *cwnd*) and the slow start threshold (*ssthresh*) in your current code;
> the *cwnd* is allowed to be set to one segment (in the ReduceCwnd
> function) while the *ssthresh* is capped with two segments (which is the
> default behaviour in NewReno). This way, DCTCP may go to slow start phase
> unnecessarily once it reaches to one segment due to multiple cwnd
> reductions)
>
> Yes you are right, I will set cwnd to 2 segments
>
> (2) I guess the *ssthresh* should be updated after the *cwnd* is reduced
> due to an ECN marked packet received in a window of data. This allows the
> DCTCP sender to enter the congestion avoidance phase (not entering the slow
> start phase) once it gets an ECN marked packet from the receiver.
>
> Yes you are right, I will correct this.
>
>
> Regards,
> Shravya
>
>
>
>
>
Loading...