고성능 컴퓨팅
본 서비스가 제공하는 내용 및 자료가 사실임을 보증하지 않습니다. 시스템은 언제나 실수를 할 수 있습니다. 중요한 의사결정 및 법리적 해석, 금전적 의사결정에 사용하지 마십시오.
고성능 컴퓨팅(High-Performance Computing, HPC)은 일반적으로 여러 서버에 걸쳐 복잡한 계산을 병렬로 고속 처리하는 것을 가리킨다. 이러한 서버 그룹을 클러스터라고 하며, 네트워크를 통해 연결된 수백 또는 수천 대의 컴퓨팅 서버로 구성된다. HPC 시스템은 고속 처리 능력, 고성능 네트워크, 대용량 메모리를 통해 방대한 양의 병렬 처리를 수행하며, 과학 연구, 엔지니어링, 인공지능 등 다양한 분야에서 활용된다.
개요
고성능 컴퓨팅(HPC)은 고급 연산 문제를 풀기 위하여 슈퍼컴퓨터 및 컴퓨터 클러스터를 사용하는 것을 말한다. 최근에는 테라플롭스 이상의 규모를 HPC에 사용되는 컴퓨터를 구분하는 기준으로 쓴다. HPC 시스템은 워크로드를 더 작은 작업으로 분할하고 동시 처리를 위해 여러 리소스에 할당하는 병렬 컴퓨팅을 기반으로 한다.
구성 요소
일반적인 HPC 솔루션은 다음 세 가지 구성 요소로 이루어진다.
- 컴퓨팅: 클러스터를 구성하는 각 컴퓨터를 노드라고 부르며, CPU와 GPU를 포함한다. GPU는 엄청난 양의 데이터를 병렬로 처리하도록 설계된 특수 칩으로, HPC와 머신러닝 연산의 기본 자원으로 자리 잡았다.
- 네트워크: 노드 간 고속 통신을 위한 네트워크 인프라이다.
- 스토리지: 대규모 데이터를 빠르게 읽고 쓸 수 있는 고속 액세스 스토리지이다.
HPC 클러스터의 핵심은 가용 리소스를 추적하는 스케줄러이다. 이 스케줄러는 빠른 네트워크를 통해 작업 요청을 다양한 컴퓨팅 리소스에 효율적으로 할당한다.
동작 원리
HPC 시스템은 스케일업 또는 스케일아웃 방식으로 설계될 수 있다.
- 스케일업 설계: 단일 시스템 내에 작업을 유지하지만, 여러 개의 개별 프로세서 코어가 작업을 수행할 수 있도록 작업을 분할한다. 목표는 개별 서버의 사용을 극대화하는 것이다.
- 스케일아웃 설계: 작업을 관리 가능한 조각으로 나누어 여러 서버에 분산한다. 목표는 여러 서버의 리소스를 결합하여 성능을 높이는 것이다.
HPC 클러스터는 여러 건의 계산을 일괄 실행하며, 모든 작업은 스케줄러를 통해 관리된다. 과거에는 슈퍼컴퓨터가 단일한 초고속 머신을 가리켰지만, 현재는 한 개 이상의 CPU가 포함된 막대한 규모의 서버 클러스터를 사용하여 구축된다.
활용 분야
HPC는 다양한 과학, 공학, 비즈니스 분야에서 복잡한 문제를 해결하는 데 사용된다.
- 과학 연구: 기후 모델링, 단백질 접힘, 전산 유체 역학(CFD) 등 물리 기반 시뮬레이션
- 신약 개발: 분자 시뮬레이션 및 약물 후보 물질 탐색
- 인공지능: 머신러닝(ML) 모델 훈련 및 추론. 최근 HPC는 시뮬레이션과 ML을 결합한 이중 역할을 수행한다.
- 엔지니어링: 자동차, 항공우주 분야의 충돌 시뮬레이션, 구조 해석
HPC로 더 뛰어난 컴퓨팅 성능을 적용함으로써 같은 시간 동안 더 많은 데이터세트를 사용해 데이터 집약적인 문제를 실행할 수 있으며, 문제를 더 높은 해상도, 더 큰 규모로 기술하고 검토할 수 있다.
배포 방식
HPC 솔루션은 온프레미스, 엣지, 클라우드 등 다양한 환경에 배포할 수 있다.
- 온프레미스: 기관이 자체적으로 HPC 클러스터를 구축하여 운영한다.
- 엣지: 데이터가 생성되는 현장 근처에서 HPC를 수행하여 지연 시간을 줄인다.
- 클라우드: 클라우드 서비스 제공업체의 HPC 인프라를 필요에 따라 사용한다.
클라우드 HPC는 확장성과 유연성이 뛰어나며, 초기 투자 비용을 줄일 수 있다.
발전 방향
최근 몇 년 동안 HPC는 시뮬레이션 기반 과학 조사에서 시뮬레이션과 머신러닝을 함께 실행하는 이중 역할로 진화하였다. GPU 기술의 발달이 이러한 진화를 촉진하는 주요 원동력이다. 고성능 GPU와 소프트웨어 최적화의 결합으로 HPC 시스템은 기존 컴퓨팅 시스템보다 훨씬 더 빠르게 복잡한 연산을 수행할 수 있게 되었다. 또한 데이터 집약적인 AI 기반 응용 프로그램의 증가로 HPC에 대한 수요가 계속 증가하고 있다.