Daniel Borkmann | e3118e8 | 2014-09-26 22:37:36 +0200 | [diff] [blame] | 1 | DCTCP (DataCenter TCP) |
| 2 | ---------------------- |
| 3 | |
| 4 | DCTCP is an enhancement to the TCP congestion control algorithm for data |
| 5 | center networks and leverages Explicit Congestion Notification (ECN) in |
| 6 | the data center network to provide multi-bit feedback to the end hosts. |
| 7 | |
| 8 | To enable it on end hosts: |
| 9 | |
| 10 | sysctl -w net.ipv4.tcp_congestion_control=dctcp |
Daniel Borkmann | 4921355 | 2015-05-19 21:04:22 +0200 | [diff] [blame] | 11 | sysctl -w net.ipv4.tcp_ecn_fallback=0 (optional) |
Daniel Borkmann | e3118e8 | 2014-09-26 22:37:36 +0200 | [diff] [blame] | 12 | |
| 13 | All switches in the data center network running DCTCP must support ECN |
| 14 | marking and be configured for marking when reaching defined switch buffer |
| 15 | thresholds. The default ECN marking threshold heuristic for DCTCP on |
| 16 | switches is 20 packets (30KB) at 1Gbps, and 65 packets (~100KB) at 10Gbps, |
| 17 | but might need further careful tweaking. |
| 18 | |
| 19 | For more details, see below documents: |
| 20 | |
| 21 | Paper: |
| 22 | |
| 23 | The algorithm is further described in detail in the following two |
| 24 | SIGCOMM/SIGMETRICS papers: |
| 25 | |
| 26 | i) Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye, |
| 27 | Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, and Murari Sridharan: |
| 28 | "Data Center TCP (DCTCP)", Data Center Networks session |
| 29 | Proc. ACM SIGCOMM, New Delhi, 2010. |
| 30 | http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp-final.pdf |
| 31 | http://www.sigcomm.org/ccr/papers/2010/October/1851275.1851192 |
| 32 | |
| 33 | ii) Mohammad Alizadeh, Adel Javanmard, and Balaji Prabhakar: |
| 34 | "Analysis of DCTCP: Stability, Convergence, and Fairness" |
| 35 | Proc. ACM SIGMETRICS, San Jose, 2011. |
| 36 | http://simula.stanford.edu/~alizade/Site/DCTCP_files/dctcp_analysis-full.pdf |
| 37 | |
| 38 | IETF informational draft: |
| 39 | |
| 40 | http://tools.ietf.org/html/draft-bensley-tcpm-dctcp-00 |
| 41 | |
| 42 | DCTCP site: |
| 43 | |
| 44 | http://simula.stanford.edu/~alizade/Site/DCTCP.html |