-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Daniel Borkmann says: ==================== net: tcp: DCTCP congestion control algorithm This patch series adds support for the DataCenter TCP (DCTCP) congestion control algorithm. Please see individual patches for the details. The last patch adds DCTCP as a congestion control module, and previous ones add needed infrastructure to extend the congestion control framework. Joint work between Florian Westphal, Daniel Borkmann and Glenn Judd. v3 -> v2: - No changes anywhere, just a resend as requested by Dave - Added Stephen's ACK v1 -> v2: - Rebased to latest net-next - Addressed Eric's feedback, thanks! - Update stale comment wrt. DCTCP ECN usage - Don't call INET_ECN_xmit for every packet - Add dctcp ss/inetdiag support to expose internal stats to userspace ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
- Loading branch information
Showing
12 changed files
with
574 additions
and
78 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
DCTCP (DataCenter TCP) | ||
---------------------- | ||
|
||
DCTCP is an enhancement to the TCP congestion control algorithm for data | ||
center networks and leverages Explicit Congestion Notification (ECN) in | ||
the data center network to provide multi-bit feedback to the end hosts. | ||
|
||
To enable it on end hosts: | ||
|
||
sysctl -w net.ipv4.tcp_congestion_control=dctcp | ||
|
||
All switches in the data center network running DCTCP must support ECN | ||
marking and be configured for marking when reaching defined switch buffer | ||
thresholds. The default ECN marking threshold heuristic for DCTCP on | ||
switches is 20 packets (30KB) at 1Gbps, and 65 packets (~100KB) at 10Gbps, | ||
but might need further careful tweaking. | ||
|
||
For more details, see below documents: | ||
|
||
Paper: | ||
|
||
The algorithm is further described in detail in the following two | ||
SIGCOMM/SIGMETRICS papers: | ||
|
||
i) Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye, | ||
Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, and Murari Sridharan: | ||
"Data Center TCP (DCTCP)", Data Center Networks session | ||
Proc. ACM SIGCOMM, New Delhi, 2010. | ||
http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp-final.pdf | ||
http://www.sigcomm.org/ccr/papers/2010/October/1851275.1851192 | ||
|
||
ii) Mohammad Alizadeh, Adel Javanmard, and Balaji Prabhakar: | ||
"Analysis of DCTCP: Stability, Convergence, and Fairness" | ||
Proc. ACM SIGMETRICS, San Jose, 2011. | ||
http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp_analysis-full.pdf | ||
|
||
IETF informational draft: | ||
|
||
http://tools.ietf.org/html/draft-bensley-tcpm-dctcp-00 | ||
|
||
DCTCP site: | ||
|
||
http://simula.stanford.edu/~alizade/Site/DCTCP.html |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.