4GPU Server
8GPU Server
HGX Server
2GPU Workstation
4GPU Workstation
나라장터 등록제품
Compact AI
10GPU Server
WEB Server
WAS Server
고성능 DB
타워형서버
나라장터 등록제품
1CPU Workstation
2CPU Workstation
나라장터 등록제품
Cloud
Open Source
NVIDIA
HCI
Backup
MLOps
HW/SW 유지보수
 DeepOps
DeepOps
    DeepOps는 Nvidia에서 제공하는 GPU 클러스터 배포 자동화 도구입니다.
Ansible을 이용하여 클러스터를 구성하고, Nvidia에서 제공하는 예제를 통해 구동테스트를 할 수 있습니다. DeepOps에서 제공하는 클러스터는 두 가지입니다. 둘 중 하나를 선택하여 구성할 수 있습니다.
 Slurm : 병렬 연산 잡 스케쥴러
 Slurm : 병렬 연산 잡 스케쥴러
             Kubernetes : 컨테이너 오케스트레이션 도구
 Kubernetes : 컨테이너 오케스트레이션 도구
		
 Slurm? Kubernetes? 어떤 클러스터를 사용해야 하나요?
Slurm? Kubernetes? 어떤 클러스터를 사용해야 하나요?Architecture | MULTINODE AI AS A SERVICE STACK WITH KUBERNETES & SLURM

두 클러스터는 “클러스터”라는 이름은 공유하지만, 다른 색을 띠고 있는 서비스입니다. 저는 클러스터 제안 시 아래 기준으로 제안합니다.
 Slurm은
 Slurm은
여러 서버의 리소스를 합쳐서 사용하는데 적합합니다.
 Kubernetes는
 Kubernetes는
여러 서버의 리소스를 나누어 사용하는데 적합합니다.
저는 두 클러스터를 위 기준으로 정리했지만, 상황에 따라 더 적합한 클러스터는 달라질 수 있습니다.
 Slurm은 병렬 연산을 위해 사용할 수 있습니다.
 Slurm은 병렬 연산을 위해 사용할 수 있습니다.
1. 사용자가 일을 전달합니다. 2. 리소스를 확보합니다. 3. 일을 각 서버에 분배합니다. 4. 일을 완료합니다. 5. 다음 예정된 일을 시작합니다.
 Kubernetes를 활용하면 보다 많은 작업을 할 수 있습니다.
 Kubernetes를 활용하면 보다 많은 작업을 할 수 있습니다.
1. 컨테이너 배포를 자동화합니다. 2. 컨테이너 상태를 관리합니다.
물론, 컨테이너를 용도에 맞게 구성하여 Slurm과 같이 병렬 작업을 실행할 수 도 있으리라 생각됩니다. 하지만 많은 노력이 필요하겠네요. kubernetes는 보통 MLOps에서 프로젝트나 사용자 별로 리소스를 배정하거나, 배치 잡을 실행하는데 사용됩니다.
 DeepOps에 포함된 패키지
DeepOps에 포함된 패키지
DeepOps에는 클러스터 패키지 외에도 관리를 위한 패키지도 다수 포함되어 있습니다. 대표적으로 DCGM을 활용하여 Grafana로 출력이 가능합니다. 배포 자동화를 위한 패키지도 포함되어 있습니다. 이런 패키지들을 통해 매우 쉽게 서버를 관리할 수 있고, 매우 쉽게 클러스터를 배포할 수 있습니다.
 배포 전 구성 (공통)
배포 전 구성 (공통)- bootstrap 서버를 따로 사용하지 않고, master에 구성하거나, 클라이언트에 VM으로 구성해도 상관없습니다. bootstrap 서버는 초기 구성시에만 사용하고, 클러스터 구동에 영향을 주지 않습니다. 하지만 추가 패키지 업데이트 등을 진행하려면 bootstrap 이 계속 필요합니다. - 테스트 환경은 GPU 없이 테스트하였습니다. CPU잡 구동은 문제없이 진행됩니다.
 Slurm 구성
Slurm 구성 Kubernetes 구성
Kubernetes 구성 마치며
마치며너무 간단하게 slurm 클러스터와 kubernetes 구성을 해보았습니다. deepops에서 제공하는 설치 패키지는 온프레미스 환경에서 클러스터 구성시 매우 유용하게 사용될 수 있습니다. 클러스터 구성후, 사용 환경에 맞춰 몇 가지 커스텀 후에 바로 사용할 수 있는 매우 좋은 배포 도구입니다.
 이전글
 이전글 
								
