Task #4504
closed
Feature #1624: Design and Implement Congestion Control
Document Congestion Control in NFD developer's guide
Added by Anonymous almost 7 years ago.
Updated over 6 years ago.
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
- 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)
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.
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.
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.
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.
@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.
- Status changed from New to In Progress
- Assignee set to Anonymous
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.
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?
- 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.
- % 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.
- Tracker changed from Feature to Task
- Status changed from In Progress to Closed
- % Done changed from 90 to 100
Also available in: Atom
PDF