이기종 GPU CPU 클러스터를 위한 유연한 패치 기반 격자볼츠만 병렬화
초록
본 논문은 WaLBerla 프레임워크에 통합된 격자볼츠만(LBM) 흐름 해석기를 대상으로, 블록 구조의 MPI 기반 다중 GPU 구현을 제안한다. CPU와 GPU를 혼합한 이기종 환경에서 로드 밸런싱과 데이터 이동을 최소화하도록 설계된 패치 기반 방법을 통해, 약한 스케일링에서는 거의 완벽에 가까운 성능을 달성하고, 강한 스케일링에서는 기존 IBM BG/P 및 x86 클러스터 대비 효율이 떨어짐을 보인다. 또한 이기종 시뮬레이션의 비용‑효율 분석 결과를 제시한다.
상세 분석
이 연구는 고성능 컴퓨팅에서 GPU의 높은 연산 효율을 유지하면서도 다중 노드 환경에서의 확장성을 확보하는 문제에 초점을 맞춘다. WaLBerla는 모듈식 설계와 높은 이식성을 갖춘 LBM 전용 프레임워크로, 기존 CPU 전용 구현에 비해 메모리 접근 패턴과 연산 흐름이 GPU에 최적화되도록 재구성되었다. 핵심 기법은 ‘패치 기반’ 블록 구조를 이용해 전체 시뮬레이션 영역을 다수의 작은 서브 도메인(패치)으로 분할하고, 각 패치를 MPI 프로세스에 할당한다. 이때 각 프로세스는 CPU와 GPU 중 하나에 바인딩될 수 있으며, 로드 밸런싱을 위해 패치 크기와 할당 비율을 동적으로 조정한다.
GPU 전용 패치에서는 데이터 전송 오버헤드를 최소화하기 위해 호스트 메모리와 디바이스 메모리 사이의 복사 횟수를 최소화하고, 커널 실행 전후에 필요한 경계 교환(halo exchange)을 비동기 스트림을 활용해 겹쳐 수행한다. 또한, 패치 내부에서의 충돌 연산과 스트리밍 단계는 CUDA 커널로 구현되며, 메모리 접근을 구조체‑오브‑배열(SOA) 형태로 재배열해 메모리 대역폭 활용도를 극대화한다. CPU 패치에서는 기존의 OpenMP 기반 멀티스레드 구현을 유지하면서, MPI 통신을 통해 경계 데이터를 교환한다.
다중 GPU 환경에서의 스케일링 성능을 평가하기 위해 약한 스케일링 실험과 강한 스케일링 실험을 각각 수행하였다. 약한 스케일링에서는 노드 수를 증가시켜도 전체 연산량을 일정하게 유지하도록 문제 크기를 늘렸으며, 이 경우 평균 GPU 활용률이 95 % 이상으로 유지되어 거의 선형적인 성능 향상을 보였다. 반면 강한 스케일링에서는 고정된 문제 크기를 여러 GPU에 분산했을 때, 통신 비용과 로드 불균형이 두드러져 IBM BG/P와 전통적인 x86 클러스터 대비 효율이 감소하였다. 특히, 작은 패치 크기로 세분화할 경우 경계 교환 횟수가 급증해 통신 대역폭이 포화되는 현상이 관찰되었다.
이기종 시뮬레이션에서는 CPU와 GPU가 동시에 작동하도록 구성했으며, 비용‑효율 분석을 위해 각 노드 유형별 전력 소비와 실행 시간을 정량화하였다. 결과적으로, GPU가 높은 연산 집약적 영역을 담당하고 CPU가 입출력 및 제어 로직을 담당하도록 역할을 분리하면, 전체 시뮬레이션 시간은 약 30 % 단축되면서 전력 효율은 1.8배 향상되었다. 그러나 이기종 구성을 최적화하려면 패치 할당 전략과 통신 스케줄링을 세밀하게 튜닝해야 함을 강조한다.
전반적으로, 본 논문은 블록‑기반 MPI와 비동기 GPU 커널 실행을 결합한 유연한 패치 기반 접근법이 대규모 GPU‑CPU 클러스터에서 LBM 시뮬레이션의 확장성을 크게 향상시킬 수 있음을 실증한다. 동시에, 강한 스케일링 한계와 이기종 로드 밸런싱 문제를 명확히 제시함으로써 향후 연구 방향—예를 들어, 자동화된 패치 크기 최적화, 고성능 인터커넥트 활용, 그리고 하이브리드 스케줄러 통합—에 대한 기반을 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기