나를 위한 작은 PC 클러스터로 병렬 컴퓨팅 설정하기

R-Blogger · 블로그·해설 · 2026-01-18

R-Blogger블로그·해설한국어2026-01-18

나를 위한 작은 PC 클러스터로 병렬 컴퓨팅 설정하기

작은 PC 클러스터를 이용한 병렬 컴퓨팅 가이드 동기와 목표 이해를 돕기 위해 작은 PC들을 모아 병렬 컴퓨팅 환경을 구축해보았습니다. Ubuntu 설치, 무비밀번호 SSH 설정, 노드 간 패키지 자동 설치, R 시뮬레이션 배포, 그리고 CV5와 CV10 성능 비교 등을 정리한 글입니다. 주요 목표 어떤 PC를 구매할까? Ubuntu 설치 IP 주소 정렬 및 고정화 무비밀번호 SSH 설정 여러 명령을 SSH로 전송 R 설치 시뮬레이션용 템플릿 R 스크립트 만들기 모든 노드에 패키지 설치 R 스크립트 업로드 및 실행 데이터 추출 시간 비교 어떤 PC를 구매할까? 가성비가 좋고 기능적인 작은 PC를 선호합니다. 예를 들어 중고 Lenovo M715q Tiny PC 같은 모델이 적합합니다. Ubuntu 설치 Ubuntu Server 다운로드 balenaEtcher를 이용해 부팅 가능한 USB 생성 Lenovo 부팅 시 F12를 지속적으로 눌러 USB 부팅 옵션 선택 (불가 시 F1로 BIOS 진입 후 CSM Support를 Enabled 로 설정) USB를 Primary Boot Priority 첫 번째로 설정하고 F10으로 저장 후 재부팅 LAN으로 인터넷 연결 확인 후 Ubuntu 설치 진행 (사용자명, 비밀번호 등 설정) 설치 후 재부팅 시 USB를 분리 (분리하지 않으면 알림 표시) IP 주소 정렬 및 고정화 라우터 설정에서 클러스터 PC에 192.168.1.101, 192.168.1.102, 192.168.1.103 등과 같은 정적 IP를 지정합니다. 변경 후 클러스터 PC를 재부팅해야 할 수 있습니다. 무비밀번호 SSH 설정 SSH 키를 생성하고 노드에 복사하면 비밀번호 없이 로그인할 수 있습니다. # 키 생성 ssh-keygen -t ed25519 # 노드에 키 복사 ssh-copy-id -i ~/.ssh/my_key.pub username1@192.168.1.101 위 명령을 실행하면 비밀번호를 한 번만 입력하면 됩니다. 무비밀번호 sudo 설정 (선택) 설치 과정에서 반복적인 비밀번호 입력을 피하려면 다음 명령으로 sudo 비밀번호 없이 실행할 수 있도록 설정합니다. ssh -t username2@192.168.1.102 'echo "$(whoami) ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/$(whoami)' 모든 노드에 대해 위 명령을 수행해야 합니다. SSH로 여러 명령 전송 R을 모든 노드에 설치하려면 아래와 같이 반복문을 사용합니다. for host in username1@192.168.1.101 username2@192.168.1.102 username3@192.168.1.103; do ssh -t $host 'sudo apt update && sudo apt install -y r-base r-base-dev' done 시뮬레이션용 템플릿 R 스크립트 만들기 노드별로 R 스크립트를 실행해 멀티코어를 활용하도록 구성합니다. 예시는 아래와 같습니다. library(future) library(future.apply) library(dplyr) library(SuperLearner) library(ranger) library(xgboost) library(glmnet) plan(multicore, workers = 4) set.seed(1) # 시뮬레이션 코드 삽입 패키지 자동 설치 스크립트 내에 필요한 패키지를 지정해 두면, R 스크립트가 실행될 때 해당 패키지를 자동으로 설치하도록 할 수 있습니다. R 스크립트 업로드 및 실행 작성한 Rscript를 각 노드에 복사하고 실행합니다. scp myscript.R username1@192.168.1.101:/home/username1/ ssh -t username1@192.168.1.101 'Rscript myscript.R' 데이터 추출 및 시간 비교 시뮬레이션 결과를 중앙 서버로 전송하거나 파일로 저장한 뒤, CV5와 CV10의 실행 시간을 비교합니다. 향후 개선 기회 네트워크 대역폭 최적화 노드 간 데이터 전송 최소화 자동화 스크립트 개선 배운 점 작은 PC 클러스터를 직접 구축해 보는 것은 실무에 큰 도움이 됩니다. 각 단계별로 세심한 설정이 필요하며, 무비밀번호 SSH와 무비밀번호 sudo 설정은 운영 효율성을 크게 향상시킵니다.
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
원문에서 전체 글 읽기
작성자
R-Blogger
출처
R-Blogger
플랫폼
R-Blogger
분류
블로그·해설
언어
한국어
발행일
2026-01-18