Project-HAMi/HAMi
Heterogeneous GPU Sharing on Kubernetes
해결하는 문제
HAMi는 Kubernetes 클러스터에서 GPU 할당이 비효율적인 문제를 해결합니다. 작은 작업에 전체 GPU가 할당되는 경우가 많아 자원이 낭비됩니다. 또한 NVIDIA GPU, NPUs, DCUs 등 다양한 가속기 하드웨어를 단일 통합 워크플로우로 관리하는 문제도 해결하여 벤더 종속성을 방지하고 AI 팀의 인프라 관리를 간소화합니다.
작동 방식
HAMi는 Kubernetes와 하드웨어 사이의 가상화 미들웨어 계층으로 작동합니다. 변형 웹훅(mutating webhook), 스케줄러 확장자(scheduler extender), 장치 플러그인을 사용하여 포드 제출을 가로채고, 가속기의 메모리 또는 컴퓨팅 코어의 특정 비율을 할당합니다. 이를 통해 여러 워크로드가 하나의 물리적 장치를 공유하면서도 리소스 격리를 유지할 수 있으며, 애플리케이션 코드 변경 없이도 가능합니다.
대상 사용자
Kubernetes 기반 AI 클러스터를 관리하는 플랫폼 엔지니어 및 AI 인프라 팀으로, GPU 활용도를 높이고, 멀티테넌트 환경(노트북, 추론 서버 등)을 지원하며, 다양한 벤더의 이종 하드웨어를 관리하고자 하는 분들에게 적합합니다.
주요 특징
- 장치 공유: 메모리, 코어, 장치 수 기반으로 물리적 가속기의 일부를 할당 가능.
- 이종 지원: NVIDIA GPU 및 다양한 다른 가속기(NPUs, DCUs, MLUs 등)를 통합 관리.
- 장치 인식 스케줄링: 비ン패킹, 스프레드, 토폴로지 인식 정책을 지원하여 워크로드 배치 최적화.
- 애플리케이션 변경 없음: 표준 Kubernetes 리소스 요청 및 제한과 호환.
- 관측성: 가속기 사용 현황을 모니터링할 수 있는 WebUI 및 Grafana 대시보드 포함.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트