요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0
======================
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
sysctl -w net.ipv4.tcp_ecn_fallback=0 (optional)
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
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
DCTCP와 ECN 기반 congestion feedback
1-10DCTCP(DataCenter TCP)
DCTCP는 data center network를 위한 TCP congestion control algorithm의 확장입니다. Data center network의 ECN(Explicit Congestion Notification)을 활용해 end host에 multi-bit feedback을 제공합니다.
.. SPDX-License-Identifier: GPL-2.0
======================
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.
End host 활성화와 switch ECN threshold
11-23End host에서 DCTCP를 활성화하려면 다음과 같이 설정합니다.
sysctl -w net.ipv4.tcp_congestion_control=dctcp
sysctl -w net.ipv4.tcp_ecn_fallback=0 (optional)
`net.ipv4.tcp_congestion_control=dctcp`는 TCP congestion control algorithm으로 DCTCP를 선택합니다. `net.ipv4.tcp_ecn_fallback=0` 설정은 선택 사항입니다.
DCTCP를 사용하는 data center network의 모든 switch는 ECN marking을 지원해야 하며, 정의한 switch buffer threshold에 도달하면 mark하도록 구성해야 합니다.
Switch의 DCTCP 기본 ECN marking threshold 경험칙은 1Gbps에서 packet 20개(30KB), 10Gbps에서 packet 65개(약 100KB)입니다. 그러나 실제 환경에 맞춰 더 신중하게 조정해야 할 수 있습니다.
자세한 내용은 아래 문서를 참고하십시오.
To enable it on end hosts::
sysctl -w net.ipv4.tcp_congestion_control=dctcp
sysctl -w net.ipv4.tcp_ecn_fallback=0 (optional)
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:
논문, IETF draft와 DCTCP 자료
24-52논문
DCTCP algorithm은 다음 두 SIGCOMM/SIGMETRICS 논문에서 더 자세히 설명합니다.
i) Mohammad Alizadeh, Albert Greenberg, David A. Maltz, Jitendra Padhye, Parveen Patel, Balaji Prabhakar, Sudipta Sengupta, 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, 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
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
요약·해설
dctcp.rst:1-52DCTCP는 packet loss를 기다리지 않고 switch가 ECN으로 표시한 congestion 정도를 end host가 정밀하게 반영하도록 만든 data center용 TCP congestion control입니다. 효과를 얻으려면 sender와 receiver뿐 아니라 경로의 모든 switch가 ECN marking을 지원하고 buffer threshold를 적절히 설정해야 합니다.
Switch의 queue 상태가 ECN 표시를 거쳐 sender의 congestion response로 돌아옵니다.
한 요소라도 빠지면 기대한 multi-bit congestion feedback을 얻기 어렵습니다.
문서의 초기값은 출발점이며 실제 topology와 workload에 맞춘 검증이 필요합니다.
Congestion control 선택 뒤 필요에 따라 ECN fallback을 끕니다.
원문이 안내하는 algorithm·분석·표준화 자료를 구분했습니다.