GSoC TCP Prague Weekly update

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

GSoC TCP Prague Weekly update

Deepak K
Hi everyone,

In the past week, after a discussion with mentors on the pacing
structure, I have added basic pacing support for TCP Prague. This
allows Prague to adjust its pacing rate based on its current state
(slow start/congestion avoidance).

This week, I am aligning the pacing structure and the corresponding
method calls similar to those in Linux. I will also start putting my
ideas for tests (related to pacing) in a document.
The updated wiki page has more details:
https://www.nsnam.org/wiki/GSOC2020Prague#Weekly_Reports

Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: GSoC TCP Prague Weekly update

Deepak K
Hi,

Updates for my progress in week 2:
- Aligned ns-3 Prague with Linux by enabling TcpPrague::CongControl
- Designed a test suite TcpPacingTest to check TCP packet pacing rate
during Slow Start and Congestion Avoidance.
- Rebased Joakim Misund's work on ns-3 Prague to latest ns-3-dev.
- Generated an MR [1] to add support for TCP Prague and pacing, along
with the above test suite.

In the coming week, I plan to obtain graphs for pacing in Linux and
compare them with ns-3. Along with this, I will start putting up an
implementation plan for RTT Independence in ns-3 Prague.

[1] https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/331

Thanks.

On Mon, Jun 8, 2020 at 10:55 PM Deepak K <[hidden email]> wrote:

>
> Hi everyone,
>
> In the past week, after a discussion with mentors on the pacing
> structure, I have added basic pacing support for TCP Prague. This
> allows Prague to adjust its pacing rate based on its current state
> (slow start/congestion avoidance).
>
> This week, I am aligning the pacing structure and the corresponding
> method calls similar to those in Linux. I will also start putting my
> ideas for tests (related to pacing) in a document.
> The updated wiki page has more details:
> https://www.nsnam.org/wiki/GSOC2020Prague#Weekly_Reports
>
> Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: GSoC TCP Prague Weekly update

Deepak K
Hi,

Updates for my progress so far:

- Worked on fixing a few issues with the MR generated in Week 2.
- Went through the code for RTT Independence in Linux Prague, and
gathered a few notes in this document[1] (work in progress).
- Added basic code to enable different scaling heuristics (similar to Linux).
    RTT_CONTROL_NONE,      : No RTT Independence
    RTT_CONTROL_RATE,        : Flows with e2e RTT < target try to
achieve same throughput
    RTT_CONTROL_SCALABLE,  : At low RTT, trade throughput balance for
same marks/RTT
    RTT_CONTROL_ADDITIVE   : Behave as a flow operating with extra target RTT

- The initial commit can be found at [2].
For the coming week, I need to read up more about RTT independence and
work on writing documentation to the MR generated in week 2. I should
also continue where I left off, to obtain graphs for pacing.

Thanks.

[1] https://docs.google.com/document/d/1uSFm7tdjHJcvLan7vKVtjtj0ZlrwSmoaw_O2-n-qd20/edit?usp=sharing
[2] https://gitlab.com/deepakkavoor/ns-3-dev/-/commit/d10dcdcd8c7697d0e6f223167b673a79bcc70542

On Mon, Jun 15, 2020 at 10:59 AM Deepak K <[hidden email]> wrote:

>
> Hi,
>
> Updates for my progress in week 2:
> - Aligned ns-3 Prague with Linux by enabling TcpPrague::CongControl
> - Designed a test suite TcpPacingTest to check TCP packet pacing rate
> during Slow Start and Congestion Avoidance.
> - Rebased Joakim Misund's work on ns-3 Prague to latest ns-3-dev.
> - Generated an MR [1] to add support for TCP Prague and pacing, along
> with the above test suite.
>
> In the coming week, I plan to obtain graphs for pacing in Linux and
> compare them with ns-3. Along with this, I will start putting up an
> implementation plan for RTT Independence in ns-3 Prague.
>
> [1] https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/331
>
> Thanks.
>
> On Mon, Jun 8, 2020 at 10:55 PM Deepak K <[hidden email]> wrote:
> >
> > Hi everyone,
> >
> > In the past week, after a discussion with mentors on the pacing
> > structure, I have added basic pacing support for TCP Prague. This
> > allows Prague to adjust its pacing rate based on its current state
> > (slow start/congestion avoidance).
> >
> > This week, I am aligning the pacing structure and the corresponding
> > method calls similar to those in Linux. I will also start putting my
> > ideas for tests (related to pacing) in a document.
> > The updated wiki page has more details:
> > https://www.nsnam.org/wiki/GSOC2020Prague#Weekly_Reports
> >
> > Thanks.
Reply | Threaded
Open this post in threaded view
|

Re: GSoC TCP Prague Weekly update

Deepak K
Hi,

Updates for previous week:
- I divided the merge requests to now separately add support for dynamic
pacing (!339) and TCP Prague (!331)
https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/339
https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/33
<https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/339>1

- I ran experiments using Linux namespaces to check the behaviour of TCP
flows when dynamic pacing is enabled
We compared the plots from Linux and ns-3 for congestion window and pacing
rate, and observed significant differences; we are currently trying to
identify why linux has more frequent cwnd oscillations compared to ns-3

Summary of work done in phase 1:
- Integrated dynamic pacing rate with ns-3 Congestion controls
- Added a test suite to check that packets follow the specified pacing rate
during SS and CA
- Had discussions with the L4S team about RTT independence and started with
a baseline implementation

Tasks left to be done from Phase 1:
Align the ns-3 and Linux plots when this pacing feature is enabled

Other ongoing tasks related to TCP Prague:
- Add documentation for Joakim Misund's paced chirping implementation
- Work on improving the rebased code for ECN++ and AccECN with the goal of
merging them into ns-3 mainline soon
- Try to separate Joakim Misund's paced chirping implementation from ns-3
congestion-ops.

Thanks.

On Thu, Jun 25, 2020 at 5:26 PM Deepak K <[hidden email]> wrote:

> Hi,
>
> Updates for my progress so far:
>
> - Worked on fixing a few issues with the MR generated in Week 2.
> - Went through the code for RTT Independence in Linux Prague, and
> gathered a few notes in this document[1] (work in progress).
> - Added basic code to enable different scaling heuristics (similar to
> Linux).
>     RTT_CONTROL_NONE,      : No RTT Independence
>     RTT_CONTROL_RATE,        : Flows with e2e RTT < target try to
> achieve same throughput
>     RTT_CONTROL_SCALABLE,  : At low RTT, trade throughput balance for
> same marks/RTT
>     RTT_CONTROL_ADDITIVE   : Behave as a flow operating with extra target
> RTT
>
> - The initial commit can be found at [2].
> For the coming week, I need to read up more about RTT independence and
> work on writing documentation to the MR generated in week 2. I should
> also continue where I left off, to obtain graphs for pacing.
>
> Thanks.
>
> [1]
> https://docs.google.com/document/d/1uSFm7tdjHJcvLan7vKVtjtj0ZlrwSmoaw_O2-n-qd20/edit?usp=sharing
> [2]
> https://gitlab.com/deepakkavoor/ns-3-dev/-/commit/d10dcdcd8c7697d0e6f223167b673a79bcc70542
>
> On Mon, Jun 15, 2020 at 10:59 AM Deepak K <[hidden email]>
> wrote:
> >
> > Hi,
> >
> > Updates for my progress in week 2:
> > - Aligned ns-3 Prague with Linux by enabling TcpPrague::CongControl
> > - Designed a test suite TcpPacingTest to check TCP packet pacing rate
> > during Slow Start and Congestion Avoidance.
> > - Rebased Joakim Misund's work on ns-3 Prague to latest ns-3-dev.
> > - Generated an MR [1] to add support for TCP Prague and pacing, along
> > with the above test suite.
> >
> > In the coming week, I plan to obtain graphs for pacing in Linux and
> > compare them with ns-3. Along with this, I will start putting up an
> > implementation plan for RTT Independence in ns-3 Prague.
> >
> > [1] https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/331
> >
> > Thanks.
> >
> > On Mon, Jun 8, 2020 at 10:55 PM Deepak K <[hidden email]>
> wrote:
> > >
> > > Hi everyone,
> > >
> > > In the past week, after a discussion with mentors on the pacing
> > > structure, I have added basic pacing support for TCP Prague. This
> > > allows Prague to adjust its pacing rate based on its current state
> > > (slow start/congestion avoidance).
> > >
> > > This week, I am aligning the pacing structure and the corresponding
> > > method calls similar to those in Linux. I will also start putting my
> > > ideas for tests (related to pacing) in a document.
> > > The updated wiki page has more details:
> > > https://www.nsnam.org/wiki/GSOC2020Prague#Weekly_Reports
> > >
> > > Thanks.
>
Reply | Threaded
Open this post in threaded view
|

Re: GSoC TCP Prague Weekly update

Deepak K
Hi,

During the past week, I ran Wireshark experiments in Linux namespaces and
we confirmed that if a TCP sender in Linux has two or more eligible packets
to send, the first two are sent back-to-back, and the rest are paced out.

I also added additional code to the pacing test suite )to check for
consistency in pacing the TCP initial window) and updated the current
pacing example file. I am currently working on obtaining similar results in
ns-3 for the topology specified in the following paper:
https://homes.cs.washington.edu/~tom/pubs/pacing.pdf

Thanks.

On Thu, Jul 2, 2020 at 9:21 AM Deepak K <[hidden email]> wrote:

> Hi,
>
> Updates for previous week:
> - I divided the merge requests to now separately add support for dynamic
> pacing (!339) and TCP Prague (!331)
> https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/339
> https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/33
> <https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/339>1
>
> - I ran experiments using Linux namespaces to check the behaviour of TCP
> flows when dynamic pacing is enabled
> We compared the plots from Linux and ns-3 for congestion window and pacing
> rate, and observed significant differences; we are currently trying to
> identify why linux has more frequent cwnd oscillations compared to ns-3
>
> Summary of work done in phase 1:
> - Integrated dynamic pacing rate with ns-3 Congestion controls
> - Added a test suite to check that packets follow the specified pacing
> rate during SS and CA
> - Had discussions with the L4S team about RTT independence and started
> with a baseline implementation
>
> Tasks left to be done from Phase 1:
> Align the ns-3 and Linux plots when this pacing feature is enabled
>
> Other ongoing tasks related to TCP Prague:
> - Add documentation for Joakim Misund's paced chirping implementation
> - Work on improving the rebased code for ECN++ and AccECN with the goal of
> merging them into ns-3 mainline soon
> - Try to separate Joakim Misund's paced chirping implementation from ns-3
> congestion-ops.
>
> Thanks.
>
> On Thu, Jun 25, 2020 at 5:26 PM Deepak K <[hidden email]> wrote:
>
>> Hi,
>>
>> Updates for my progress so far:
>>
>> - Worked on fixing a few issues with the MR generated in Week 2.
>> - Went through the code for RTT Independence in Linux Prague, and
>> gathered a few notes in this document[1] (work in progress).
>> - Added basic code to enable different scaling heuristics (similar to
>> Linux).
>>     RTT_CONTROL_NONE,      : No RTT Independence
>>     RTT_CONTROL_RATE,        : Flows with e2e RTT < target try to
>> achieve same throughput
>>     RTT_CONTROL_SCALABLE,  : At low RTT, trade throughput balance for
>> same marks/RTT
>>     RTT_CONTROL_ADDITIVE   : Behave as a flow operating with extra target
>> RTT
>>
>> - The initial commit can be found at [2].
>> For the coming week, I need to read up more about RTT independence and
>> work on writing documentation to the MR generated in week 2. I should
>> also continue where I left off, to obtain graphs for pacing.
>>
>> Thanks.
>>
>> [1]
>> https://docs.google.com/document/d/1uSFm7tdjHJcvLan7vKVtjtj0ZlrwSmoaw_O2-n-qd20/edit?usp=sharing
>> [2]
>> https://gitlab.com/deepakkavoor/ns-3-dev/-/commit/d10dcdcd8c7697d0e6f223167b673a79bcc70542
>>
>> On Mon, Jun 15, 2020 at 10:59 AM Deepak K <[hidden email]>
>> wrote:
>> >
>> > Hi,
>> >
>> > Updates for my progress in week 2:
>> > - Aligned ns-3 Prague with Linux by enabling TcpPrague::CongControl
>> > - Designed a test suite TcpPacingTest to check TCP packet pacing rate
>> > during Slow Start and Congestion Avoidance.
>> > - Rebased Joakim Misund's work on ns-3 Prague to latest ns-3-dev.
>> > - Generated an MR [1] to add support for TCP Prague and pacing, along
>> > with the above test suite.
>> >
>> > In the coming week, I plan to obtain graphs for pacing in Linux and
>> > compare them with ns-3. Along with this, I will start putting up an
>> > implementation plan for RTT Independence in ns-3 Prague.
>> >
>> > [1] https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/331
>> >
>> > Thanks.
>> >
>> > On Mon, Jun 8, 2020 at 10:55 PM Deepak K <[hidden email]>
>> wrote:
>> > >
>> > > Hi everyone,
>> > >
>> > > In the past week, after a discussion with mentors on the pacing
>> > > structure, I have added basic pacing support for TCP Prague. This
>> > > allows Prague to adjust its pacing rate based on its current state
>> > > (slow start/congestion avoidance).
>> > >
>> > > This week, I am aligning the pacing structure and the corresponding
>> > > method calls similar to those in Linux. I will also start putting my
>> > > ideas for tests (related to pacing) in a document.
>> > > The updated wiki page has more details:
>> > > https://www.nsnam.org/wiki/GSOC2020Prague#Weekly_Reports
>> > >
>> > > Thanks.
>>
>
Reply | Threaded
Open this post in threaded view
|

Re: GSoC TCP Prague Weekly update

Deepak K
Updates for work so far:

After trying out many configurations, we couldn't observe significant
improvements in throughput when pacing was enabled. The improvement was
only minor, and we hope that the effects due to pacing are more apparent
when models like TCP Prague and ACK filtering are integrated into ns-3 in
the future.
I finished documenting the example and work related to pacing, and with
this, I believe that Phase 1 - which was primarily supposed to handle the
pacing aspect - is complete.

I had already started working on the goal of the next phase a few weeks
back: RTT Independence.

During the past week, I continued where I left off and added the rest of
the related functions as per the Linux implementation. You can find my
commits here:
https://gitlab.com/deepakkavoor/ns-3-dev/-/commits/prague-rtt-indep

The next task would be to go through the ns-3 and Linux codes for RTT
independence once again, and make sure that the flow of logic is the same
in both.
After this, I plan to move on with writing test suites for the same.

Thanks.

On Thu, Jul 9, 2020 at 8:34 PM Deepak K <[hidden email]> wrote:

> Hi,
>
> During the past week, I ran Wireshark experiments in Linux namespaces and
> we confirmed that if a TCP sender in Linux has two or more eligible packets
> to send, the first two are sent back-to-back, and the rest are paced out.
>
> I also added additional code to the pacing test suite )to check for
> consistency in pacing the TCP initial window) and updated the current
> pacing example file. I am currently working on obtaining similar results in
> ns-3 for the topology specified in the following paper:
> https://homes.cs.washington.edu/~tom/pubs/pacing.pdf
>
> Thanks.
>
> On Thu, Jul 2, 2020 at 9:21 AM Deepak K <[hidden email]> wrote:
>
>> Hi,
>>
>> Updates for previous week:
>> - I divided the merge requests to now separately add support for dynamic
>> pacing (!339) and TCP Prague (!331)
>> https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/339
>> https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/33
>> <https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/339>1
>>
>> - I ran experiments using Linux namespaces to check the behaviour of TCP
>> flows when dynamic pacing is enabled
>> We compared the plots from Linux and ns-3 for congestion window and
>> pacing rate, and observed significant differences; we are currently trying
>> to identify why linux has more frequent cwnd oscillations compared to ns-3
>>
>> Summary of work done in phase 1:
>> - Integrated dynamic pacing rate with ns-3 Congestion controls
>> - Added a test suite to check that packets follow the specified pacing
>> rate during SS and CA
>> - Had discussions with the L4S team about RTT independence and started
>> with a baseline implementation
>>
>> Tasks left to be done from Phase 1:
>> Align the ns-3 and Linux plots when this pacing feature is enabled
>>
>> Other ongoing tasks related to TCP Prague:
>> - Add documentation for Joakim Misund's paced chirping implementation
>> - Work on improving the rebased code for ECN++ and AccECN with the goal
>> of merging them into ns-3 mainline soon
>> - Try to separate Joakim Misund's paced chirping implementation from ns-3
>> congestion-ops.
>>
>> Thanks.
>>
>> On Thu, Jun 25, 2020 at 5:26 PM Deepak K <[hidden email]>
>> wrote:
>>
>>> Hi,
>>>
>>> Updates for my progress so far:
>>>
>>> - Worked on fixing a few issues with the MR generated in Week 2.
>>> - Went through the code for RTT Independence in Linux Prague, and
>>> gathered a few notes in this document[1] (work in progress).
>>> - Added basic code to enable different scaling heuristics (similar to
>>> Linux).
>>>     RTT_CONTROL_NONE,      : No RTT Independence
>>>     RTT_CONTROL_RATE,        : Flows with e2e RTT < target try to
>>> achieve same throughput
>>>     RTT_CONTROL_SCALABLE,  : At low RTT, trade throughput balance for
>>> same marks/RTT
>>>     RTT_CONTROL_ADDITIVE   : Behave as a flow operating with extra
>>> target RTT
>>>
>>> - The initial commit can be found at [2].
>>> For the coming week, I need to read up more about RTT independence and
>>> work on writing documentation to the MR generated in week 2. I should
>>> also continue where I left off, to obtain graphs for pacing.
>>>
>>> Thanks.
>>>
>>> [1]
>>> https://docs.google.com/document/d/1uSFm7tdjHJcvLan7vKVtjtj0ZlrwSmoaw_O2-n-qd20/edit?usp=sharing
>>> [2]
>>> https://gitlab.com/deepakkavoor/ns-3-dev/-/commit/d10dcdcd8c7697d0e6f223167b673a79bcc70542
>>>
>>> On Mon, Jun 15, 2020 at 10:59 AM Deepak K <[hidden email]>
>>> wrote:
>>> >
>>> > Hi,
>>> >
>>> > Updates for my progress in week 2:
>>> > - Aligned ns-3 Prague with Linux by enabling TcpPrague::CongControl
>>> > - Designed a test suite TcpPacingTest to check TCP packet pacing rate
>>> > during Slow Start and Congestion Avoidance.
>>> > - Rebased Joakim Misund's work on ns-3 Prague to latest ns-3-dev.
>>> > - Generated an MR [1] to add support for TCP Prague and pacing, along
>>> > with the above test suite.
>>> >
>>> > In the coming week, I plan to obtain graphs for pacing in Linux and
>>> > compare them with ns-3. Along with this, I will start putting up an
>>> > implementation plan for RTT Independence in ns-3 Prague.
>>> >
>>> > [1] https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/331
>>> >
>>> > Thanks.
>>> >
>>> > On Mon, Jun 8, 2020 at 10:55 PM Deepak K <[hidden email]>
>>> wrote:
>>> > >
>>> > > Hi everyone,
>>> > >
>>> > > In the past week, after a discussion with mentors on the pacing
>>> > > structure, I have added basic pacing support for TCP Prague. This
>>> > > allows Prague to adjust its pacing rate based on its current state
>>> > > (slow start/congestion avoidance).
>>> > >
>>> > > This week, I am aligning the pacing structure and the corresponding
>>> > > method calls similar to those in Linux. I will also start putting my
>>> > > ideas for tests (related to pacing) in a document.
>>> > > The updated wiki page has more details:
>>> > > https://www.nsnam.org/wiki/GSOC2020Prague#Weekly_Reports
>>> > >
>>> > > Thanks.
>>>
>>
Reply | Threaded
Open this post in threaded view
|

Re: GSoC TCP Prague Weekly update

Deepak K
Hi,

The following aspects were addressed during the past week:
- Improved and refactored the code for Prague RTT independence.
- Added unit tests to check correct increment of Congestion window for
different RTT scaling heuristics.
- Fixed bugs in ECN++ and AccECN code that were causing DCTCP tests to fail.
Summary of commits:
https://gitlab.com/deepakkavoor/ns-3-dev/-/commits/hackathon-prague

I am currently trying to run experiments in Linux with the goal of
identifying differences between the behaviour of ns-3 and Linux
implementations of Prague.

The objective of Phase 2 was to implement and test RTT independence.
During the past month, I have focused on documenting the work done on
pacing during June, and on implementing and writing unit tests for RTT
independence. Along with this, I did some minor refactoring of the
ECN++ and AccECN codes. For the next month, we plan to focus more
towards aligning ns-3 Prague with Linux, modularizing the existing
Paced Chirping code, and addressing the state of ECN++ and AccECN
implementations.

Thanks


On Fri, Jul 17, 2020 at 12:04 PM Deepak K <[hidden email]> wrote:

>
> Updates for work so far:
>
> After trying out many configurations, we couldn't observe significant improvements in throughput when pacing was enabled. The improvement was only minor, and we hope that the effects due to pacing are more apparent when models like TCP Prague and ACK filtering are integrated into ns-3 in the future.
> I finished documenting the example and work related to pacing, and with this, I believe that Phase 1 - which was primarily supposed to handle the pacing aspect - is complete.
>
> I had already started working on the goal of the next phase a few weeks back: RTT Independence.
>
> During the past week, I continued where I left off and added the rest of the related functions as per the Linux implementation. You can find my commits here:
> https://gitlab.com/deepakkavoor/ns-3-dev/-/commits/prague-rtt-indep
>
> The next task would be to go through the ns-3 and Linux codes for RTT independence once again, and make sure that the flow of logic is the same in both.
> After this, I plan to move on with writing test suites for the same.
>
> Thanks.
>
> On Thu, Jul 9, 2020 at 8:34 PM Deepak K <[hidden email]> wrote:
>>
>> Hi,
>>
>> During the past week, I ran Wireshark experiments in Linux namespaces and we confirmed that if a TCP sender in Linux has two or more eligible packets to send, the first two are sent back-to-back, and the rest are paced out.
>>
>> I also added additional code to the pacing test suite )to check for consistency in pacing the TCP initial window) and updated the current pacing example file. I am currently working on obtaining similar results in ns-3 for the topology specified in the following paper:
>> https://homes.cs.washington.edu/~tom/pubs/pacing.pdf
>>
>> Thanks.
>>
>> On Thu, Jul 2, 2020 at 9:21 AM Deepak K <[hidden email]> wrote:
>>>
>>> Hi,
>>>
>>> Updates for previous week:
>>> - I divided the merge requests to now separately add support for dynamic pacing (!339) and TCP Prague (!331)
>>> https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/339
>>> https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/331
>>>
>>> - I ran experiments using Linux namespaces to check the behaviour of TCP flows when dynamic pacing is enabled
>>> We compared the plots from Linux and ns-3 for congestion window and pacing rate, and observed significant differences; we are currently trying to identify why linux has more frequent cwnd oscillations compared to ns-3
>>>
>>> Summary of work done in phase 1:
>>> - Integrated dynamic pacing rate with ns-3 Congestion controls
>>> - Added a test suite to check that packets follow the specified pacing rate during SS and CA
>>> - Had discussions with the L4S team about RTT independence and started with a baseline implementation
>>>
>>> Tasks left to be done from Phase 1:
>>> Align the ns-3 and Linux plots when this pacing feature is enabled
>>>
>>> Other ongoing tasks related to TCP Prague:
>>> - Add documentation for Joakim Misund's paced chirping implementation
>>> - Work on improving the rebased code for ECN++ and AccECN with the goal of merging them into ns-3 mainline soon
>>> - Try to separate Joakim Misund's paced chirping implementation from ns-3 congestion-ops.
>>>
>>> Thanks.
>>>
>>> On Thu, Jun 25, 2020 at 5:26 PM Deepak K <[hidden email]> wrote:
>>>>
>>>> Hi,
>>>>
>>>> Updates for my progress so far:
>>>>
>>>> - Worked on fixing a few issues with the MR generated in Week 2.
>>>> - Went through the code for RTT Independence in Linux Prague, and
>>>> gathered a few notes in this document[1] (work in progress).
>>>> - Added basic code to enable different scaling heuristics (similar to Linux).
>>>>     RTT_CONTROL_NONE,      : No RTT Independence
>>>>     RTT_CONTROL_RATE,        : Flows with e2e RTT < target try to
>>>> achieve same throughput
>>>>     RTT_CONTROL_SCALABLE,  : At low RTT, trade throughput balance for
>>>> same marks/RTT
>>>>     RTT_CONTROL_ADDITIVE   : Behave as a flow operating with extra target RTT
>>>>
>>>> - The initial commit can be found at [2].
>>>> For the coming week, I need to read up more about RTT independence and
>>>> work on writing documentation to the MR generated in week 2. I should
>>>> also continue where I left off, to obtain graphs for pacing.
>>>>
>>>> Thanks.
>>>>
>>>> [1] https://docs.google.com/document/d/1uSFm7tdjHJcvLan7vKVtjtj0ZlrwSmoaw_O2-n-qd20/edit?usp=sharing
>>>> [2] https://gitlab.com/deepakkavoor/ns-3-dev/-/commit/d10dcdcd8c7697d0e6f223167b673a79bcc70542
>>>>
>>>> On Mon, Jun 15, 2020 at 10:59 AM Deepak K <[hidden email]> wrote:
>>>> >
>>>> > Hi,
>>>> >
>>>> > Updates for my progress in week 2:
>>>> > - Aligned ns-3 Prague with Linux by enabling TcpPrague::CongControl
>>>> > - Designed a test suite TcpPacingTest to check TCP packet pacing rate
>>>> > during Slow Start and Congestion Avoidance.
>>>> > - Rebased Joakim Misund's work on ns-3 Prague to latest ns-3-dev.
>>>> > - Generated an MR [1] to add support for TCP Prague and pacing, along
>>>> > with the above test suite.
>>>> >
>>>> > In the coming week, I plan to obtain graphs for pacing in Linux and
>>>> > compare them with ns-3. Along with this, I will start putting up an
>>>> > implementation plan for RTT Independence in ns-3 Prague.
>>>> >
>>>> > [1] https://gitlab.com/nsnam/ns-3-dev/-/merge_requests/331
>>>> >
>>>> > Thanks.
>>>> >
>>>> > On Mon, Jun 8, 2020 at 10:55 PM Deepak K <[hidden email]> wrote:
>>>> > >
>>>> > > Hi everyone,
>>>> > >
>>>> > > In the past week, after a discussion with mentors on the pacing
>>>> > > structure, I have added basic pacing support for TCP Prague. This
>>>> > > allows Prague to adjust its pacing rate based on its current state
>>>> > > (slow start/congestion avoidance).
>>>> > >
>>>> > > This week, I am aligning the pacing structure and the corresponding
>>>> > > method calls similar to those in Linux. I will also start putting my
>>>> > > ideas for tests (related to pacing) in a document.
>>>> > > The updated wiki page has more details:
>>>> > > https://www.nsnam.org/wiki/GSOC2020Prague#Weekly_Reports
>>>> > >
>>>> > > Thanks.