Difference between revisions of "GSOC2018AccECN ECN++"

From Nsnam
Jump to: navigation, search
(Phase 2: implement basic workflow about AccECN)
(Phase 3)
Line 30: Line 30:
 
===Phase 2: Implement basic workflow about AccECN===
 
===Phase 2: Implement basic workflow about AccECN===
  
===Phase 3===
+
===Phase 3: Implement ECN++ with AccECN feedback===
  
 
== Weekly plan ==
 
== Weekly plan ==

Revision as of 14:45, 9 May 2018

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

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

Return to GSoC 2018 Accepted Projects page.

Project overview

  • Project name: Implementation of AccECN and ECN++ in ns-3
  • Abstract: Reducing Internet Transport Latency is an interesting research topic and has gained significant attention in the recent past. Some of the promising new solutions rely on Explicit Congestion Notification (ECN) (RFC 3168) to notify TCP endpoints of congestion that may be developing in a bottleneck queue, without resorting to packet drops. As a result, there have been attempts at Internet Engineering Task Force (IETF) to extend the functionality of ECN and provide rich feedback to TCP endpoints. In this regard, Accurate ECN feedback (AccECN) and ECN++ are two active topics of discussion at IETF. This project proposal is to: extend the ECN implementation in ns-3 to support AccECN and ECN++, test the correctness of implementation and provide examples.
  • Code: TBD
  • Documentation: TBD
  • About me: I am a first-year postgraduate student in Tsinghua University. My major is computer science focusing on the research about computer network architecture mainly in routing layer and transport layer. I have attended 2017 IETF in Singapore, so I am pretty interested in implementing an IETF RFC or draft hands-on.

Technical Approach

Milestones and Deliverables

The entire GSoC period is divided into 3 phases. The deliverable at the end of each phase is as mentioned below :

Phase 1: Implement ECN++ with classic ECN feedback

Phase 2: Implement basic workflow about AccECN

Phase 3: Implement ECN++ with AccECN feedback

Weekly plan

Community bonding period (April 23 - May 14)

  • Contact mentors and update weekly plans based on suggestions.
  • Prepare wikipedia page for the project explaining the details of the project
  • Prepare architecture for implementation of all components and get reviews from mentors

Week - 1 (May 14 - May 20)

  • Implementing sender side functionality of DCTCP
  • Implementing receiver side functionality of DCTCP
  • Implementing router side functionality of DCTCP

Week - 2 (May 21 - May 27)

  • Testing sender side functionality of DCTCP
  • Testing receiver side functionality of DCTCP
  • Testing router side functionality of DCTCP

Week - 3 (May 28 - June 3)

  • Complete the documentation of DCTCP implementation
  • Develop example programs for DCTCP

Week - 4 (June 4 - June 10)

  • Prepare a patch for DCTCP implementation in ns-3 and send it for review
  • Prepare for first mid term review

Week - 5 (June 11 - June 17)

  • Implementation of Fat tree topology helper
  • Implementation of BCube topology helper

Week - 6 (June 18 - June 24)

  • Implementation of necessary trace sources
  • Provide NetAnim examples for topology helpers

Week - 7 (June 25 - July 1)

  • Complete the documentation of topology helpers
  • Address comments of first review

Week - 8 (July 2 - July 8)

  • Prepare a patch for topology helpers implemented in ns-3 and send it for review
  • Prepare for second mid term review

Week - 9 (July 9 - July 15)

  • Review the existing implementation of PI2
  • Extend PI2 implementation with necessary classification features

Week - 10 (July16 - July22)

  • Test the extended PI2 implementation and complete the documentation
  • Prepare a patch for extended PI2 implementation and send it for review
  • Address comments of second review

Week - 11 (July23 - July29)

  • Implement the Modified ECN in ns-3
  • Test the Modified ECN implementation and complete the documentation
  • Prepare a patch for Modified ECN implementation and send it for review

Week - 12 (July30 - August5)

  • Integration of TCP models and extended PI2 AQM with Modified ECN
  • Provide examples to simulate TCP Prague
  • Bug fixes, final documentation and prepare the code to merge

Week - 13 (August6 - August14)

Weekly Progress