본문으로 건너뛰기

[HPC From Scratch] 에피소드 1: $1,264로 만든 6노드 HPC 클러스터

·5 분
Will Paik
작성자
Will Paik
대규모 GPU 클러스터를 최적화하는 HPC 엔지니어. 밤에는 방구석 미니 슈퍼컴퓨터를 조립하며(가끔은 태워 먹으며) 그 과정을 기록합니다.
HPC From Scratch - 이 글은 시리즈의 일부입니다.
파트 1: 이 글

6노드 클러스터, $1,264. 서버 랙도, 기업 예산도 필요 없습니다.

HPC 101Special Topics 시리즈에서는 HPC 클러스터를 사용하는 방법을 다뤘습니다. 이 시리즈는 클러스터를 직접 만드는 방법을 다룹니다.

앞으로 여러 에피소드에 걸쳐 소비자 하드웨어로 실제 작동하는 HPC 클러스터를 만드는 전 과정을 함께 걸어갈 겁니다. 부품 조달, OS 설치, Slurm 구성, FreeIPA로 아이덴티티 관리 설정, 벤치마킹, 업그레이드까지 전부요. 모든 설정 파일은 GitHub에 공개할 예정입니다.

이번 첫 에피소드에서는 클러스터 구성 부품, 각 부품을 구한 경로, 네트워크 레이아웃, 그리고 클라우드 인스턴스와의 비용 비교를 다룹니다.

1. 왜 클러스터를 만들까요?
#

일반적인 대안은 두 가지인데, 둘 다 장단점이 있습니다.

클라우드 (AWS, GCP, Azure): 멀티노드 컴퓨팅 인스턴스를 24/7 돌리면 비용이 금방 쌓입니다. 3년 세이빙 플랜을 써도 적당한 EC2 인스턴스 2개에 연간 $2,300 이상이 나갑니다 (섹션 5 참고). 순간적인 버스트 워크로드에는 괜찮지만, 항상 켜두고 실험하기에는 현실적이지 않습니다.

싱글 워크스테이션: 고성능 데스크탑은 원시 컴퓨팅 파워는 되지만, 분산 시스템을 배울 수가 없습니다. 단일 머신에서는 네트워크 병목을 경험하거나, Slurm 스케줄링 충돌을 디버깅하거나, MPI 문제를 다루기 어렵거든요. 그러려면 여러 노드가 필요합니다.

실제 슈퍼컴퓨터 아키텍처의 축소판을 책상 위에서 테스트하고, 망가뜨리고, 고칠 수 있는 환경을 만들고 싶었습니다. 대학 연구 클러스터와 동일한 소프트웨어 스택으로 운영됩니다. 작업 스케줄링에는 Slurm, 아이덴티티 관리에는 FreeIPA, 공유 스토리지에는 NFS(Network File System), 병렬 워크로드에는 MPI를 사용합니다.

2. 부품 목록 (Bill of Materials)
#

아래 가격은 2024년 말부터 2025년 말 사이에 실제로 지불한 금액입니다. PC 부품 시장의 최근 가격 상승으로 지금 동일하게 구성하면 총액이 더 높을 수 있습니다.

품목 수량 단가 (USD) 합계 (USD) 상태
Lenovo IdeaPad 1 1 161.00 161.00 리퍼비시
Lenovo ThinkCentre M715q 4 85.90 343.60 중고
HP Envy TE01 1 400.00 400.00 중고
DDR4 SODIMM (Micron) 2 15.00 30.00 중고
DDR4 SODIMM (Hynix) 2 24.00 48.00 중고
Netgear GS308E 1 21.50 21.50 신품
Samsung 990 Pro 1TB 1 109.90 109.90 신품
Sabrent USB-C Hub 1 59.90 59.90 신품
Cat 6 이더넷 케이블 10Gbps (x5) 1 9.90 9.90 신품
NanoKVM 1 69.90 69.90 신품
고무 받침발 1 9.90 9.90 신품
총 비용 1,263.60

부품 구입처:

M715q 4대와 RAM은 eBay에서, HP Envy TE01은 Craigslist 현금 거래로 구했습니다 (영수증은 없습니다). Samsung 990 Pro, Netgear 스위치, USB-C 허브, 케이블, 고무 받침발은 Amazon에서, NanoKVM은 제조사에서 직접 주문했습니다. IdeaPad 1은 Lenovo 리퍼비시 제품입니다.

한국에서는 중고나라, 당근마켓 등에서 유사한 중고 미니 PC와 RAM을 찾을 수 있습니다.

핵심은 조급하지 않는 거였습니다. 한 번에 전부 사지 않고 eBay 매물을 몇 주간 지켜봤고, Craigslist 매물이 뜨면 바로 잡았습니다. M715q 4대의 평균 단가는 $86 미만이었는데, 그 가격이면 4대 합쳐서 중급 GPU 한 개보다 쌉니다.

향후 업그레이드 계획: RTX 5060 Ti와 새 파워서플라이가 GPU 노드에 추가될 예정입니다. 위 비용에는 포함하지 않았는데, 초기 빌드의 필수 구성은 아니거든요. GPU 업그레이드는 별도 에피소드에서 다룰 예정입니다.

3. 클러스터 아키텍처
#

호스트명 역할 하드웨어 CPU 비고
carrier 로그인 노드(Login Node) Lenovo IdeaPad 1 AMD Ryzen 3 7920U (8vCPU, 8GB RAM) WiFi로 인터넷 연결, 이더넷으로 클러스터 스위치 연결
arbiter 관리 노드 Lenovo ThinkCentre M715q Ryzen 5 Pro 2400GE (8 vCPU, 16GB RAM) Slurm 컨트롤러, FreeIPA 서버
interceptor-01 CPU 컴퓨트 노드 Lenovo ThinkCentre M715q Ryzen 5 Pro 2400GE (8 vCPU, 16GB RAM) Slurm 컴퓨트
interceptor-02 CPU 컴퓨트 노드 Lenovo ThinkCentre M715q Ryzen 5 Pro 2400GE (8 vCPU, 16GB RAM) Slurm 컴퓨트
corsair-01 GPU 컴퓨트 노드 HP Envy TE01 Intel i7-10700F (16 vCPU, ~32GB RAM) GTX 1660 Super (업그레이드 예정)
observer 시각화 노드 Lenovo ThinkCentre M715q Ryzen 5 Pro 2400GE (8 vCPU, 16GB RAM) 시각화/모니터링 작업

AMD Ryzen과 Intel이 섞인 구성은 처음에 어색해 보일 수 있습니다. 하지만 실제 HPC에서도 이기종 아키텍처는 표준입니다.

2024년 11월 TOP500 기준 세계에서 가장 빠른 슈퍼컴퓨터인 El Capitan을 보면, AMD MI300A APU를 사용해서 CPU와 GPU 코어를 하나의 패키지에 담습니다. 이 클러스터에서는 그 역할을 별도 노드로 분리한 겁니다. 기본 아이디어는 같습니다. 서로 다른 프로세서가 워크로드의 서로 다른 부분을 처리하는 구조를 책상 위 규모로 구현한 거죠.

모든 노드는 Rocky Linux로 운영됩니다. 소프트웨어 스택은 작업 스케줄링용 Slurm 25.11, 중앙 집중식 아이덴티티 및 인증용 FreeIPA, 공유 스토리지용 NFS (Samsung 990 Pro에서 서빙), 병렬 워크로드용 OpenMPI입니다. 모니터링은 Prometheus와 Grafana가 담당하고, 모든 구성은 Ansible 플레이북으로 관리합니다.

4. 네트워크 구성
#

네트워크 토폴로지는 단순합니다.

네트워크 아키첵쳐 다이어그램

모든 클러스터 노드는 192.168.50.x 서브넷의 Netgear GS308E 기가비트 스위치에 연결됩니다. 스위치는 실제로는 비관리 방식으로 운영합니다. VLAN도, 트렁킹도 없습니다. 내부 클러스터 트래픽은 이 스위치에서 물리적으로 격리됩니다.

로그인 노드(carrier)는 두 개의 네트워크 인터페이스를 가져요. WiFi는 홈 라우터를 통해 인터넷에 연결되고, 이더넷은 클러스터 스위치에 연결됩니다. 로그인 노드가 외부 세계와 내부 클러스터 네트워크 사이의 다리 역할을 하는 겁니다.

이 패턴은 실제 HPC에서도 그대로 씁니다. 로그인 노드가 외부 네트워크와 내부 패브릭의 경계에 위치하는 구조입니다. 차이는 규모와 대역폭입니다. InfiniBand나 Slingshot 대신 기가비트 이더넷을, 스파인-리프 토폴로지 대신 소비자용 스위치를 쓸 뿐입니다.

5. AWS 비용 비교
#

빌드 비용의 맥락을 잡기 위해 AWS에서 비슷한 구성을 운영할 때의 비용을 비교해봤습니다.

비교 기준은 CPU 컴퓨트 노드(interceptor-01, interceptor-02)와 코어 수 및 메모리가 비슷한 c6g.2xlarge 인스턴스 2개입니다. 관리 노드, 시각화 노드, 로그인 노드, GPU 노드는 포함되지 않았습니다. 실제 클러스터 용량은 EC2 인스턴스 2개보다 훨씬 큽니다.

홈 클러스터 (CPU 노드 2개) AWS EC2 (2x c6g.2xlarge)
노드당 vCPU 8 8
노드당 메모리 16 GB 16 GB
아키텍처 x86 (AMD Ryzen 5 Pro) ARM (AWS Graviton2)
네트워크 1 Gbps (관리형 스위치) 최대 10 Gbps
총 초기 비용 $1,264 N/A
연간 비용 전기요금만 $2,300 (3년 세이빙 플랜, N. Virginia)
손익분기점 클라우드 대비 ~7개월 N/A

주의: 이 비교는 노드 수와 메모리 기준이지 원시 성능 기준이 아니에요. c6g.2xlarge 인스턴스는 더 최신 ARM(Graviton2) 코어를 사용하고 네트워킹도 훨씬 빠릅니다. 홈 클러스터가 EC2보다 성능이 뛰어나다는 말이 아니에요. 실제로는 EC2가 훨씬 빠르죠. 하지만 분산 시스템, 작업 스케줄링, 클러스터 관리를 직접 배우는 데는 자체 하드웨어를 구축하는 쪽이 비용 대비 훨씬 빠르게 본전을 뽑고, 클라우드 인스턴스에서는 얻을 수 없는 경험을 쌓을 수 있습니다.

AWS 비용 추정은 AWS Pricing Calculator를 사용했습니다. 구성은 c6g.2xlarge 2개, US East (N. Virginia), Linux, Compute Savings Plans (3년, 선불 없음), 24/7 지속 워크로드 기준입니다.

6. 다음 에피소드
#

에피소드 2에서는 Lenovo ThinkCentre M715q를 직접 열어서 하드웨어를 자세히 살펴볼 겁니다. RAM 업그레이드 방법과, 통합 Vega GPU가 기본적으로 시스템 메모리 일부를 예약하는 BIOS 설정 문제를 어떻게 수정하는지 보여드리겠습니다.

이후 시리즈에서 다룰 내용입니다.

  • 운영체제 설치 및 초기 설정
  • Slurm 설치와 멀티노드 작업 스케줄링
  • 중앙 집중식 인증을 위한 FreeIPA 설정
  • NFS 공유 스토리지 구성
  • GPU 업그레이드 (RTX 5060 Ti 교체 및 파워서플라이 교체)
  • 벤치마킹 및 성능 튜닝
  • 케이블 정리 (언젠간 하게 될 겁니다)

모든 설정 파일과 Ansible 플레이북은 진행하면서 GitHub에 공개할 예정입니다.


즐거운 컴퓨팅 되세요!

HPC From Scratch - 이 글은 시리즈의 일부입니다.
파트 1: 이 글