Task #4504
closedFeature #1624: Design and Implement Congestion Control
Document Congestion Control in NFD developer's guide
100%
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
Updated by Davide Pesavento almost 7 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)
Updated by Anonymous almost 7 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.
Updated by Junxiao Shi almost 7 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.
Updated by Anonymous almost 7 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.
Updated by Eric Newberry almost 7 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.
Updated by Anonymous almost 7 years ago
- File cong_draft1.pdf cong_draft1.pdf added
@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.
Updated by Davide Pesavento almost 7 years ago
- Status changed from New to In Progress
- Assignee set to Anonymous
Updated by Davide Pesavento almost 7 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.
Updated by Anonymous almost 7 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?
Updated by Davide Pesavento almost 7 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.
Updated by Anonymous almost 7 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.
Updated by Davide Pesavento almost 7 years ago
- Tracker changed from Feature to Task
- Status changed from In Progress to Closed
- % Done changed from 90 to 100