Basis slurm cluster in docker

This commit is contained in:
Marcel Nijenhof
2020-05-31 06:58:17 -04:00
commit 5808ac15b0
18 changed files with 231 additions and 0 deletions

75
README.md Normal file
View File

@@ -0,0 +1,75 @@
# Een mini slurm cluster als docker compose omgeving
## Introductie
Op dit moment zijn we aan het onderzoeken of we via docker containers
een slurm omgeving kunnen maken waarin de Deltares waqua en d-hydro
modelen kunnen draaien.
Dit cluster is een POK van slurm in docker containers.
De doelen hiervan is:
- Uitzoeken of slurm in docker kan draaien
- Uitzoeken of we de deltares modelen hierin kunnen draaien
- Kennis overdracht van slurm
## Build instructies
De submit en reken nodes zijn afhankelijk van een basis image slurm-base.
Hierin staan al een aantal files die op zowel reken nodes als submit node
aanwezig moet zijn.
Deze moet eerst gebouwt worden met een docker commando:
```
docker build -t slurm-base:latest slurm-base
```
Hierna kan het cluster gebouwt worden via:
```
docker-compose build
```
En gestart worden via:
```
docker-compose up -d
```
## Testen
### De status van het cluster
Met de volgende commando's kun je status informatie krijgen:
- sinfo
- squeue
- scontrol ping
- scontrol show nodes
- scontrol show partition
- scontrol show job
### Een simpel shell script
Plaats het volgende shell script ergens in '''/home''':
```
#!/bin/sh
hostname
sleep $(( ${RANDOM}%40+40 ))
```
Vervolgens kun je dit script met sbatch 8 keer submitten.
Wat je ziet is dat elke node 2 scripten start.
De overige 4 blijven in de queue staan.
## Todo
### Nu
- Integratie mpi.
- Integratie waqua/d-hydro.
- Workshop schrijven.
### Voor productie
- Persistent maken job administratie.
- Redundante master nodes.
- Submit nodes die geen master node zijn.