Project

General

Profile

Actions

Task #4504

closed

Feature #1624: Design and Implement Congestion Control

Document Congestion Control in NFD developer's guide

Added by Anonymous about 6 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Docs
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:

Description

I think the following should be part of the nfd-dev guide:

  • Short basic introduction to how congestion control works. + What's different than the PCON paper
  • How to enable congestion control (nfdc face, config file)
  • How to use congestion marks at the consumer or producers (getters/setters)
  • Example application: catchunks.

Any comments? Which sections do you think this fits in?


Files

cong_draft1.pdf (136 KB) cong_draft1.pdf Anonymous, 02/17/2018 08:39 PM
Actions #1

Updated by Davide Pesavento about 6 years ago

  • Subject changed from Document Congestion Control in NFD developer guide to Document Congestion Control in NFD developer's guide
  • Category set to Docs
  • Target version set to v0.7
  • Start date deleted (02/14/2018)
Actions #2

Updated by Anonymous about 6 years ago

Should we create a new section "Congestion Control"?

Otherwise, I think the information would be spread all over the dev guide: Face, Transport, NDNLP, Management, etc.

I'm also not sure where the "how applications can use congestion marks" section would fit.

Actions #3

Updated by Junxiao Shi about 6 years ago

Should we create a new section "Congestion Control"?

This is one option.

Otherwise, I think the information would be spread all over the dev guide: Face, Transport, NDNLP, Management, etc.

This is bad.

I'm also not sure where the "how applications can use congestion marks" section would fit.

Another option is to publish congestion control implementation as a technical report, and cite it from NFD devguide. ASF strategy is following this practice.

Actions #4

Updated by Anonymous about 6 years ago

Thanks for your feedback!

I don't think we have enough material for a tech report yet, so I think we should go for the section. I'll write up a draft soon.

Maybe we can write a tech report later, including some experience in deployment and some measurement results.

Actions #5

Updated by Eric Newberry about 6 years ago

For proofreading:

Congestion signaling and detection can be enabled in multiple ways. In the NFD configuration file, this feature can be enabled or disabled by default on supported faces (TCP, UDP, and Unix stream) by setting face_system.general.enable_congestion_marking to yes or no, respectively. Through nfdc face, this feature can be enabled or disabled for a specific face by adding congestion-marking on or congestion-marking off as a parameter to nfdc face create or nfdc face update. This will override the value set in the NFD configuration file and, if unspecified to nfdc face create, the status of this feature will default to the value in the configuration file.

On consumer and producer applications, congestion marks can be set on a network packet with Interest::setCongestionMark, Data::setCongestionMark, and Nack::setCongestionMark. The current value can be retrieved with Interest::getCongestionMark, Data::getCongestionMark, and Nack::getCongestionMark. A value of 0 indicates that the mark is unset.

Actions #6

Updated by Anonymous about 6 years ago

@Eric: Thanks for the writeup.

I've integrated your points and just pushed a first draft of the techreport section (see attachment).

Please feel free to comment.

Actions #7

Updated by Davide Pesavento about 6 years ago

  • Status changed from New to In Progress
  • Assignee set to Anonymous
Actions #8

Updated by Davide Pesavento about 6 years ago

Just pushed a minor update. What is missing I think is a couple of sentences (and refer to the congestion control section) in the Generic Link service and/or NDNLP sections.

Actions #9

Updated by Anonymous about 6 years ago

Davide Pesavento wrote:

What is missing I think is a couple of sentences (and refer to the congestion control section) in the Generic Link service and/or NDNLP sections.

Should this just say "Generic Link service now also implements congestion control. See Section X". Or do you have something more specific in mind?

Actions #10

Updated by Davide Pesavento about 6 years ago

  • Priority changed from High to Normal
  • % Done changed from 0 to 50

Whatever you think is appropriate, just a sentence or two + the reference would be sufficient. As an example, see the text of the existing features in sections 2.3.1 and 2.6.

Actions #11

Updated by Anonymous about 6 years ago

  • % Done changed from 50 to 90

I just updated the congestion control section, and added the suggested parts in NDNLP/Generic Link Service.

Feel free to close this task, if you think it looks good.

Actions #12

Updated by Davide Pesavento about 6 years ago

  • Tracker changed from Feature to Task
  • Status changed from In Progress to Closed
  • % Done changed from 90 to 100
Actions

Also available in: Atom PDF