인피니밴드 사용 이유

인피니밴드 사용 이유. 인터넷기술이 발전한 요즈음, HPC환경하에 인피니밴드란 특수한 기술이 논의되어 온 배경에 대한 포스팅입니다.
우리가 일반적으로 사용하는 TCP/IP와 최근 ML/AI의 성장으로 각광받는 데이터센터 네트워킹 기술인 Infiniband는 모두 데이터 네트워크 프로토콜입니다.
이 둘의 목적은 모두 응용 프로그램에서 사용하는 데이터를 손실 없이 전송하는 것이다. 그러나 이 프로토콜은 설계된 목적과 특성이 다릅니다.
우리가 일반적으로 알고 있는 TCP/IP 기술을 Infiniband가 적용된 특수한 데이터센터 네트워킹 솔루션으로 그대로 적용하긴 어렵습니다.
TCP/IP기술의 동작 방식과 특정 환경에서의 인피니 밴드 사용 이유

TCP/IP는 인터넷에서 가장 많이 사용되는 프로토콜입니다. 모빌리티 환경에서도 가장 많이 사용되고 있습니다.
TCP/IP 기술이 광범위하게 적용된 배경으로는 개방형 표준으로 사용되어 서로 다른 시스템간의 상호 운용성과 호환성을 달성하기 쉬웠다는 점을 들수 있습니다.
아울러 TCP/IP는 일반적으로 먼 거리 혹은 큰 영역에 있는 시스템간의 연결을 설계 초기당시부터 목적에 두고 개발되었습니다. 이런 네트워크를 우리는 WAN이라던지 혹은 LAN으로 불러 왔습니다.
그렇지만 Infiniband는 고성능 컴퓨팅(HPC) 및 데이터 센터 환경을 위해 특별히 설계된 네트워크 구조입니다.
매우 낮은 지연 시간과 높은 대역폭 또한 네트워크를 사용하는 시스템의 CPU를 네트워크 처리 부하로부터 분리시키는 것이 주요 목적이었습니다.
고성능 컴퓨팅 및 데이터 센터 환경에서 TCP/IP 네트워크가 사용될 수 없는 이유

물론 적용하면 사용할 수는 있습니다. 그러나 항상 기술은 가격대비 성능측면을 고려해야 합니다.
매우 커다란 행렬및 벡터처리를 분산환경에서 계산하는 고성능 컴퓨팅 데이터 센터 환경에서는 노드간의 통신을 위한 극도로 낮은 지연시간과 높은 대역폭 그리고 낮은 네트워크 처리 CPU 사용률이 필요합니다.
TCP/IP 기술은 일반적으로 위의 요구사항을 만족시키기 어렵습니다.
- 패킷 전송을 위해 여러 단계의 처리단계 (잣은 메모리 복사, 응용 프로그램에서 OS영역으로의 데이터 전달)를 거치기 때문데 높은 지연 시간이 발생합니다.
- 높은 대역폭의 통신 (100Gbps 이상의 대역)을 직접 CPU가 처리하는 OS를 사용하는 경우 정작 계산에 필요한 CPU 자원을 확보할 수 없슴
- 기본적으로 TCP/IP네트워크는 패킷 손실, 중복, 도착 순서가 섞이는 문제를 고려하여 만든 프로토콜입니다. 에러가 완전히 복구되기 전까지 상위 응용프로그램은 동작 할 수 없으므로 전체 클러스터의 성능은 문제가 생긴 노드로 인하여 저하됩니다.
이러한 제한 사항으로 인해 고성능 컴퓨팅(HPC) 및 데이터 센터 환경에서는 TCP/IP대신 인피니밴드 혹은 최근의 RoCE(RDMA over Converged Ethernet)등의 전용 네트워크 기술이 사용됩니다.
인피니밴드 사용 이유 – 데이터 전송의 신뢰성을 보장

인피니밴드는 스위치 패브릭 네트워크 토폴로지를 사용합니다.
패브릭은 여러개의 스위치와 링크로 구성되어 하드웨어가 출발에서 목적지까지의 전체 경로를 제어합니다.
송신 호스트의 인피니밴드 인터페이스는 목적지 호스트까지의 전체 경로를 미리 결정합니다.
송신 호스트는 보내고자 하는 메모리의 내용을 작은 패킷으로 나누고 각 패킷에 순서 번호와 오류검사 코드를 추가합니다.
이렇게 준비가 된 전송패킷을을 송신호스트의 인피니밴드 인터페이스는 전용하드웨어 RDMA 엔진을 통하여 CPU의 관여가 없이 직접 전송합니다.
중간에 관여된 스위치와 링크들은 패킷이 통과할때마다 오류 검사를 수행하여 손실이 발생하거나 순서가 바뀌는 경우 즉지 재전송 요청을 보냅니다.
재전송 요청을 받은 송신 호스트는 해당 패킷을 다시 전송하며 이 때 재전송 경로는 초기 설정 경로와 동일합니다.
재조립은 수신측 인피니밴드 인터페이스에서 수행됩니다. 도착한 패킷의 순서 번호를 검사하여 순서 섞임을 감지하고 순서가 바귄 패킷은 버퍼에 있다가 순서대로 재조정된 후 메모리에 기록됩니다.
마치며

위의 전과정은 CPU나 CPU에서 동작하는 OS 커널의 관여 없이 진행되므로 응용프로그램은 마치 원격의 호스트에 있는 메모리의 내용을 자신의 메모리에서 읽어들이는 것과 같이 동작합니다.
생성형 AI는 많은 확률 계산을 수반하며 현대 대수학의 발전으로 많은 계산을 행렬과 벡터연산의 형태로 처리합니다.
수학적인 특성으로 인하여 이런 큰 크기의 행렬과 벡터연산은 작은 단위로 분해하여 병렬로 처리할 수 있게 됩니다.
최근 생성형 AI이 비약적인 발전을 이루어낸 트랜스포머 모델의 “Multi head attention”과 같은 기법들은 모델 개발의 초기부터 이런 컴퓨터 구조를 염두에 두고 만들어 졌습니다.
이 과정에서 높은 대역폭과 병렬연산을 가능하게 하는 신뢰성있는 데이터 전송을 보장하는 인피니밴드 사용 이유가 부각된 점은 자연스러운 기술 발전 과정이라 할 수 있겠습니다.
![A logo representing a calm, happy Sweden countryside village with only blue color palette [and has a minimalist and modern style] [incorporating elements of nature] [with a touch of Scandinavian design] [that reflects a sense of community]](https://raonstad.com/wp-content/uploads/2024/03/img-rsVXmvlyKd0umO7b2rMmaUnI.png)