H-MAS · Hardware-aware Multi-Cluster AI Serving Platform

흩어진 GPU 서버를 하나로 묶어, AI 모델을 알맞은 하드웨어에 자동 배치

남는 GPU 서버 몇 대를 하나로 묶어 쓰려고 만들고 있는 온프레미스 서빙 플랫폼입니다. 웹 콘솔에서 모델을 고르면 알맞은 클러스터에 배포됩니다.

H-MAS 통합 대시보드

Why

왜 만들기 시작했나

GPU 서버가 몇 대 있는데 각각 따로 놀고 있었습니다.

모델 하나 띄우려면 서버에 들어가 yaml을 만지고, 어느 서버가 비어 있는지는 직접 nvidia-smi를 쳐봐야 알고, 안 쓰는 모델이 GPU를 며칠씩 잡고 있어도 아무도 모릅니다. 기본 Kubernetes는 GPU가 NVLink로 묶였는지 PCIe로 묶였는지 모르니 배치도 그냥 빈 곳에 됩니다.

vanilla Kubernetes에 vLLM을 직접 올리는 것과 비교해 본 기록은 이 글에 있습니다. 그 글에서 겪은 번거로움이 이 프로젝트의 출발점입니다.

"웹 화면에서 모델을 띄우고, GPU 점유율을 보고, 미사용 모델은 자동 해제하고, 장애 나면 알림 받고 싶다." — 처음에 적어둔 한 줄 목표. 아직도 이 문장 기준으로 만듭니다.

How

GPU를 묶고, 자동 배치하는 구조

흩어진 GPU 서버를 하나의 컨트롤 플레인으로 묶고, 모델을 알맞은 하드웨어에 자동 배치합니다.

H-MAS 시스템 아키텍처
Management Cluster가 HP/GP/Standard 클러스터로 자동 분배
통합 관리여러 GPU 서버를 하나의 컨트롤 플레인으로 통합
자동 배치모델 크기별 고성능(HP)/가성비(GP) 클러스터로 트래픽 자동 분배
하드웨어 인지 v0.9 로드맵NVLink/PCIe/NUMA 토폴로지 인식, 통신 병목 최소화
고가용성장애 시 다른 클러스터로 자동 Failover
인프라 레이어vLLM 같은 추론 엔진을 대체하는 게 아니라 그 위에서 동작

Console

웹 콘솔에서 모델만 고르면 끝

사람은 선택만, 나머지는 H-MAS가 처리합니다.

1모델 선택
2정책 자동 추천
3배포
4실시간 대시보드
모델 저장소
① 모델 저장소 — 모델·런타임 선택
배포 마법사
② 배포 마법사 — 4단계 배포
실시간 모니터링
③ 실시간 모니터링 — 메트릭 + Pod 로그

Status

지금 되는 것, 아직 안 되는 것

v0.7 기준입니다. 주간 진행 상황은 개발 노트에 남깁니다.

되는 것

  • 모델 등록 → 배포 → API 호출까지 멀티 클러스터에서 동작
  • 모든 모델을 하나의 OpenAI 호환 엔드포인트로 호출
  • vLLM 등 5종 이상의 서빙 런타임
  • Prometheus 기반 TPS·지연시간·GPU 메트릭, Pod 로그
  • 이미지 사전 캐싱, 장애 자동 감지, 클러스터 간 Failover
  • 조직·권한 체계, 관리자 콘솔, 라이트·다크 모드

아직 안 되는 것

  • NVLink/PCIe/NUMA 토폴로지를 보고 배치하는 것. v0.9 목표입니다.
  • 다른 환경에서의 검증. 지금까지는 제 클러스터에서만 돌려봤습니다.
  • 소스 공개. 비공개로 진행하고, 과정은 개발 노트로 남깁니다.
대시보드 라이트 모드
라이트 모드
대시보드 다크 모드
다크 모드

Fit

이런 환경을 생각하고 만듭니다

GPU 서버가 몇 대에서 수십 대, 클라우드는 쓰기 어렵고, 서빙만 보는 사람은 따로 없는 곳. 기존 Kubernetes 위에 설치하고, 데이터와 모델은 그 안에 머뭅니다.

써보고 싶다면

아직 제 환경에서만 돌고 있어서, 다른 환경에서 써보고 싶은 분이 있으면 메일 주세요.
설치를 같이 해보는 정도는 언제든 환영입니다.