Για να εκτελέσουμε τα προγράμματά μας στο geocluster προχωρούμε στα εξής βήματα:
Κάνουμε login στην μηχανή 195.134.68.21 μέσω κάποιου τοπικού προγράμματος SSH. Tέτοια προγράμματα είναι το putty, το ΜobaXterm κλπ. Στο μηχάνημά μας είναι SSH port=65322.
Ο χρήστης αναπτύσσει στην login (front-end) μηχανή τα προγράμματά του και χρησιμοποιεί τους διαθέσιμους μεταφραστές gcc/c++, gfortran, intel fortran και mpicc (MPI για παράλληλη επεξεργασία).
Αφού δημιουργηθεί το εκτελέσιμο πρόγραμμα, αυτό υποβάλεται για εκτέλεση σε ένα απο τα μηχανήματα node01, node02 (που είναι οι υπολογιστικοί κόμβοι του cluster), μέσω του συστήματος ουρών SLURM
Ομοίως αυτό ισχύει και τα για έτοιμα λογισμικά Matlab, R ,.. που είναι ήδη εγκατεστημένα
Παρακάτω παρουσιάζονται παραδείγματα για τις εντολές srun, sbatch
To srun τρέχει κατευθείαν την εντολή, Interactively π.χ
srun -N 1 -l "/users/giannis/myprog"
παράδειγμα με παραλληλία - τρέχουμε σε 1 μηχάνημα 10 εκτελέσεις με 2 cores για καθε εκτέλεση
srun --nodes=1 --ntasks 10 --cpus-per-task 2 --pty --export=ALL --time=01:00:00 "/bin/hostname"
Το sbatch υποβάλει ένα script, το αποτέλεσμα το παίρνουμε σε αρχείο
sbatch myscript.script
παραδειγμα script σεριακoύ προγράμματος :
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --time=4:00:00
#SBATCH --job-name=MyJobName
#SBATCH --partition=geoall
/users/giannis/myprog
παραδειγμα script για παράλληλο υπολογισμό εργασίας που τρέχει σε 8 cores :
#!/bin/bash
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=8
#SBATCH --time=4:00:00
#SBATCH --job-name=MyJobName
#SBATCH --partition=geoall
/users/giannis/myprog
Mε την εντολή squeue βλέπετε τις δουλειές / jobs που εκτελούνται ή περιμένουν στις ουρές. Με την εντολή scancel <jobid> διακόπτεται μια εργασία
Μια συνοπτική λιστα για slurm commands μπορείτε να βρείτε :
https://bioinformaticsworkbook.org/Appendix/HPC/SLURM/slurm-cheatsheat.html#gsc.tab=0