
요즘 AI 기술이 다양한 산업군 전반에 확산되고 대규모 연산이 필요한 상황에 놓이면서 기존처럼 단일 GPU로는 한계에 도달하고 있습니다.
그리고 이런 니즈에서 나온 것이 바로 GPU 클러스터입니다.
GPU 클러스터란 하나 이상의 GPU 서버를 고속 네트워크로 연결하여 하나의 거대한 컴퓨터처럼 사용하는 시스템을 말합니다.
즉, 단일 GPU나 단일 서버의 연산 처리 능력으로는 처리하기 힘든 대규모 데이터나 복잡한 AI 시스템을 위해 다수의 GPU를 사용하여 병렬 처리를 하는 것입니다.
오늘은 이 GPU 클러스터에 대한 전반적인 사항에 대해서 공유해 드리겠습니다.
GPU 클러스터(GPU Cluster)란?
위에서도 간략하게 언급해 드렸지만, GPU 클러스터란 여러 대의 GPU 서버를 고속 네트워크로 연결하여 하나의 시스템처럼 사용할 수 있게 구현한 환경을 말하는 것입니다.
그리고 다양한 기업들이 대규모 데이터 처리, AI 워크로드 가속화, 고성능 컴퓨팅(HPC) 기능 강화를 위해서 GPU 클러스터 환경을 사용하고 있습니다.
GPU 클러스터는 단순한 성능 향상을 넘어 데이터 처리 방식의 변화라고 볼 수 있습니다. 여러 GPU에 워크로드를 분산함으로써 연산 집약적인 작업을 전례 없는 속도로 처리할 수 있게 된 것입니다. 그리고 다양한 업계에 방대한 양의 데이터가 지속적으로 생성됨에 따라 GPU 클러스터에 대한 수요는 계속 증가하게 될 것입니다.
GPU 클러스터는 여러 개의 GPU 노드로 구성되며, 각 노드는 하나 이상의 GPU, CPU, 메모리 및 스토리지를 포함합니다. 이러한 노드들은 함께 작동하여 여러 GPU에 연산 작업을 분산함으로써 워크로드를 처리합니다. 그리고 GPU 노드의 효율성은 AI 모델 및 데이터 집약적인 애플리케이션의 고속 처리 요구 사항을 충족하는 데 필수적입니다.
GPU 클러스터의 주요 장점은 대규모 병렬 처리를 처리할 수 있다는 점으로, 기존 컴퓨팅 아키텍처를 훨씬 뛰어넘는 속도로 실시간 데이터 분석 및 AI 학습을 가능하게 합니다. GPU 클러스터의 각 노드는 고대역폭 메모리와 최적화된 인터커넥트를 갖추고 있어 GPU, CPU 및 스토리지 장치 간의 원활한 데이터 교환을 보장해 줍니다.
그리고 속도 외에도 GPU 클러스터는 뛰어난 복원력을 제공합니다. 많은 최신 GPU 클러스터는 하드웨어 장애 발생 시에도 워크로드가 중단 없이 계속 실행될 수 있도록 이중화 및 장애 조치 메커니즘을 갖추고 있습니다. 이러한 높은 가용성 덕분에 GPU 클러스터는 기업의 중요도가 높은 애플리케이션에 이상적인 것입니다.
GPU 클러스터의 주요 구성 요소

GPU 클러스터는 효율성, 확장성 및 연산 능력을 극대화하기 위해 여러 주요 구성 요소가 함께 작용합니다.
1. GPU 서버(노드)
당연한 얘기겠지만, GPU 클러스터의 주요 구성 요소 중 하나는 GPU 서버(노드)입니다. GPU 서버(노드)는 하나 이상의 GPU를 가진 물리적/논리적 서버라고 볼 수 있습니다.
* GPU 서버와 GPU 노드는 혼용되어 사용하는 용어이지만, 관점의 차이가 있습니다. GPU 서버는 물리적인 기기에 집중하는 관점이고, GPU 노드는 논리적 개념으로 클러스터의 구성 요소적 개념입니다.
2. 네트워크 & 인터커텍트
고성능 작업을 위해서는 GPU 노드 간의 효율적인 통신이 필수적입니다. PCIe, NVLink, InfiniBand와 같은 기술은 초고속 데이터 전송을 지원하여 지연 시간을 최소화하고 연산 처리량을 극대화합니다.
이러한 상호 연결은 워크로드를 GPU 전체에 효율적으로 분산시켜 병목 현상을 방지하고 시스템 효율성을 향상시킵니다. 네트워킹 기술의 선택은 클러스터의 확장성과 분산 워크로드의 효과적인 관리 능력을 결정짓는 중요한 요소입니다.
* PCle: CPU와 GPU, GPU와 GPU, GPU와 기타 고속 장치를 연결하는 인터페이스 버스
* NVLink: GPU 간, 또는 GPU와 CPU 간에 데이터를 초고속으로 전송하기 위해 설계된 전용 인터커넥트 기술
* InfiniBand: 서버(노드) 간, 또는 노드와 스토리지 간에 데이터를 초고속으로 전송하게 해주는 네트워크 프로토콜
3. 스토리지 & 메모리
NVMe SSD와 같은 고속 스토리지 솔루션은 대규모 데이터 세트를 관리하는 데 필수적이며, 데이터 집약적인 애플리케이션이 병목 현상 없이 원활하게 작동하도록 보장합니다.
또한, 메모리 집약적인 워크로드는 고대역폭 DRAM의 이점을 누릴 수 있는데, 이를 통해 빠른 데이터 검색과 복잡한 계산의 원활한 처리가 가능해집니다. 많은 최신 GPU 클러스터는 비용과 성능의 균형을 맞추기 위해 SSD와 HDD 간에 워크로드를 동적으로 전환하는 계층형 스토리지 솔루션을 구현하기도 합니다.
4. 클러스터 관리
쿠버네티스 기반 GPU 클러스터는 유연한 리소스 할당을 지원하여 성능 저하 없이 워크로드를 여러 노드에 효율적으로 분산할 수 있도록 합니다. 이러한 확장성 덕분에 기업은 대규모 인프라 변경 없이도 수요 증가에 따라 컴퓨팅 성능을 확장할 수 있습니다.
그리고 리눅스 기반의 오픈소스 자원 관리 및 작업 스케줄링 기능을 제공하는 Slurm 등을 통해 GPU와 CPU 등의 자원을 효율적으로 분배하여 작업을 관리할 수 있습니다.
GPU 클러스터의 작업 분할
GPU 클러스터의 주요 역할은 큰 작업을 동시에 처리할 수 있는 더 작은 작업으로 나누는 것입니다. 예를 들어 백만 개의 이미지로 AI 모델을 학습시킨다고 할 때, 하나의 GPU가 백만 개의 이미지를 모두 처리하는 대신, 클러스터는 각 GPU에 1만 개의 이미지를 동시에 처리하도록 할당할 수 있습니다.
이런 데이터 병렬 처리가 가장 일반적인 접근 방식이지만, 일부 워크로드는 텐서 병렬 처리(AI 모델 자체를 여러 GPU에 분산 처리) 또는 파이프라인 병렬 처리(프로세스를 여러 GPU에서 순차적으로 실행되는 단계로 분할)를 사용합니다.
이에 대한 시각적 설명은 아래 이미지를 참고해 주세요.
< 이미지 소스: AWS Blog >
GPU 클러스터 유형 구분
GPU 클러스터는 사용하는 GPU 동일성, 인프라 타입, 네트워크 방식 등 다양한 기준에 따라 구분될 수 있습니다. 여기서는 GPU 동일성 및 인프라 타입에 따른 구분에 대해서 간략하게 공유해 드리겠습니다.
1. 클러스터에 사용하는 GPU 동일성에 따른 구분
GPU 동일성에 따른 구분은 동일한 GPU 모델을 사용하는가 여부에 따른 구분입니다.
* 동기종 클러스터(Homogeneous Clusters): 모든 노드가 동일한 GPU 모델(예: 모두 H100)과 메모리 구성을 가집니다. 학습 성능이 균일하고 관리가 쉬워 대규모 AI 학습에 주로 사용됩니다.
* 이기종 클러스터(Heterogeneous Clusters): 서로 다른 GPU 모델(예: A100과 H100 혼합)을 섞어 구성합니다. 유연성이 높지만, 성능 병목 현상이 발생할 수 있어 작업 스케줄링이 복잡할 수 있습니다.
2. 인프라 타입에 따른 구분
인프라 타입에 따라서 다음과 같이 구분될 수 있습니다.
* 온프레미스(On-Premises): 자체 데이터 센터에 GPU 서버를 구축하여 운영하는 방식으로, 높은 보안성과 커스터마이징이 가능하지만 초기 구축 비용이 높습니다.
* 클라우드 기반(Cloud-based, GPUaaS): kt cloud, NHN Cloud, NCP, SCP, AWS, GCP, Azure 등과 같은 클라우드 제공업체의 인프라를 사용하는 것으로 GPUaaS의 형태로 제공됩니다. 이 경우 즉시 사용 가능하고 확장성이 뛰어나면서 사용한만큼만 비용을 지불하면 되기에 비용 효율적일 수 있습니다.
* 하이브리드(Hybrid): 온프레미스와 클라우드를 혼합한 형태로, 중요한 데이터는 내부에, 대규모 연산은 클라우드에서 수행하는 방법으로 활용할 수 있습니다.
오늘은 GPU 클러스터에 대한 전반적인 내용을 공유해 드렸습니다.
강력한 성능만큼이나 GPU 클러스터 구축에는 막대한 비용과 리소스가 소요됩니다. 따라서 반드시 온프레미스로 구축하기보다는 비즈니스 목적 및 환경에 따라 클라우드 기반의 GPUaaS를 사용하거나 하이브리드 형태도 좋은 전략이 될 수 있다는 생각이 듭니다.
GPU에 대한 도움이 필요하십니까?
Didim365에서는 GPUaaS 컨설팅, 구축, 운영까지의 모든 과정에 대한 서비스를 제공하고 있습니다. GPU에 대한 고민이 있으시면 언제든지 Didim365에 문의해 주세요.