Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Brevi istruzioni cluster tnt (nato nel 2020 con i fondi PRIN CO-NEST) | ||||||||
Line: 75 to 75 | ||||||||
le righe mkdir e cd vanno modificate con un nome di directory specifico (temporaneo) per quella simulazione (per evitare che diverse simulazioni scrivano sulle stesse directory); l'eseguibile ovviamente lo scegliete voi; le righe finali ("mv ....") vanno personalizzate con molta attenzione: e' vostra cura spostare tutto quello che e' stato prodotto dalla simulazioni e che ritenete necessario conservare dalla dir dove ha girato alla home, in una directory apposita (vostra cura evitare di sovrascrivere altri vostri dati); è anche importante cancellare la directory temporanea dove ha girato la simulazione: facendo in questo modo tutto quel che non viene spostato (con i comandi "mv...") viene perso; ovviamente potete anche non mettere questi comandi alla fine, ma questo significa accumulare dati nei dischi dei nodi rischiando di finire lo spazio (nei nodi lo spazio e' molto minore); gli amministratori periodicamente libereranno spazio nei dischi dei nodi | ||||||||
Added: | ||||||||
> > | GUIDA VELOCE DEI COMANDI DI SLURM: https://slurm.schedmd.com/pdfs/summary.pdf | |||||||
ALTRA DOCUMENTAZIONE PER IL SISTEMA DI CODE: il sistema di code si chiama "slurm" ed e' molto ben documentato (ed e' pieno di opzioni), si veda https://slurm.schedmd.com/documentation.html si puo' trovare anche un tutorial veloce e ben fatto qui: https://support.ceci-hpc.be/doc/_contents/QuickStart/SubmittingJobs/SlurmTutorial.html | ||||||||
Line: 85 to 87 | ||||||||
ACCEDERE AI FILE SUI NODI LOCALI: durante l'esecuzione, ogni utente puo' vedere i file che vengono generati durante la simulazione controllando (tramite comando squeue) quale nodo N sta runnando il processo che vi interessa e poi andando su /mnt/ssd_nodeN/nomeutente | ||||||||
Added: | ||||||||
> > | RIPRISTINO DEI NODI DOPO CAMBIO STRUTTURA: 1) aggiornare /etc/slurm/slurm.conf 2) copiarlo su tutti i nodi (tutti!) ssh -p /etc/slurm/slurm.conf node1:/etc/slurm/slurm.conf … 3) riavviare i demoni sui nodi (tutti!) ssh node1 systemctl restart slurmd …. 4) riavviare il demone di controllo in locale systemctl restart slurmctld 5) rimettere in up tutti i nodi (tutti!) (perchè di default il sistema torna allo status precedente che era down) scontrol update NodeName=node1 State=RESUME … .. 6) controllare che non ci sia niente down sinfo —a | |||||||
-- Andrea Puglisi - 2020-12-01 |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Brevi istruzioni cluster tnt (nato nel 2020 con i fondi PRIN CO-NEST) | ||||||||
Line: 34 to 34 | ||||||||
mv * /home/puglisi/risultati cd .. | ||||||||
Changed: | ||||||||
< < | rmdir nuovadirectory | |||||||
> > | rm -fr nuovadirectory | |||||||
mv "slurm-"$SLURM_JOB_ID".out" /home/puglisi/risultati mv "slurm-"$SLURM_JOB_ID".err" /home/puglisi/risultati | ||||||||
Line: 66 to 66 | ||||||||
cd nuovadirectory IMPORTANTE (se create una dir ci dovete entrare) cp /home/puglisi/eseguibili/disks . OBBLIGATORIA (il vostro programma/simulazione deve essere copiato da dove si trova a dove siete ora) srun ./disks OBBLIGATORIA (esegue la simulazione) | ||||||||
Changed: | ||||||||
< < | mv * /home/puglisi/risultati IMPORTANTE (copiate i dati che ha generato il vostro programma in una cartella nella home, da modificare a piacere) | |||||||
> > | mv * /home/puglisi/risultati IMPORTANTE (spostate i dati che ha generato il vostro programma in una cartella nella home, da modificare a piacere) | |||||||
cd .. IMPORTANTE (uscite dalla dir se ci eravate entrati) | ||||||||
Changed: | ||||||||
< < | rmdir nuovadirectory IMPORTANTE (cancellate la dir che non serve più) | |||||||
> > | rm -fr nuovadirectory IMPORTANTE (cancellate la dir che non serve più) | |||||||
mv "slurm-"$SLURM_JOB_ID".out" /home/puglisi/risultati UTILE (se volete ritrovare anche il file con lo stdout lo copiate nel posto dove tenete i risultati) | ||||||||
Changed: | ||||||||
< < | mv "slurm-"$SLURM_JOB_ID".err" /home/puglisi/risultati UTILE (se volete ritrovare anche il file con lo stdout lo copiate nel posto dove tenete i risultati) | |||||||
> > | mv "slurm-"$SLURM_JOB_ID".err" /home/puglisi/risultati UTILE (se volete ritrovare anche il file con lo stderr lo copiate nel posto dove tenete i risultati) | |||||||
le righe mkdir e cd vanno modificate con un nome di directory specifico (temporaneo) per quella simulazione (per evitare che diverse simulazioni scrivano sulle stesse directory); l'eseguibile ovviamente lo scegliete voi; le righe finali ("mv ....") vanno personalizzate con molta attenzione: e' vostra cura spostare tutto quello che e' stato prodotto dalla simulazioni e che ritenete necessario conservare dalla dir dove ha girato alla home, in una directory apposita (vostra cura evitare di sovrascrivere altri vostri dati); è anche importante cancellare la directory temporanea dove ha girato la simulazione: facendo in questo modo tutto quel che non viene spostato (con i comandi "mv...") viene perso; ovviamente potete anche non mettere questi comandi alla fine, ma questo significa accumulare dati nei dischi dei nodi rischiando di finire lo spazio (nei nodi lo spazio e' molto minore); gli amministratori periodicamente libereranno spazio nei dischi dei nodi |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Brevi istruzioni cluster tnt (nato nel 2020 con i fondi PRIN CO-NEST) | ||||||||
Line: 14 to 14 | ||||||||
i programmi vanno lanciati usando il sistema di code che si occupa di allocare ogni programma sul nodo piu' libero; si prega di non lanciare programmi direttamente da terminale perche' questi verrebbero eseguiti dal nodo di login che ha pochissime risorse; il modo per eseguire un job tramite sistema di code e' il seguente | ||||||||
Changed: | ||||||||
< < | 1) scrivere uno script di esecuzione, si consiglia di farlo in bash, chiamandolo (ad esempio) submit.sh; qui c'e' un esempio | |||||||
> > | 1) scrivere uno script di esecuzione, si consiglia di farlo in bash, chiamandolo (ad esempio) submit.sh; qui c'e' un esempio funzionante che vi suggeriamo di seguire (adattandolo un poco con le istruzioni che seguono) | |||||||
| ||||||||
Line: 22 to 22 | ||||||||
#!/bin/bash #SBATCH --chdir=/mnt/ssd/puglisi/ #SBATCH --job-name=test | ||||||||
Changed: | ||||||||
< < | #SBATCH --output=res.txt | |||||||
> > | #SBATCH --error=slurm-%A.err #SBATCH --output=slurm-%A.out | |||||||
#SBATCH --ntasks=1 mkdir nuovadirectory | ||||||||
Line: 27 to 28 | ||||||||
mkdir nuovadirectory cd nuovadirectory | ||||||||
Added: | ||||||||
> > | ||||||||
cp /home/puglisi/eseguibili/disks . srun ./disks | ||||||||
Changed: | ||||||||
< < | mv res.txt /home/puglisi/prova mv * /home/puglisi/prova | |||||||
> > | mv * /home/puglisi/risultati | |||||||
cd .. | ||||||||
Added: | ||||||||
> > | ||||||||
rmdir nuovadirectory | ||||||||
Added: | ||||||||
> > | mv "slurm-"$SLURM_JOB_ID".out" /home/puglisi/risultati mv "slurm-"$SLURM_JOB_ID".err" /home/puglisi/risultati | |||||||
| ||||||||
Line: 52 to 57 | ||||||||
#!/bin/bash OBBLIGATORIA #SBATCH --chdir=/mnt/ssd/puglisi/ OBBLIGATORIA (ma cambiare "puglisi" nel vostro user) | ||||||||
Changed: | ||||||||
< < | #SBATCH --job-name=test OBBLIGATORIA (ma potete cambiare a piacimento il nome "test") #SBATCH --output=res.txt UTILE (e "res.txt" si può cambiare, in questo file viene scritto stdout) | |||||||
> > | #SBATCH --job-name=test OBBLIGATORIA (ma ovviamente conviene cambiare il nome "test") #SBATCH --error=slurm-%A.err UTILE (in questo file viene scritto stderr) #SBATCH --output=slurm-%A.out UTILE (in questo file viene scritto stdout) | |||||||
#SBATCH --ntasks=1 UTILE (in particolare se volete occupare più processori ad es. per cose in parallelo) mkdir nuovadirectory IMPORTANTE (ogni simulazione dovrebbe girare in una dir diversa per non rischiare che si sovrapponga ad altre) cd nuovadirectory IMPORTANTE (se create una dir ci dovete entrare) | ||||||||
Changed: | ||||||||
< < | cp /home/puglisi/eseguibili/disks . OBBLICATORIA (il vostro programma/simulazione deve essere copiato da dove si trova a dove siete ora) | |||||||
> > | cp /home/puglisi/eseguibili/disks . OBBLIGATORIA (il vostro programma/simulazione deve essere copiato da dove si trova a dove siete ora) | |||||||
srun ./disks OBBLIGATORIA (esegue la simulazione) | ||||||||
Changed: | ||||||||
< < | mv * /home/puglisi/prova IMPORTANTE (copiate i dati che ha generato il vostro programma in una cartella nella home, da modificare a piacere) cd .. IMPORTANTE (uscite dalla dir) | |||||||
> > | mv * /home/puglisi/risultati IMPORTANTE (copiate i dati che ha generato il vostro programma in una cartella nella home, da modificare a piacere) cd .. IMPORTANTE (uscite dalla dir se ci eravate entrati) | |||||||
rmdir nuovadirectory IMPORTANTE (cancellate la dir che non serve più) | ||||||||
Added: | ||||||||
> > | mv "slurm-"$SLURM_JOB_ID".out" /home/puglisi/risultati UTILE (se volete ritrovare anche il file con lo stdout lo copiate nel posto dove tenete i risultati) mv "slurm-"$SLURM_JOB_ID".err" /home/puglisi/risultati UTILE (se volete ritrovare anche il file con lo stdout lo copiate nel posto dove tenete i risultati) | |||||||
Changed: | ||||||||
< < | le righe mkdir e cd vanno modificate con un nome di directory specifico (temporaneo) per quella simulazione (per evitare che diverse simulazioni scrivano sulle stesse directory); l'eseguibile ovviamente lo segliete voi; le righe finali ("mv ....") vanno personalizzate con molta attenzione: e' vostra cura spostare tutto quello che e' stato prodotto dalla simulazioni e che ritenete necessario conservare dalla dir dove ha girato alla home, in una directory apposita (evitando di sovrascrivere altri dati); infine le ultime due righe servono per cancellare la directory temporanea dove ha girato la simulazione: facendo in questo modo tutto quel che non viene spostato (con i comandi "mv...") viene perso; ovviamente potete anche non mettere questi comandi alla fine, ma questo significa accumulare dati nei dischi dei nodi rischiando di finire lo spazio (nei nodi lo spazio e' molto minore); gli amministratori periodicamente libereranno spazio nei dischi dei nodi | |||||||
> > | le righe mkdir e cd vanno modificate con un nome di directory specifico (temporaneo) per quella simulazione (per evitare che diverse simulazioni scrivano sulle stesse directory); l'eseguibile ovviamente lo scegliete voi; le righe finali ("mv ....") vanno personalizzate con molta attenzione: e' vostra cura spostare tutto quello che e' stato prodotto dalla simulazioni e che ritenete necessario conservare dalla dir dove ha girato alla home, in una directory apposita (vostra cura evitare di sovrascrivere altri vostri dati); è anche importante cancellare la directory temporanea dove ha girato la simulazione: facendo in questo modo tutto quel che non viene spostato (con i comandi "mv...") viene perso; ovviamente potete anche non mettere questi comandi alla fine, ma questo significa accumulare dati nei dischi dei nodi rischiando di finire lo spazio (nei nodi lo spazio e' molto minore); gli amministratori periodicamente libereranno spazio nei dischi dei nodi | |||||||
ALTRA DOCUMENTAZIONE PER IL SISTEMA DI CODE: il sistema di code si chiama "slurm" ed e' molto ben documentato (ed e' pieno di opzioni), si veda https://slurm.schedmd.com/documentation.html |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Brevi istruzioni cluster tnt (nato nel 2020 con i fondi PRIN CO-NEST) | ||||||||
Line: 18 to 18 | ||||||||
| ||||||||
Added: | ||||||||
> > | ||||||||
#!/bin/bash | ||||||||
Deleted: | ||||||||
< < | ||||||||
#SBATCH --chdir=/mnt/ssd/puglisi/ | ||||||||
Deleted: | ||||||||
< < | ||||||||
#SBATCH --job-name=test | ||||||||
Deleted: | ||||||||
< < | ||||||||
#SBATCH --output=res.txt | ||||||||
Deleted: | ||||||||
< < | ||||||||
#SBATCH --ntasks=1 mkdir nuovadirectory | ||||||||
Line: 29 to 26 | ||||||||
#SBATCH --ntasks=1 mkdir nuovadirectory | ||||||||
Deleted: | ||||||||
< < | ||||||||
cd nuovadirectory | ||||||||
Changed: | ||||||||
< < | cp /home/nomeutente/eseguibili/eseguibile . srun ./eseguibile mv res.txt /home/puglisi/dovevoglio mv altririsultati.dat /home/puglisi/dovevoglio | |||||||
> > | cp /home/puglisi/eseguibili/disks . srun ./disks mv res.txt /home/puglisi/prova mv * /home/puglisi/prova | |||||||
cd .. | ||||||||
Deleted: | ||||||||
< < | ||||||||
rmdir nuovadirectory | ||||||||
Added: | ||||||||
> > | ||||||||
| ||||||||
Line: 54 to 45 | ||||||||
squeue | ||||||||
Changed: | ||||||||
< < | MODIFICARE LO SCRIPT: lo script di esempio si deve modificare in molte parti, la prima riga e' obbligatoria ma va personalizzata (al posto di puglisi dovete mettere il vostro username); il jobname e' a piacere; l'output e' solo il nome del file in cui viene scritto lo stdout (cioe' tutto quello che nei vostri codici esce da una printf a video, non su file); la riga con ntasks e' opzionale; le righe mkdir e cd vanno modificate con un nome di directory specifico (temporaneo) per quella simulazione (per evitare che diverse simulazioni scrivano sulle stesse directory); l'eseguibile ovviamente lo segliete voi; le righe finali ("mv ....") vanno personalizzate con molta attenzione: e' vostra cura spostare tutto quello che e' stato prodotto dalla simulazioni nella home, in una directory apposita (evitando di sovrascrivere altri dati); infine le ultime due righe servono per cancellare la directory temporanea dove ha girato la simulazione; facendo in questo modo tutto quel che non viene spostato (con i comandi "mv...") viene perso; ovviamente potete anche non mettere questi comandi alla fine, ma questo significa accumulare dati nei dischi dei nodi rischiando di finire lo spazio (nei nodi lo spazio e' molto minore) | |||||||
> > | MODIFICARE LO SCRIPTlo script di esempio si deve modificare in molte parti:#!/bin/bash OBBLIGATORIA #SBATCH --chdir=/mnt/ssd/puglisi/ OBBLIGATORIA (ma cambiare "puglisi" nel vostro user) #SBATCH --job-name=test OBBLIGATORIA (ma potete cambiare a piacimento il nome "test") #SBATCH --output=res.txt UTILE (e "res.txt" si può cambiare, in questo file viene scritto stdout) #SBATCH --ntasks=1 UTILE (in particolare se volete occupare più processori ad es. per cose in parallelo) mkdir nuovadirectory IMPORTANTE (ogni simulazione dovrebbe girare in una dir diversa per non rischiare che si sovrapponga ad altre) cd nuovadirectory IMPORTANTE (se create una dir ci dovete entrare) cp /home/puglisi/eseguibili/disks . OBBLICATORIA (il vostro programma/simulazione deve essere copiato da dove si trova a dove siete ora) srun ./disks OBBLIGATORIA (esegue la simulazione) mv * /home/puglisi/prova IMPORTANTE (copiate i dati che ha generato il vostro programma in una cartella nella home, da modificare a piacere) cd .. IMPORTANTE (uscite dalla dir) rmdir nuovadirectory IMPORTANTE (cancellate la dir che non serve più)le righe mkdir e cd vanno modificate con un nome di directory specifico (temporaneo) per quella simulazione (per evitare che diverse simulazioni scrivano sulle stesse directory); l'eseguibile ovviamente lo segliete voi; le righe finali ("mv ....") vanno personalizzate con molta attenzione: e' vostra cura spostare tutto quello che e' stato prodotto dalla simulazioni e che ritenete necessario conservare dalla dir dove ha girato alla home, in una directory apposita (evitando di sovrascrivere altri dati); infine le ultime due righe servono per cancellare la directory temporanea dove ha girato la simulazione: facendo in questo modo tutto quel che non viene spostato (con i comandi "mv...") viene perso; ovviamente potete anche non mettere questi comandi alla fine, ma questo significa accumulare dati nei dischi dei nodi rischiando di finire lo spazio (nei nodi lo spazio e' molto minore); gli amministratori periodicamente libereranno spazio nei dischi dei nodi | |||||||
ALTRA DOCUMENTAZIONE PER IL SISTEMA DI CODE: il sistema di code si chiama "slurm" ed e' molto ben documentato (ed e' pieno di opzioni), si veda https://slurm.schedmd.com/documentation.html |
Line: 1 to 1 | ||||||||
---|---|---|---|---|---|---|---|---|
Added: | ||||||||
> > |
Brevi istruzioni cluster tnt (nato nel 2020 con i fondi PRIN CO-NEST)ACCESSOssh -X utente@pgls_login.artov.rm.cnr.itHOME DIRECTORYla home di ogni utente si trova in un grande disco esterno da 5Tb (totali); la home e' il luogo dove tenere i vostri dati (backup) e tutti gli script ed eseguibili che si vogliono conservare; la home NON e' il posto dove le simulazioni scrivono durante l'esecuzioneESECUZIONE DI UN JOBi programmi vanno lanciati usando il sistema di code che si occupa di allocare ogni programma sul nodo piu' libero; si prega di non lanciare programmi direttamente da terminale perche' questi verrebbero eseguiti dal nodo di login che ha pochissime risorse; il modo per eseguire un job tramite sistema di code e' il seguente 1) scrivere uno script di esecuzione, si consiglia di farlo in bash, chiamandolo (ad esempio) submit.sh; qui c'e' un esempio#!/bin/bash #SBATCH --chdir=/mnt/ssd/puglisi/ #SBATCH --job-name=test #SBATCH --output=res.txt #SBATCH --ntasks=1 mkdir nuovadirectory cd nuovadirectory cp /home/nomeutente/eseguibili/eseguibile . srun ./eseguibile mv res.txt /home/puglisi/dovevoglio mv altririsultati.dat /home/puglisi/dovevoglio cd .. rmdir nuovadirectory 2) eseguire lo script con il comando sbatch submit.sh 3) controllare l'esecuzione del job con il comando squeue MODIFICARE LO SCRIPT: lo script di esempio si deve modificare in molte parti, la prima riga e' obbligatoria ma va personalizzata (al posto di puglisi dovete mettere il vostro username); il jobname e' a piacere; l'output e' solo il nome del file in cui viene scritto lo stdout (cioe' tutto quello che nei vostri codici esce da una printf a video, non su file); la riga con ntasks e' opzionale; le righe mkdir e cd vanno modificate con un nome di directory specifico (temporaneo) per quella simulazione (per evitare che diverse simulazioni scrivano sulle stesse directory); l'eseguibile ovviamente lo segliete voi; le righe finali ("mv ....") vanno personalizzate con molta attenzione: e' vostra cura spostare tutto quello che e' stato prodotto dalla simulazioni nella home, in una directory apposita (evitando di sovrascrivere altri dati); infine le ultime due righe servono per cancellare la directory temporanea dove ha girato la simulazione; facendo in questo modo tutto quel che non viene spostato (con i comandi "mv...") viene perso; ovviamente potete anche non mettere questi comandi alla fine, ma questo significa accumulare dati nei dischi dei nodi rischiando di finire lo spazio (nei nodi lo spazio e' molto minore) ALTRA DOCUMENTAZIONE PER IL SISTEMA DI CODE: il sistema di code si chiama "slurm" ed e' molto ben documentato (ed e' pieno di opzioni), si veda https://slurm.schedmd.com/documentation.html si puo' trovare anche un tutorial veloce e ben fatto qui: https://support.ceci-hpc.be/doc/_contents/QuickStart/SubmittingJobs/SlurmTutorial.html esiste anche una guida "tedesca" con una sintesi della documentazione e molti dettagli utili (ma e' piu' per amministratori che altro): https://wiki.fysik.dtu.dk/niflheim/Slurm_configuration ACCEDERE AI FILE SUI NODI LOCALI: durante l'esecuzione, ogni utente puo' vedere i file che vengono generati durante la simulazione controllando (tramite comando squeue) quale nodo N sta runnando il processo che vi interessa e poi andando su /mnt/ssd_nodeN/nomeutente -- Andrea Puglisi - 2020-12-01 Comments |