본문 바로가기
연구/주제 없음

Optimizing AI/ML and HPC Workloads: Exploring RDMA (RoCEv2) for High-Performance

by sumping 2024. 9. 6.

 
 
https://www.linkedin.com/pulse/optimizing-aiml-hpc-workloads-exploring-rdma-rocev2-data-chitakani-iuwvc/

Optimizing AI/ML and HPC Workloads: Exploring RDMA (RoCEv2) for High-Performance Data Center Networking

In the realm of growing Artificial Intelligence (AI) and Machine Learning (ML) applications, the demand for High-Performance Compute (HPC) systems within Data Centers is escalating rapidly. HPC necessitates swift and seamless communication characterized by

www.linkedin.com


 

Summary

  • TCP/IP stack이 효과적으로 HPC network communication을 지원할 수 없음. (high-speed와 low-latency를 요구)
  • 그래서 HPC에서는 RDMA가 유명한 프로토콜임. (memory-to-memory level, without CPU load)
    • RDMA network protocol로는 Infiniband, iWARP, RoCEv1, RoCEv2가 있음.
    • RoCEv1과 RoCEv2의 차이는 Reliable임. RoCEv1은 RDMA over L2 Ethernet으로 reliable transmission을 보장하기 위해 PFC, other flow control mechanism을 지원해야 함. 하지만 RoCEv2는 RDMA over UDP로 reliable을 위해 flow control mechanism을 신경쓰지 않고 L2, L3 network 둘 다 사용할 수 있음. (즉, IP와 UDP 헤더 조정 가능)
RDMA Protocol stack

 

  • 주목할 건 RoCEv2임. 왜냐면 이더넷을 쓰면서 infiniband와 같은 성능을 낼 수 있음. 

 

  • RoCEv2 Pakcet Format
    • Infiniband payload를 나타내는 전용 UDP 포트(4791)와 다르게 여러 QP로 서로 다른 소스 포트로 ECMP load sharing을 통해 optimized forwarding이 가능함. (default로 4791을 사용함)
    • RoCEv2의 flow control과 congestion control은 PFC와 IP헤더 내 ECN bit를 활용함. + CNP
RoCEv2 Packet Format

 

  • Readiness for RoCEv2 Implementation in Ethernet Networks
    • 최적의 성능과 호환성을 보장하기 위해 중요한 고려사항들이 있음
      • MTU : fragmentation을 피하기 위해 최소 9000 bytes의 MTU를 권장함
      • QoS : QoS mechanism을 구현하는 것은 필수임. (prioritize traffic, low-latency), DSCP-based QoS
      • PFC : packet loss를 방지하고 reliable transmission을 보장
      • ECN : 특히 DCQCN에서 중요한 역할을 함. 효율적인 congestion control
  • PFC - Priority based flow control
    • drop-free network (=lossless network) / 특정 priority level까지 오면 전송 트래픽을 잠시 중단하면서 flow control을 제어함 -> 근데 이게 PFC의 단점임. HoL(Head-of-line) bolocking, unfairness, and deadlock situation이 생길 수 있음.
    • 아래 이미지의 Switch2를 보면 XON, XOFF, Headroom을 볼 수 있음. XOFF까지 차면 Switch1에 PFC Pause Frame을 보냄. Headroom은 이미 전송된 패킷을 수용하기 위한 추가버퍼공간임.
  • PFC
    • PFC는 Class-Of-Service(CoS)로 운영이 됨. congestion -> CoS값을 지정하는 pause frame으로 초기화
    • PFC pause frame에는 2-octat timer value가 있음 (일시중지 타이머 역할)

 

  • DCQCN - Congestion control with ECN
    • end-to-end congestion control mechanism을 제공함.
    • ECN을 활용하여 구현함으로써 transmission rate을 줄임과 동시에 PFC 간섭의 필요성을 줄여버림
      • ECN은 0x00에서 뒤 2개의 비트를 사용해서 traffic을 mark한다. (단, 이걸 사용하려면 경로 상에 스위치가 ECN을 지원해야 함)
    • 아래 이미지의 CP가 ECN field로 모니터링 하면서 congestion을 감지함. 받는 쪽(NP)은 congestion을 알려주는 패킷을 생성하고 sender한테 보내줌. Sender(RP)는 CNP를 받으면 flow rate을 줄임.

 

  • 앞서 간단하게 설명한 PFC와 DCQCN을 활용해서 RDMA 성능을 최적화할 수 있음.

 

'연구 > 주제 없음' 카테고리의 다른 글

[TIL] Paxos? Raft?  (0) 2024.07.18
[TIL] Consistency Models for concurrent systems  (0) 2024.07.16
[TIL - 20240704] RDMA Atomic operation이란?  (0) 2024.07.04
[TIL - 20240703] Turing complete란?  (1) 2024.07.03