giovtorres/slurm-docker-cluster
A Slurm cluster using docker-compose
What it solves
Slurm Docker Cluster provides a way to rapidly deploy a fully functional Slurm cluster using Docker Compose. It eliminates the complex manual setup of a high-performance computing (HPC) environment, allowing developers to test job scheduling, develop HPC applications, and manage compute resources without needing physical hardware clusters.
How it works
The project uses a multi-container architecture where each component of a Slurm environment is isolated in its own container. It includes a database (MySQL) for accounting, a controller (slurmctld) for scheduling, and scalable compute nodes (c1, c2, etc.) that use dynamic registration to join the cluster. It also provides optional components like a REST API for programmatic access, Open OnDemand for a web-based portal, and an Elasticsearch/Kibana stack for job monitoring.
Who it’s for
It is designed for developers and researchers who need a Slurm-compatible environment for development, testing, or lightweight usage, particularly those working with HPC software or AI/ML workloads that require job scheduling across multiple nodes.
Highlights
- Scalable Compute Nodes: Dynamically scale CPU and GPU workers without rebuilding the cluster.
- GPU Support: Integration with NVIDIA CUDA base images and the NVIDIA Container Toolkit for hardware acceleration.
- Integrated Software Management: Includes Spack and Lmod for easy installation and management of scientific software packages.
- Web-Based Management: Optional Open OnDemand portal for browser-based job submission and file management.
- Multi-Arch Support: Pre-built images available for both AMD64 and ARM64 architectures.
Related
- Project
- Project
- Project
- Project
- Project