본문 바로가기
[GPUaaS]/SLURM

[SLURM] GPU 서버를 효율적으로 나눠 쓰게 해주는 작업 관리자!!

by METAVERSE STORY 2026. 2. 8.
반응형

 

 

 

1️⃣ SLURM이란 무엇인가?

SLURM
👉 **여러 대의 서버(GPU 서버 포함)를 효율적으로 나눠 쓰게 해주는 “작업 관리자”**입니다.

정식 이름은
Slurm Workload Manager 입니다.

쉽게 말해,

✅ “누가”
✅ “언제”
✅ “어떤 서버(GPU)”에서
✅ “얼마나 오래”
일을 할지 자동으로 정해주는 시스템

입니다.


2️⃣ 왜 SLURM이 필요한가?

❌ SLURM이 없으면?

  • 사람이 직접 서버 골라서 접속
  • 동시에 여러 사람이 쓰면 충돌
  • GPU가 놀거나, 한 사람이 독점
  • 장애 나면 누가 뭘 쓰는지 모름

✅ SLURM이 있으면?

  • 서버/GPU를 공정하게 분배
  • 먼저 신청한 작업부터 자동 순서 처리
  • 여러 사람이 동시에 써도 충돌 없음
  • 사용량, 시간, 실패 여부 기록 관리

👉 대규모 GPU 환경에서는 거의 필수입니다.


3️⃣ SLURM은 어떤 환경에서 쓰이나?

주로 이런 곳에서 씁니다:

  1. AI / 딥러닝 학습
    • 멀티 GPU
    • 멀티 노드 학습
  2. 연구소 / 대학
    • 슈퍼컴퓨터
  3. 기업 내부 GPU 클러스터
  4. HPC(고성능 컴퓨팅) 환경

👉 “GPU 임차지원”, “멀티 노드”, “분산 학습”
이런 말이 나오면 SLURM이 뒤에서 돌아가고 있을 확률이 높아요.


4️⃣ SLURM의 기본 개념 (아주 중요)

초보자가 꼭 알아야 할 5가지 핵심 개념입니다.


① 노드(Node)

  • 노드 = 서버 1대
  • GPU 서버 1대 = 노드 1개

예:

노드 A (GPU 8장)
노드 B (GPU 8장)
노드 C (GPU 8장)

② 파티션(Partition)

  • 노드 묶음
  • “이 작업은 이 그룹에서만 실행 가능”

예:

partition_gpu_small
partition_gpu_large
partition_test

👉 사용자는 보통 어느 파티션을 쓸지 지정합니다.


③ 잡(Job)

  • 실행하고 싶은 작업 1개
  • 예: “딥러닝 학습 한번 돌리기”

👉 SLURM은 Job 단위로 일 처리를 합니다.


④ 큐(Queue)

  • 잡이 대기하는 줄
  • 앞에 잡이 많으면 기다림
  • 자원이 생기면 자동 실행

👉 “왜 아직 안 돌아?” → 큐에서 대기 중


⑤ 스케줄러(Scheduler)

  • SLURM의 두뇌
  • 어떤 잡을 먼저 실행할지 결정

기준 예:

  • 먼저 신청한 사람
  • 우선순위 높은 프로젝트
  • GPU 남는지 여부

5️⃣ SLURM에서 작업은 어떻게 실행될까? (흐름)

아주 중요합니다. 순서대로 볼게요.


✅ 1단계: 사용자가 작업 요청

“GPU 4장 쓰고, 10시간 학습할게요”


✅ 2단계: SLURM이 자원 확인

  • 지금 GPU가 남아 있는지?
  • 요청한 시간만큼 가능한지?

✅ 3단계: 가능하면 바로 실행

  • GPU 비어 있음 → 즉시 실행

❌ 아니면?

  • 큐에 넣고 대기

✅ 4단계: 작업 실행

  • SLURM이 자동으로 서버 배정
  • 사용자는 서버 위치 몰라도 됨

✅ 5단계: 작업 종료

  • 정상 종료 or 에러
  • 사용 시간 기록
  • GPU 반환

6️⃣ SLURM을 쓰면 사용자는 뭘 하게 되나?

보통 사용자는 이런 것만 합니다:

  1. 잡 스크립트 작성
  2. 잡 제출
  3. 상태 확인
  4. 결과 확인

예시 (초보용 개념 이해)

 
 
 
 
Shell
 
sbatch train.sh
더 많은 선 표시

뜻:

“이 학습 작업을 SLURM에게 맡길게요”


 
 
 
 
Shell
 
squeue
더 많은 선 표시

뜻:

“지금 내 작업 어디까지 왔어?”


 
 
 
 
Shell
 
scancel 12345
더 많은 선 표시

뜻:

“이 작업 취소할게요”


7️⃣ SLURM과 Kubernetes(k8s)의 차이 (간단 비교)

구분 SLURM Kubernetes
주 용도 연구 / AI 학습 서비스 운영
작업 단위 Job Pod
GPU 학습 ✅ 매우 강함 ✅ 가능
장시간 학습 ✅ 최적 ⚠️ 설정 필요

👉 학습 중심 → SLURM
👉 서비스 중심 → Kubernetes


8️⃣ 초보자가 자주 헷갈리는 포인트

❓ SLURM은 클라우드인가?

❌ 아니요
자원 관리 소프트웨어입니다


❓ SLURM이 GPU를 빌려주나요?

❌ 직접 빌려주지는 않음
누가 GPU를 쓰는지 조율


❓ 서버에 직접 접속하면 안 되나요?

⚠️ 가능은 하지만
SLURM 쓰는 환경에서는 권장 안 함


9️⃣ 한 문장으로 요약하면

SLURM은 여러 사람이 GPU 서버를 싸우지 않고, 공정하고 안정적으로 쓰게 해주는 ‘작업 교통정리 시스템’이다.

 

 

 

반응형

댓글