고성능 컴퓨팅(HPC)은 일반적인 데스크톱 컴퓨터나 서버 한 대로는 처리하기 어려운 대규모·복잡한 계산을 수행하기 위해 여러 대의 컴퓨터(노드)를 병렬로 연결하고, 이를 토대로 매우 높은 연산 속도를 내는 시스템을 말합니다. 흔히 “슈퍼컴퓨팅”이라고도 부르며, 여러 CPU·GPU 코어를 동시에 활용해 초당 수십 조~수백 조 번의 플로팅 포인트 연산(FLOPS, Floating-point Operations Per Second)을 처리합니다.
1. 대규모 시뮬레이션 및 모델링
기상 예측, 천체 물리 시뮬레이션, 지진·탄성파 해석 등 물리 기반 모델을 높은 정밀도로 계산하기 위해선 막대한 연산량이 필요합니다.
2. 빅데이터 처리 및 분석
유전체 분석, 금융 시계열 분석, 머신러닝·딥러닝 학습 등 방대한 데이터를 빠르게 처리하거나 학습시키기 위해 병렬 처리가 필수적입니다.
3. 엔지니어링·설계
항공기·자동차 공기역학 해석, 재료 과학 시뮬레이션(분자 동역학), 유체역학 해석(CFD) 등에서 수억~수십억 개 격자로 이루어진 계산을 짧은 시간 내에 수행해야 합니다.
1. 병렬 처리(Parallelism)
여러 대의 컴퓨터(노드)를 서로 연결하고, 각 노드 위에 다수의 CPU 코어 혹은 GPU를 배치해 동시에 여러 연산을 수행합니다.
프로그래밍 관점에서는 MPI(Message Passing Interface)나 OpenMP, CUDA 같은 병렬 프로그래밍 모델을 사용해 작업을 분할·병렬 실행합니다.
2. 고속 네트워크 인터커넥트
노드 간 통신 지연(latency)을 최소화하고, 대용량 데이터를 빠르게 주고받기 위해 InfiniBand, EDR/Omni-Path, NVLink 같은 초고속 네트워크 장비를 사용합니다.
3. 대용량 메모리·스토리지
매우 큰 문제를 다루려면 노드당 수십~수백 기가바이트(또는 수 테라바이트)의 메모리가 필요하며, 결과 데이터를 저장하거나 입출력(I/O)을 처리하기 위해 병렬 파일 시스템(Parallel File System, 예: Lustre, GPFS, BeeGFS)을 사용합니다.
4. 잡 스케줄러(Job Scheduler)
한꺼번에 수십~수천 개의 작업(job)을 여러 노드에 분산시켜 실행해야 하므로, Slurm, PBS, LSF, Grid Engine 같은 스케줄러가 작업 우선순위, 자원 할당, 큐잉(Queue) 등을 관리합니다.
연산 노드(Compute Nodes)
실제 계산을 수행하는 서버. CPU 중심 노드, GPU 가속 노드로 구분되기도 합니다.
각 노드에는 다중 코어 CPU(예: Intel Xeon, AMD EPYC) 또는 GPU(예: NVIDIA Tesla, AMD Instinct)가 달려 있어 병렬 계산을 수행합니다.
헤드 노드(Head Node) 또는 로그인 노드(Login Node)
사용자들이 접속하여 작업을 제출(submit)하고, 모니터링하는 인터페이스 역할을 합니다.
컴파일, 데이터 사전 처리, 잡 제출 스크립트를 작성하는 데 쓰입니다.
프론트엔드 스위치(Front-end Switch)
사용자와 클러스터 간, 혹은 내부 구성 요소 간 통신을 중계하는 관리용 네트워크 장비.
고속 인터커넥트(Interconnect Fabric)
노드 간 메시지 전달을 초저지연·고대역폭으로 처리하는 네트워크. 인피니밴드(InfiniBand)나 Omni-Path, 고속 이더넷(100GbE 이상) 등이 대표적입니다.
병렬 파일 시스템(Parallel File System)
여러 노드가 동시에 대용량 I/O를 수행할 때 병목을 줄이기 위해 다수의 스토리지 장치를 묶어(Striping) 관리하는 파일 시스템. 예를 들어 Lustre, GPFS(IBM Spectrum Scale), BeeGFS 등이 있습니다.
잡 스케줄러(Job Scheduler)
사용자가 제출한 연산 작업을 받아, 적절한 노드 수·코어 수·메모리를 할당한 뒤 순서대로 실행도록 관리합니다.
대표적으로 Slurm, PBS Pro, LSF, Torque, Grid Engine 등이 있으며, 리소스 사용률, 우선순위, 예약(Reservation) 등을 조율합니다.
| 구분 | 일반 서버·클러스터 | 고성능 컴퓨팅(HPC) |
|---|---|---|
| 목적 | 웹 서비스, 애플리케이션 호스팅 | 대규모 연산·병렬 시뮬레이션·빅데이터 처리 |
| 연산 자원 활용 | 싱글 노드 혹은 소수 노드에서 주로 실행 | 수십~수천 대 노드를 서로 연결해 병렬 실행 |
| 통신 지연(latency) | 일반 이더넷(1/10/25 GbE) 사용 | 인피니밴드(100/200/400 Gb/s), Omni-Path 등 초저지연 네트워크 |
| 스토리지 | 단일 서버형 NAS/SAN, 일반 SAN | 병렬 파일 시스템(Lustre, GPFS) |
| 스케줄링 | 단순 VM/컨테이너 오케스트레이션 | Slurm, PBS, LSF 같은 전문 잡 스케줄러 |
| 사용자 | 웹 개발자, 서비스 운영 팀 | 과학자, 연구원, 데이터 엔지니어, 시뮬레이션 전문가 |
https://en.wikipedia.org/wiki/High-performance_computing
https://docs.schedmd.com/