노드 4개, 각 16GB. BIOS 설정 하나가 Slurm 작업을 조용히 망가뜨릴 수 있습니다.
에피소드 1에서는 클러스터 전체 아키텍처, 비용 분석, 네트워크 레이아웃을 다뤘습니다. 이번 에피소드는 컴퓨트 핵심부에 집중합니다. Lenovo ThinkCentre M715q 4대에 듀얼 채널 메모리(Dual-channel memory)와 NVMe 스토리지를 업그레이드하고, 메모리를 조용히 빼앗아 가는 BIOS 설정을 수정하는 내용입니다.
1. 작업 대상 하드웨어 #
각 M715q는 아주 작은 마이크로 폼팩터 PC입니다. eBay에서 구입했을 때의 기본 사양입니다.
| 사양 | 기본 구성 |
|---|---|
| CPU | AMD Ryzen 5 Pro 2400GE (4C/8T, 35W TDP) |
| RAM | 8GB DDR4 SO-DIMM (단일 슬롯, 싱글 채널) |
| 부트 드라이브 | 240GB 2.5" SATA SSD |
| M.2 슬롯 | 비어 있음 (NVMe 지원) |
| 통합 GPU | AMD Radeon RX Vega 11 |
Ryzen 5 Pro 2400GE는 35W 부품입니다. 조용하고 전력 소비도 적어서 책상 위에 4대를 올려두기에 딱 맞습니다. 노드당 4코어 8스레드로, M715q 노드 전체에서 총 32스레드가 나옵니다.
싱글 채널 8GB RAM은 대부분의 HPC 워크로드에 부족합니다. 부트 드라이브가 2.5" SATA SSD라는 점은 스토리지 업그레이드에서 오히려 유리하게 작용했습니다.
2. 스토리지 업그레이드 경로 #
첫 번째 M715q를 열어보니 2.5" 베이에 240GB SATA SSD가 있고, 마더보드에 비어 있는 M.2 NVMe 슬롯이 있었습니다.
OS가 SATA 드라이브에서 부팅되니까 고속 M.2 슬롯이 비어 있는 겁니다. 관리 노드에 Samsung 990 Pro 1TB를 설치해서 클러스터 전체의 NFS 스토리지로 쓸 수 있겠다는 걸 바로 알아챘습니다.
만약 부트 드라이브가 M.2 SSD였다면 (이 모델의 기본 옵션 중 하나로 알고 있습니다) 업그레이드 경로가 달라졌을 겁니다. 그 경우엔 NFS용 일반 SATA SSD를 따로 샀겠죠. 손에 있는 하드웨어에 맞춰 작업하는 겁니다.
PCIe Gen 4 NVMe 드라이브는 기가비트 이더넷 네트워크에는 사실 과사양입니다. 게다가 M715q의 M.2 슬롯이 PCIe 3.0이라 990 Pro도 Gen 3 속도로 작동합니다. 드라이브보다 네트워크가 먼저 병목이 되는 구조입니다. 실제 처리량은 이후 에피소드에서 벤치마킹할 예정입니다.
참고: NVMe 드라이브는 관리 노드에만 설치합니다. 나머지 M715q 세 대는 기존 240GB SATA SSD를 부트 드라이브로 유지합니다. 작업이 NFS에서 데이터를 읽을 때 컴퓨트 노드에 로컬 고속 스토리지는 필요 없거든요.
3. RAM 업그레이드: 8GB에서 16GB 듀얼 채널로 #
8GB는 대부분의 HPC 워크로드에 부족합니다. 기존 스틱을 16GB 단일 모듈로 교체하는 대신, 두 번째 8GB 스틱을 추가했습니다.
각 M715q는 한 슬롯에 8GB DDR4 SO-DIMM이 하나 꽂혀 있고 나머지 슬롯은 비어 있습니다. 8GB 스틱을 추가로 구입해서 빈 슬롯에 설치하면 두 가지 장점이 생깁니다.
- 용량 두 배 (8GB에서 16GB로)
- 듀얼 채널 메모리 대역폭
컴퓨팅에서 듀얼 채널은 중요합니다. 단일 스틱에서는 CPU가 하나의 채널로 메모리에 접근합니다. 두 슬롯에 스틱이 모두 꽂히면 두 채널을 동시에 읽고 쓸 수 있습니다. 이론적으로 메모리 대역폭이 약 두 배가 되는데, 이는 MPI와 수치 연산 같은 메모리 바운드 워크로드 성능에 직접 영향을 줍니다.
RAM 호환성
M715q는 DDR4 SO-DIMM (노트북 사이즈) 메모리를 씁니다. 중고 RAM을 살 때는 기존 스틱과 사양을 최대한 맞춰야 합니다.
| 사양 | 맞춰야 할 항목 |
|---|---|
| 폼 팩터 | DDR4 SO-DIMM |
| 용량 | 8GB (기존 스틱과 맞추기 위해) |
| 속도 | DDR4-2666 이상 (2400GE는 최대 2933 지원) |
| 전압 | 1.2V (표준 DDR4) |
(제가 구입한 M715q에는 DDR4-2666이 들어 있었습니다)
RAM 스틱은 eBay에서 구입했습니다. 4개에 총 $78이었는데, 노드당 업그레이드 비용이 약 $20입니다. 새 16GB 키트(2x8GB)를 사면 더 비싸지만 호환성은 보장됩니다.
팁: 호환성이 확실하지 않으면 공식 스펙 시트를 확인하고 그에 맞는 부품을 검색해보세요.
설치
M715q를 여는 건 어렵지 않습니다. 뒤판 나사 하나를 빼고 상단 커버를 밀면 내부가 완전히 보입니다. 2.5" SATA 베이를 빼면 (나사 하나, 앞으로 밀어내기) 두 개의 SO-DIMM 슬롯이 바로 보입니다. 새 스틱을 빈 슬롯에 꽂고 클립이 찰칵 고정될 때까지 밀어 넣으면 됩니다.
4개 노드 전부 업그레이드했습니다. 관리 노드는 Samsung 990 Pro NVMe 드라이브도 함께 설치해서 약간 더 걸렸고, 나머지 세 대는 RAM만이라 빠르게 처리했습니다.
4. iGPU 메모리 함정 #
나중에 몇 시간의 디버깅을 아낄 수 있는 내용입니다.
RAM을 설치한 뒤 NanoKVM을 사용해 관리 노드를 Linux Live USB로 부팅했습니다 (모니터나 키보드 없이 브라우저로 제어 가능). 터미널을 열고 실행했습니다.
$ free -m
total used free shared buff/cache available
Mem: 15661 1656 10369 73 3989 1400515,661 MiB가 나왔습니다. 16GiB (16,384 MiB)를 설치했는데, 나머지 ~700 MiB는 어디 갔을까요?
답은 통합 Vega GPU입니다. Ryzen APU는 시스템 RAM을 iGPU(통합 GPU)와 공유합니다. GPU가 물리적 메모리 일부를 VRAM(비디오 메모리)으로 예약하는데, 운영체제는 그 부분을 볼 수 없습니다.
다음 명령어로 확인했습니다.
$ dmesg | grep VRAM출력에서 256MB가 VRAM으로 할당된 걸 확인했습니다.

BIOS 설정: UMA Frame Buffer Size
iGPU에 예약되는 RAM의 양은 UMA Frame Buffer Size라는 BIOS 설정으로 조정합니다. 제 기기의 기본값은 Auto였고, 256MB를 잡아가고 있었습니다.
Auto가 이미 256MB를 선택하고 있는데 왜 굳이 바꿀까요? Auto는 펌웨어가 알아서 결정하기 때문에, BIOS 업데이트나 하드웨어 구성 변경 후에 그 결정이 달라질 수 있습니다. iGPU가 갑자기 256MB 대신 512MB를 가져가면 Slurm 작업이 실패하기 시작하는데, 오류 메시지는 BIOS를 가리키지 않습니다.
값을 고정해두면 그런 불확실성이 사라집니다.

Slurm에서 이게 중요한 이유
이후 시리즈에서 Slurm을 설정할 때 각 노드의 메모리를 slurm.conf의 RealMemory 파라미터로 선언해야 합니다. 16GB를 설치했으니까 RealMemory=16000이라고 설정하면, Slurm이 존재하지 않는 메모리를 할당하려 합니다. 작업이 메모리 부족 오류로 크래시가 나게됩니다.
올바른 방법은 이러합니다.
- 노드 부팅
free -m실행 후total값 확인- 그 숫자(또는 약간 낮은 값)를
RealMemory로 사용
# slurm.conf 예시
NodeName=interceptor-01 CPUs=8 RealMemory=15600 State=UNKNOWN메가바이트 하나하나가 중요합니다. 지금 기록해두면 나중에 디버깅 시간을 아낄 수 있습니다.
5. 업그레이드 비용 요약 #
이번 에피소드의 업그레이드 비용입니다.
| 품목 | 수량 | 단가 (USD) | 합계 (USD) |
|---|---|---|---|
| DDR4 8GB SO-DIMM (Micron) | 2 | 15.00 | 30.00 |
| DDR4 8GB SO-DIMM (Hynix) | 2 | 24.00 | 48.00 |
| Samsung 990 Pro 1TB NVMe | 1 | 109.90 | 109.90 |
| 에피소드 합계 | $187.90 |
에피소드 1의 M715q 4대($343.60)와 합치면 컴퓨트 백본 누적 비용은 $531.50입니다. 16GB 듀얼 채널 RAM과 1TB NVMe 스토리지를 갖춘 Ryzen 노드 4대가 그 가격입니다.
NFS 공유 드라이브를 제외한 노드당 단가: 16GB RAM을 갖춘 Ryzen 4C/8T 컴퓨트 노드 하나에 약 $105입니다.
6. 다음 에피소드 #
컴퓨트 백본이 조립되고 검증됐습니다. 하지만 네트워크 없는 하드웨어는 그냥 금속 더미입니다.
에피소드 3에서는 클러스터의 나머지 부분을 살펴볼 겁니다. Intel i7-10700F가 들어간 HP Envy TE01 GPU 노드, 모든 것을 연결하는 기가비트 네트워크 스위치, 그리고 로그인 노드가 WiFi로 클러스터를 인터넷에 연결하는 이유를 다룹니다.
즐거운 컴퓨팅 되세요!