HPC & GPU Engineering/Platform Essentials

📘 고성능 AI 컴퓨팅 인프라 용어 사전 (33) – Node Affinity / Anti-Affinity: GPU 워크로드 배치 전략

ygtoken 2025. 8. 10. 08:14
728x90

 

AI 인프라에서 GPU는 아주 비싼 자원입니다.

그래서 어떤 노드에 어떤 워크로드를 배치할지는 비용과 성능에 매우 큰 영향을 미칩니다.

 

특히 Kubernetes 기반 환경에서는

단순히 “돌아만 가는” 것이 아니라,

자원의 물리적 위치와 상호 작용을 고려한 배치 전략이 필요합니다.

 

이번 글에서는 이를 가능하게 하는 Node Affinity / Anti-Affinity 개념을 정리해봅니다.

 


기본 개념 요약

용어 설명
Node Affinity 특정 노드에 “붙도록” 배치 (선호 또는 강제)
Node Anti-Affinity 특정 노드를 “피해서” 배치
Pod Affinity / Anti-Affinity 특정 Pod와 “같이” 또는 “떨어져서” 배치

 


Node Affinity의 예시

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
        - matchExpressions:
            - key: gpu-type
              operator: In
              values:
                - a100

📌 의미: "gpu-type: a100" 라벨이 붙은 노드에만 배치하라

 


실무 활용 예시

시나리오 전략 설명
GPU 종류별 클러스터 구성 Node Affinity A100 / H100 분리 운용
여러 GPU를 가진 노드 집중 사용 Preferred Affinity 단일 노드 집중 배치
고가형 GPU에 테스트 Job 배치 방지 Anti-Affinity 낮은 우선순위 Job 분산
한 노드에 너무 많은 Job 몰림 방지 Pod Anti-Affinity 같은 타입끼리 분리 배치
장애 분산 (High Availability) Topology-aware Anti-Affinity Zone 또는 Rack 기준으로 분산

 


배치 전략 구성 요소

요소 설명
requiredDuringSchedulingIgnoredDuringExecution 배치 시 반드시 만족해야 하는 조건
preferredDuringSchedulingIgnoredDuringExecution 선호 조건 (안 되면 무시하고 실행 가능)
topologyKey 배치 분산 기준 (kubernetes.io/hostname, topology.kubernetes.io/zone 등)

 


GPU 클러스터에서의 확장 활용

 

  • MIG를 사용하는 경우, GPU ID 기준으로 Pod 간 간섭 회피
  • Volta / Ampere / Hopper 세대별 분리
  • Spot 노드와 온디맨드 노드를 별도 운영
  • Job priority에 따라 전용 노드 할당

 


주의 사항

 

  • 잘못된 Anti-Affinity 조건은 Job을 영원히 대기 상태로 만들 수 있음
  • 너무 많은 preferred 조건은 스케줄러 성능 저하 유발
  • 실제 노드 라벨링 전략과 연동이 중요

 


마무리

 

GPU 클러스터는 단순히 “많이 갖는 것”보다

어떻게 잘 나눠서 쓰느냐가 중요합니다.

 

Node Affinity와 Anti-Affinity는

운영 효율을 높이고 장애 영향을 최소화하는 핵심 배치 전략입니다.

 

 

728x90