ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • AI 클러스터에서 TCP의 종말: GPU 아이들링을 끝내는 차세대 전송 프로토콜 Homa

    AI 2026. 10. 20. 09:03
    반응형

    대규모 AI 분산 환경의 네트워크 병목이 대역폭(Throughput)에서 극단적인 마이크로 지연 시간(Tail Latency)으로 이동했다.

    과거 모델 학습(Training) 중심 워크로드는 수 기가바이트 단위의 가중치와 그래디언트를 전송하는 벌크 트래픽이 지배했다. 반면 최신 분산 추론과 복합 에이전트 시스템은 수십 바이트에서 수 킬로바이트 수준의 소형 메타데이터, 분산 KV 캐시 동기화, 라운드별 배리어 동기화(Barrier Synchronization)를 쉼 없이 교환한다.

    수백 개의 최신 GPU가 밀리초 단위로 연산을 마쳐도 단 하나의 네트워크 패킷 지연 때문에 전체 노드가 멈춘다. 스탠포드 대학교 존 오스터하우트(John Ousterhout) 교수가 이끄는 연구진은 반세기 동안 인터넷을 지탱한 TCP의 전송 모델이 현대 AI 데이터센터와 정면 충돌한다고 지적하며, 차세대 전송 프로토콜 Homa를 제시했다.


    1. AI 워크로드의 세대교체: Throughput에서 P99 Tail Latency로

    LLM 추론과 에이전틱 워크로드는 연산 단위가 극도로 세분화된다.

    🔍 클릭하여 확대
    flowchart LR
        subgraph GPU_Nodes["GPU 분산 노드군 (Worker 1~N)"]
            W1["GPU 1: 토큰 계산 (1~2ms)"]
            W2["GPU 2: 토큰 계산 (1~2ms)"]
            W3["GPU N: 토큰 계산 (1~2ms)"]
        end
    
        subgraph Sync_Barrier["네트워크 배리어 동기화"]
            Barrier{"메타데이터 교환<br>& KV 캐시 핑"}
        end
    
        W1 --> Barrier
        W2 --> Barrier
        W3 -.->|패킷 지연 발생 (Tail)| Barrier
    
        Barrier -->|동기화 완료까지 전원 대기| Stall["전체 GPU 클러스터 유휴 (GPU Stall)"]
      

    분산 추론 노드들은 다음 토큰을 생성하기 전 분산 KV 캐시 블록의 위치를 확인하거나 노드 간 상태를 맞춘다. 메시지 크기는 수십 바이트에서 수 킬로바이트에 불과하다.

    문제는 동기화 배리어(Synchronization Barrier)다. 연산에 참여하는 N개 노드 중 N-1개가 1밀리초 만에 연산과 전송을 끝내도, 단 1개 노드의 패킷이 네트워크 혼잡으로 10밀리초 지연되면 나머지 수백 대의 고가 GPU가 연산을 멈추고 대기한다.

    평균 레이턴시(P50)는 더 이상 의미를 갖지 못한다. 상위 99% 혹은 99.9% 지연을 뜻하는 테일 레이턴시(Tail Latency, P99)가 전체 클러스터의 토큰 생성 속도와 비용을 결정한다.


    2. TCP와 RoCE가 AI 클러스터에서 무너지는 3대 이유

    반세기 동안 표준으로 군림한 TCP와 RDMA 기반 RoCE(RDMA over Converged Ethernet)는 대용량 스트림 전송에 최적화된 프로토콜이다. 마이크로세컨드 단위 동기화가 오가는 환경에서 세 가지 구조적 결함이 드러난다.

    [ TCP / RoCE의 병목: 인캐스트와 버퍼블로트 ]
    
    Node A (대용량 전송) ───┐
    Node B (대용량 전송) ───┼──> [ ToR 스위치 이그레스 버퍼 ] ──> 목적지 Node X
    Node C (단문 동기화) ───┘    │ [A][A][A][A][B][B][B][B][C] │ (대기열 후미에 갇힘)
                                 └─────────────────────────────┘
                                 * 결과: 짧은 동기화 패킷 C가 밀려 P99 지연 폭증
    

    1) 인캐스트(Incast)와 버퍼블로트(Buffer Bloat)

    수십 개의 워커 노드가 연산 결과를 마스터 노드나 특정 노드로 동시에 전송할 때 발생한다. 수신단 직전 Top-of-Rack(ToR) 스위치의 이그레스 포트 큐에 순식간에 패킷이 쌓인다.

    다른 노드가 보낸 긴급한 64바이트 동기화 신호가 대용량 데이터 큐의 맨 뒤에 갇힌다. 스위치 버퍼가 고갈되면 패킷 드롭이 발생하고, RTO(Retransmission Timeout)가 발동해 지연이 수십 밀리초로 치솟는다.

    2) 송신자 주도 혼잡 제어(Sender-driven Congestion Control)의 지연

    혼잡은 패킷이 몰리는 수신단 스위치에서 발생한다. 반면 전송 속도를 조절하는 주체는 송신단이다.

    수신단 스위치가 ECN(Explicit Congestion Notification) 비트를 찍고, 목적지 노드가 이를 받아 송신자에게 ACK로 되돌려주기까지 최소 1회 이상의 RTT(왕복 시간)가 필요하다. 송신자가 패킷 전송률을 줄일 즈음에는 네트워크 상황이 이미 변했다. 전송률이 과도하게 치솟았다가 급락하는 진동(Oscillation)이 반복되며 버퍼 안정성을 해친다.

    3) 바이트 스트림 모델의 HoL(Head-of-Line) 블로킹

    TCP는 전송 데이터를 경계가 없는 바이트 스트림으로 취급한다. 수신단은 연결 파이프 너머로 들어오는 데이터가 총 몇 바이트인지, 언제 끝나는지 알 길이 없다.

    앞서 진입한 수 메가바이트의 스트림이 소켓 버퍼를 점유하면, 뒤이어 도착한 단 한 줄의 조율 명령어가 앞선 바이트들이 모두 읽히기 전까지 처리되지 못한다.


    3. Homa의 3대 클린슬레이트 아키텍처

    존 오스터하우트 교수는 TCP의 점진적 개선을 포기하고 데이터센터 내부 통신에 최적화된 새로운 전송 계층 프로토콜 Homa를 설계했다.

    🔍 클릭하여 확대
    sequenceDiagram
        autonumber
        participant Sender as 송신 노드
        participant ToR as ToR 스위치 (우선순위 큐)
        participant Receiver as 수신 노드
    
        Sender->>Receiver: 1. 비예약 패킷 (Unscheduled: 첫 수 KB 직송)
        Note over Receiver: 전체 메시지 크기 즉시 인지<br>SRPT 스케줄러로 남은 크기 계산
        Receiver-->>Sender: 2. 허가 패킷 (Grant: ToR 큐 상태 기반 전송 허용량 발급)
        Sender->>Receiver: 3. 예약 패킷 (Scheduled: 고속 스트리밍)
        Note over ToR: 하드웨어 우선순위 큐 매핑<br>(단문/허가: 고우선순위, 장문: 저우선순위)
      

    1) 메시지 기반 RPC와 SRPT 스케줄링 (Message-Based)

    Homa는 전송 기본 단위를 스트림이 아닌 RPC 메시지로 다룬다.

    첫 번째 패킷 헤더에 메시지 전체 크기를 명시한다. 수신단은 데이터를 받자마자 이 작업에 필요한 바이트 수를 파악한다.

    스케줄링 알고리즘으로 SRPT(Shortest Remaining Processing Time, 최단 잔여 처리 시간 우선)를 적용한다. 잔여 전송량이 가장 적은 메시지에게 최고 우선권을 부여한다. 50바이트짜리 동기화 메시지는 50MB짜리 가중치 전송을 가볍게 추월해 즉시 처리된다.

    2) 수신자 주도 흐름 제어 (Receiver-Driven Flow Control)

    혼잡을 직접 관측하는 수신 노드가 전송 권한을 틀어쥔다.

    • 비예약 패킷(Unscheduled Packets): 송신자는 메시지 첫머리의 수 킬로바이트만 사전 허가 없이 전송한다. 지연 시간 증폭 없는 빠른 핸드셰이크를 보장한다.
    • 예약 패킷과 허가(Grant): 나머지 데이터는 수신자가 Grant 패킷을 발급해야만 송신 노드가 전송을 개시한다.

    수신 노드는 ToR 스위치 큐가 버퍼 한계를 넘지 않도록 다수의 송신 노드에게 발급하는 Grant 속도를 제어한다. 인캐스트 혼잡 자체가 성립하지 않는다.

    3) 하드웨어 우선순위 큐(Priority Queues) 적극 활용

    현대 데이터센터 스위치는 포트마다 복수의 하드웨어 우선순위 큐(통상 8단계)를 갖춘다.

    Homa는 패킷 헤더의 DSCP/PCP 필드를 동적으로 제어한다. 짧은 메시지와 Grant 제어 패킷은 최상위 우선순위 큐로 통과시키고, 대형 메시지는 하위 큐에 배치한다. 짧은 동기화 트래픽은 앞선 대용량 전송 대기열을 건너뛰어 스위치를 통과한다.


    4. 실측 벤치마크: TCP 대비 P99 13배 단축

    스탠포드 연구진이 실제 데이터센터 클러스터에서 TCP 및 기타 프로토콜과 비교 측정한 결과는 주목할 만하다.

    평가 지표 레거시 TCP 차세대 Homa 성능 개선도
    단문 P99 테일 레이턴시 > 1,000 μs (1 ms 이상) < 80 μs 13배 이상 단축
    인캐스트 부하 시 패킷 드롭 빈번한 타임아웃 발생 0에 수렴 (Grant 제어) 혼잡 완전 흡수
    1MB 대형 메시지 처리량 공정 분할로 전송 지연 Run-to-Completion 완료 약 2배 처리 속도 향상

    단문 메시지를 우대하면 대형 벌크 전송이 기아 상태(Starvation)에 빠진다는 예측은 빗나갔다.

    TCP의 공정 분할(Fair Sharing)은 여러 플로우가 대역폭을 쪼개 쓰느라 모든 전송이 다 같이 늦게 끝난다. 반면 Homa의 SRPT는 각 전송을 순차적으로 빠르게 밀어내는 Run-to-Completion 방식을 취해 패킷 단편화와 대기 낭비를 줄인다. 1MB 이상 대형 메시지에서도 TCP 대비 약 2배 빠른 완료 시간을 기록했다.


    5. 리눅스 메인라인 업스트림과 차세대 AI 네트워킹

    Homa는 학술 연구실의 시뮬레이션 모델에 머물지 않는다.

    • 존 오스터하우트 교수가 C 언어로 직접 리눅스 커널 모듈을 구현했다.
    • 공식 오픈소스 리포지토리(PlatformLab/HomaModule)를 통해 소스 코드가 공개됐다.
    • 현재 리눅스 메인라인 커널 공식 업스트림 절차가 진행 중이다.
    • 커널 우회(Kernel-bypass) 전용 하드웨어 없이도 일반 100GbE NIC과 표준 스위치에서 즉시 동작한다.

    거대 모델 학습의 시대가 지나고 자율적 에이전트와 추론 클러스터가 데이터센터의 주류로 자리잡는 지금, 네트워크의 핵심 지표는 단순 대역폭에서 마이크로세컨드 단위의 테일 레이턴시로 완전히 전환되었다. Homa는 이 변화를 네트워크 전송 계층의 근본부터 풀어낸 결정적 설계다.

    반응형
Designed by Tistory.