Difference between revisions of "GSOC2020AQM"

From Nsnam
Jump to: navigation, search
(Week 1: 1st June - 7th June)
m (Project Overview)
Line 5: Line 5:
 
= Project Overview =
 
= Project Overview =
  
* '''Project Name:''' SCE AQMs and TCP along with CNQ-CodelAF and LFQ
+
* '''Project Name:''' SCE AQMs and TCP along with CNQ-CoDelAF and LFQ
  
 
* '''Student:''' [mailto:bhaskar.k7920@gmail.com Bhaskar Kataria]
 
* '''Student:''' [mailto:bhaskar.k7920@gmail.com Bhaskar Kataria]

Revision as of 16:04, 12 June 2020

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

Back to GSoC 2020 projects

Project Overview

  • Project Name: SCE AQMs and TCP along with CNQ-CoDelAF and LFQ
  • Student: Bhaskar Kataria
  • Mentors: Tom Henderson, Vivek Jain, Ankit Deepak, Mohit P. Tahiliani
  • Project Goals: The project aims to implement the Some Congestion Experienced (SCE) marking feature which uses ECT(1) codepoint of Explicit Congestion Notification (ECN) to deliver the earlier notification of congestion than the Congestion Experienced (CE) mark along with the TCP which responds appropriately to the SCE feedback. The project also intends to implement Controlled Delay Approximate Fairness (CoDelAF) AQM with Cheap Nasty Queueing (CNQ) and Lightweight Fair Queueing (LFQ) with SCE support. As simulation models already exist for many of the Low Latency, Low Loss, Scalable throughput (L4S) components, the project ultimately aims to provide the feature to experiment with SCE and L4S to the ns-3 community.
  • Repository: https://gitlab.com/bhaskar792/ns-3-dev
  • About Me: I am a second-year Computer Science and Engineering undergraduate student at National Institute of Technology Karnataka, Surathkal, India. I have deep interests in networking, systems, and security. I have experience with C, C++, Python, and tools like Wireshark, GDB.

Milestones and Deliverables

The whole GSoC period is divided into 3 phases. The deliverables of each phase are mentioned below:

Phase 1

  • Add L4S to ns-3 FqCoDel: ECT(1) traffic gets marked at CE_threshold, ECT(0) is marked at the normal CoDel threshold. For now, avoid the possibility of hash collisions causing both types to share a flow queue.
  • Add FQ scheduling to IETF dual queue model

Phase 2

  • CodelAF draft-morton-tsvwg-codel-approx-fair-01

Phase 3

  • Support TCP Prague with overload signal (Jake Holland's proposal)

Weekly Reports

Community Bonding Period

  • Started with wiki page for the project.
  • Generated merge request CoDel and FqCoDelfor adding the test support for ECN operation supporting the existing ECN patch for CoDel and FqCoDel queue disc. merged into the mainline of ns-3.
  • Generated merge request COBALT for adding test support for ECN operation for COBALT queue disc.
  • Generated merge request typedef to include typedef for int64_t and uint64_t in the core.
  • Generated merge request PIE for some work done before the community bonding period started and completed during community bonding period which adds the test support to the existing patch that aligns PIE queue disc with RFC 8033 and Linux

Week 1: 1st June - 7th June

  • Worked on proposing the implementation of L4S mode for FqCoDel and made modifications based on suggestions. Details can be found in the doc
  • Discussed about the current marking implementation which can mark the packet twice. Details can be found on the GitLab issue

Week 2: 8th June - 14th June

  • to be added

Week 3: 15th June - 21st June

  • to be added

Week 4: 22nd June - 28th June

  • to be added

Week 5: 29th June - 5th July

  • to be added

Week 6: 6th July - 12th July

  • to be added

Week 7: 13th July - 19th July

  • to be added

Week 8: 20th July - 26th July

  • to be added

Week 9: 27th July - 2nd August

  • to be added

Week 10: 3rd August - 9th August

  • to be added

Week 11: 10th August - 16th August

  • to be added

Week 12: 17th August - 23rd August

  • to be added