본문 바로가기

반응형

AI ML

(2)
[MLOps] Kubernetes에서 CUDA MPS 손쉽게 활용하기 1. 개요CUDA MPS(Multi-Process Service)를 활용하여 GPU 리소스를 컨테이너간 Sharing 하여 활용하는 방법에 대해 알아본다. GPU 노드의 GPU 자원을 나눠 사용하는 방법에는 크게 3가지가 존재한다. - Time-Slicing- MIG- MPS 이 중 MIG는 비싼 GPU 노드에서만 사용 가능하니 패스하고 Time-Slicing, MPS만 필자는 알아보았다. Time Slicing은 별도의 노력 없이 Nvidia-Device-Plugin의 단순한 설정만으로 쉽게 설정 및 적용이 가능하다. 하지만 GPU Memory의 격리가 없고 지속적인 Context Switching이 발생하여 Overhead가 높다는 단점이 있다. 그렇다면 이를 해결하기 위해 MPS(Multi Proc..
Kubernetes GPU Operator와 Time Slicing 간단히 알아보기 EKS에서 MLOps를 할 수 있도록 공부중인데 그 과정들을 하나씩 정리해보려 한다. 그 첫 번째로 GPU Operator와 Time Slicing에 대해서 정리해본다. GPU Operator란? NVIDIA GPU Operator는 k8s 클러스터 내에서 NVIDIA 계열의 GPU 노드로 파드를 편하게 관리할 수 있도록 도와주는 툴이다. Operator 패턴이란? Operator 패턴이란 CR(Custom Resource) 파일을 우리가 k8s에게 제공하면 k8s에 파드 형태로 떠있는 Operator가 이를 지속적으로 확인하면서 Custom Resource에 정의된 spec 대로 원하는 리소스들(ex. NVIDIA Device Plugin과 관련된 파드 및 Service Account, Role, ....

반응형