76 lines
1.6 KiB
Markdown
76 lines
1.6 KiB
Markdown
# 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.
|