giovtorres/slurm-docker-cluster

A Slurm cluster using docker-compose

해결하는 문제

Slurm Docker Cluster는 Docker Compose를 사용하여 완전히 기능하는 Slurm 클러스터를 빠르게 배포할 수 있는 방법을 제공합니다. 고성능 컴퓨팅(HPC) 환경을 수동으로 설정하는 복잡한 과정을 제거하여, 개발자들이 물리적 하드웨어 클러스터 없이도 작업 스케줄링 테스트, HPC 애플리케이션 개발, 컴퓨팅 리소스 관리를 할 수 있게 해줍니다.

작동 방식

이 프로젝트는 Slurm 환경의 각 구성 요소를 별도의 컨테이너에 격리하는 멀티컨테이너 아키텍처를 사용합니다. 계정 관리를 위한 데이터베이스(MySQL), 스케줄링을 위한 컨트롤러(slurmctld), 그리고 동적 등록을 통해 클러스터에 참여하는 확장 가능한 컴퓨팅 노드(c1, c2 등)를 포함합니다. 또한 프로그래밍 방식으로 접근 가능한 REST API, 웹 기반 포털용 Open OnDemand, 작업 모니터링을 위한 Elasticsearch/Kibana 스택과 같은 선택적 구성 요소도 제공합니다.

대상 사용자

개발자 및 연구자 중에서 개발, 테스트, 또는 경량 사용을 위해 Slurm 호환 환경이 필요한 분들, 특히 복수 노드 간 작업 스케줄링이 필요한 HPC 소프트웨어나 AI/ML 워크로드를 다루는 분들에게 적합합니다.

주요 특징

  • 확장 가능한 컴퓨팅 노드: 클러스터 재구성 없이 CPU 및 GPU 워커를 동적으로 확장 가능.
  • GPU 지원: NVIDIA CUDA 기반 이미지 및 NVIDIA Container Toolkit과의 통합을 통해 하드웨어 가속을 지원.
  • 통합 소프트웨어 관리: 과학적 소프트웨어 패키지의 설치 및 관리를 쉽게 해주는 Spack과 Lmod 포함.
  • 웹 기반 관리: 브라우저 기반 작업 제출 및 파일 관리가 가능한 선택적 Open OnDemand 포털.
  • 다중 아키텍처 지원: AMD64 및 ARM64 아키텍처용 사전 빌드된 이미지 제공.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트