User Tools

Site Tools


wiki:uso_sist

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
wiki:uso_sist [2022/08/02 19:18]
cnr-guest [Suggerimenti per utenti python con il nuovo ambiente conda]
wiki:uso_sist [2023/06/14 16:31] (current)
cnr-guest
Line 21: Line 21:
 Per accedere da sistemi windows si può usare il software putty, reperibile gratuitamente al sito ''https://www.putty.org/'', oppure, da Windows 10 in poi, usando da finestra di comandi (CMD.exe o Powershell.exe) il software Openssh già installato in Windows (eventualmente non attivo, va semplicemente attivato nelle optional features)  Per accedere da sistemi windows si può usare il software putty, reperibile gratuitamente al sito ''https://www.putty.org/'', oppure, da Windows 10 in poi, usando da finestra di comandi (CMD.exe o Powershell.exe) il software Openssh già installato in Windows (eventualmente non attivo, va semplicemente attivato nelle optional features) 
  
-Tra alcuni mesi l'accesso al cluster avverrà  esclusivamente tramite il metodo "utente - SSH Key".\\+Tra alcuni mesi l'accesso al cluster avverrà  esclusivamente tramite il metodo "utente - SSH Key" (altri metodi di accesso sicuro sono allo studio).\\
 Gli utenti attuali sono invitati a generare la coppia di chiavi e caricare la chiave pubblica sul server nella loro home.\\ Gli utenti attuali sono invitati a generare la coppia di chiavi e caricare la chiave pubblica sul server nella loro home.\\
-I nuovi utenti, quando chiederanno un account, seguiranno una procedura leggermente differente: essi genereranno la coppia di chiavi, ma non cariccheranno la chiave pubblica sul server (non avranno ancora accesso): essi la manderanno all'admin Ibisco.  L'admin la copierà, con i corretti permessi, nella home del nuovo utente. Dopodiché l'utente avrà l'abitlià di entrare nel sistema senza inserire una password del server (ma avrà ancora da inserire una passphrase, v. avanti).\\+I nuovi utenti, quando chiederanno un account, seguiranno una procedura leggermente differente: essi genereranno la coppia di chiavi, ma non caricheranno la chiave pubblica sul server (non avranno ancora accesso): essi la manderanno all'admin Ibisco.  L'admin la copierà, con i corretti permessi, nella home del nuovo utente. Dopodiché l'utente avrà l'abitlià di entrare nel sistema senza inserire una password del server (ma avrà ancora da inserire una passphrase, v. avanti).\\
 Una volta entrato, l'utente creerà una password per il server con yppasswd per l'accesso a tutti i nodi del cluster.\\ Una volta entrato, l'utente creerà una password per il server con yppasswd per l'accesso a tutti i nodi del cluster.\\
  
Line 71: Line 71:
  
 Documentazione approfondita su Lustre è reperibile in rete, al link: ''https://www.lustre.org/'' Documentazione approfondita su Lustre è reperibile in rete, al link: ''https://www.lustre.org/''
 +
 +''/ibiscostorage''
 +nuova area scratch condivisa tra UI e nodi di calcolo (disponibile dal 07/10/2022), **non** basata su Lustre
  
  
  
 ==== Preparazione e sottomissione di job ==== ==== Preparazione e sottomissione di job ====
 +
 +=== Premessa: nuove regole di gestione dei job attive dal 9/10/2022 ===
 +
 +Per migliorare l'uso delle risorse sono state cambiate le regole di gestione dei job.
 +
 + * Sono state implementate nuove politiche di utilizzo basate su meccanismi di //fairshare// \\
 + * Sono state definite nuove code per la sottomissione dei job
 +    - Coda **sequential**:
 +      * accetta solo job sequenziali con numero di task non superiore ad 1,
 +      * che non usano le GP-GPU,
 +      * per un numero totale di job su di essa in esecuzione non superiore a 128
 +      * e limite massimo del tempo di esecuzione pari a 1 settimana
 +    - Coda **parallel**:
 +      * accetta solo job paralleli con numero di task superiore ad 1 e minore di 1580,
 +      * che facciano uso di non più 64 GP-GPU
 +      * e limite massimo del tempo di esecuzione pari a 1 settimana
 +     - Coda **gpus**:
 +      * accetta solo job che facciano uso di non più di 64 GP-GPU,
 +      * con numero di task minore di 1580
 +      * e limite massimo del tempo di esecuzione pari a 1 settimana
 +     - Coda **hparallel**:
 +      * accetta solo job paralleli con numero di task superiore a 1580 e minore di 3160,
 +      * che facciano uso di almeno 64 GP-GPU
 +      * e limite massimo del tempo di esecuzione pari a 1 giorno
 +
 +Dal 9 ottobre sarà disabilitata la coda corrente e saranno attive solo quelle definite qui, da selezionare in modo esplicito. Ad esempio, per sottomottere un job nella coda **parallel** eseguire\\
 +
 +  $ srun -p parallel <ALTRE OPZIONI> <NOME COMANDO>
 +
 +Se il job non è conforme alle regole della coda usata, sarà terminato.
 +
 +=== Uso delle risorse ===
  
 Per usare le risorse del cluster è installato nel sistema il gestore di risorse SLURM. Documentazione approfondita su esso è disponibile al link ''https://slurm.schedmd.com/'' Per usare le risorse del cluster è installato nel sistema il gestore di risorse SLURM. Documentazione approfondita su esso è disponibile al link ''https://slurm.schedmd.com/''
Line 80: Line 115:
 SLURM è un sistema software open source per la gestione di cluster; è altamente scalabile, offre meccanismi di fault-tolerance e di scheduling di jobs. SLURM è un sistema software open source per la gestione di cluster; è altamente scalabile, offre meccanismi di fault-tolerance e di scheduling di jobs.
  
-=== Concetti base di SLURM ===+==== Concetti base di SLURM ====
  
 Le componenti principali di SLURM sono: Le componenti principali di SLURM sono:
Line 105: Line 140:
 Un elenco completo dei comandi disponibili si trova nel man (disponibile anche online all’indirizzo ''https://slurm.schedmd.com/man_index.html''): ''man <cmd>'' Un elenco completo dei comandi disponibili si trova nel man (disponibile anche online all’indirizzo ''https://slurm.schedmd.com/man_index.html''): ''man <cmd>''
  
-=== Esempi di uso di alcuni dei comandi base ===+==== Esempi di uso di alcuni dei comandi base ====
  
 == Informazione su sistema e risorse == == Informazione su sistema e risorse ==
Line 355: Line 390:
    * Per usare la finestra comandi di Matlab, usare  '' ssh ibiscohpc-ui.scope.unina.it -l [username] -Y '' quando si entra nel cluster IBISCO.    * Per usare la finestra comandi di Matlab, usare  '' ssh ibiscohpc-ui.scope.unina.it -l [username] -Y '' quando si entra nel cluster IBISCO.
    * Configurare l'ambiente Matlab usando il comando '' /nfsexports/SOFTWARE/MATLAB/R2020b/bin/matlab ''. Questo apre la finestra comandi mathworksdove si potrà aggiungere il file di configurazione (v. avanti).\\    * Configurare l'ambiente Matlab usando il comando '' /nfsexports/SOFTWARE/MATLAB/R2020b/bin/matlab ''. Questo apre la finestra comandi mathworksdove si potrà aggiungere il file di configurazione (v. avanti).\\
 +   * Si può accedere a Matlab versione R2022a usando il comando '' /nfsexports/SOFTWARE/MATLAB/R2022a/bin/matlab ''
  
 == configurazione ed esecuzione == == configurazione ed esecuzione ==
Line 362: Line 398:
 {{:wiki:SlurmIBISCOHPC.mlsettings.lsettings.zip|Esempio di file di configurazione for esecuizione parallela}} {{:wiki:SlurmIBISCOHPC.mlsettings.lsettings.zip|Esempio di file di configurazione for esecuizione parallela}}
  
-// Il file devre essere decompresso prima dell'uso //+// Il file deve essere decompresso prima dell'uso //
  
 Affinché al cluster acceda un programma Matlab, l'utente deve ***prima importare*** quel file avviando il  ***Cluster Profile Manager*** sul desktop Matlab (Sul tab ***Home*** tab, nell'area ***Environment***, selezionare ***Parallel*** > ***Create and Manage Clusters***).\\)  Affinché al cluster acceda un programma Matlab, l'utente deve ***prima importare*** quel file avviando il  ***Cluster Profile Manager*** sul desktop Matlab (Sul tab ***Home*** tab, nell'area ***Environment***, selezionare ***Parallel*** > ***Create and Manage Clusters***).\\) 
Line 386: Line 422:
    - la finestra ***Create and Manage Clusters***    - la finestra ***Create and Manage Clusters***
    - i comandi di profilo Martlab tipo saveProfile  (https://it.mathworks.com/help/parallel-computing/saveprofile.html)    - i comandi di profilo Martlab tipo saveProfile  (https://it.mathworks.com/help/parallel-computing/saveprofile.html)
 +
 +=== Esempio di esecuzione di uno script matlab parallelo ===
 +
 +Questo è un esempio di utilizzo di **parfor** per parallelizzare il ciclo for (dimostrato in {{https://it.mathworks.com/help/parallel-computing/decide-when-to-use-parfor.html?s_eid=PSM_15028 | MathWorks}}).
 +In questo esempio viene calcolato il raggio spettrale di una matrice e viene convertito un for-loop in un parfor-loop. Aprire un file denominato **test.m** con il codice seguente
 +
 +<code>mypool=parpool('SlurmIBISCOHPC', 5) % 5 è il numero di lavoratori
 +n = 100;
 +A = 200;
 +a = zeros(n);
 +parfor i = 1:n
 +    a(i) = max(abs(eig(rand(A))));
 +end
 +delete(mypool); 
 +quit
 +</code>
 +
 +Per eseguire questo codice, è possibile utilizzare il seguente comando sulla UI:
 +<code>
 +/nfsexports/SOFTWARE/MATLAB/R2020b/bin/matlab -nodisplay -nosplash -nodesktop -r test
 +</code>
 +
  
  
wiki/uso_sist.1659467886.txt.gz · Last modified: 2022/08/02 19:18 by cnr-guest