InfiniBand 또는 고속 네트워크에서의 혼잡 제어(Congestion Control) 는 네트워크 상의 혼잡 상황(과도한 트래픽으로 인한 지연, 손실, 성능 저하 등)을 감지하고 이를 완화하기 위해 송신 측과 수신 측이 협력하여 트래픽을 조절 하는 메커니즘이다. 따라서, InfiniBand에서 혼잡 제어는 Adaptive Routing 과 함께 네트워크의 QoS(Quality of Service)를 높이는 핵심 기술이다. 이번에는 혼잡 제어에 대해 좀더 상세히 알아보도록 하자.
1. 혼잡 제어
네트워크 노드 간의 전송 흐름에서 혼잡이 발생했을 때, 송신자에게 피드백을 주고, 송신자가 전송 속도를 조절하도록 하는 프로토콜
목적: 병목 지점 완화, 전송 지연(latency) 감소, 네트워크 전체 처리량 향상, 공정한 대역폭 분배
2. InfiniBand에서의 혼잡 제어 메커니즘
혼잡 감지 (Congestion Detection)
스위치가 큐의 길이나 버퍼 사용량을 기준으로 혼잡 발생 여부를 판단
혼잡이 감지되면 스위치는 해당 패킷에 “FECN (Forward Explicit Congestion Notification)” 플래그를 설정함
수신자 알림 (Congestion Notification)
패킷을 수신한 대상은 이 FECN 비트를 확인하고, 송신자에게 “BECN (Backward ECN)” 또는 CNP(Congestion Notification Packet) 를 전송
송신자 반응 (Rate Throttling)
송신자는 CNP를 수신하면, 전송 속도를 일시적으로 줄임 (rate-limiting)
일정 시간 이후, 서서히 전송 속도를 회복 (Additive Increase 방식)
3. 혼잡 제어의 주요 구성 요소
구성 요소
역할
CA (Congestion Avoidance)
혼잡이 발생하기 전에 예측하고 미리 경로를 변경 (AR과 연계)
ECN (Explicit Congestion Notification)
FECN/BECN을 통해 혼잡을 명시적으로 전달
CNP (Congestion Notification Packet)
수신자가 혼잡을 감지하고 송신자에게 알리는 특수 패킷
Rate Control Algorithm
송신 측 전송 속도를 제어 (Cut-back & Ramp-up 방식)
4. 실제 구성 예 (OpenSM 기반)
congestion_control=enable
congestion_log_file=/var/log/cc.log
congestion_control_table_file=/etc/cc_table.conf
cc_table.conf
에는 각 포트에 대한 속도 제한 및 회복 타이밍을 설정
5. Quantum InfiniBand 스위치의 혼잡 제어
항목
설명
SHARP 기반 감지
실시간으로 트래픽 병목 위치를 파악
UFM 연계
관리자는 혼잡 상태를 시각화 및 경고 설정 가능
자동 Throttling
NVIDIA 스위치 자체에서 혼잡 감지 및 송신 제어 수행 가능
6. 혼잡 제어 vs 적응형 라우팅
항목
적응형 라우팅 (AR)
혼잡 제어 (CC)
개념
덜 혼잡한 경로로 우회
송신 속도 조절
작동 위치
스위치 포트 간
송신자 ↔ 수신자
트리거
포트 혼잡도
ECN, 큐 지연, 큐 깊이
목적
경로 분산
속도 완화
태그:
Adaptive Routing ,
CUDA ,
GPU ,
NVIDIA ,
Quantum Infiniband ,
RoCE ,
Spectrum-X Ethernet ,
적응형 라우팅
카테고리:
Accelerated Computing ,
AI Factory ,
HPC ,
Infiniband ,
NVIDIA
업데이트: 2023년 11월 30일
댓글남기기