Strumenti Utente

Strumenti Sito


lca:servizi:calcolo

Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisione Revisione precedente
lca:servizi:calcolo [14/07/2014 14:59]
roberto.covati
lca:servizi:calcolo [29/09/2014 15:26] (versione attuale)
roberto.alfieri
Linea 1: Linea 1:
 +======= Calcolo: cluster per il calcolo numerico intensivo del Dipartimento di Fisica ======
 +
 +Il servizio di calcolo numerico intensivo del Dipartimento di Fisica è affidato ad un cluster di macchine biprocessore. Il cluster ha come punto di accesso le macchine ​ **grid-ui.fis.unipr.it** e  **emi-ui.pr.infn.it**. ​
 +
 +===== Architettura =====
 +
 +{{lca:​servizi:​calcolo.png|architettura}}
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +===== Hardware =====
 +
 +^ nome     ^ CPU ^ modello ​                     ^ RAM (GB) ^  SisOP  ^ Note ^
 +| emi-ui ​  ​| ​ 1   | Macchina virtuale Vmware ​   | 2        |  SL6    | User Interface |
 +| grid-ui ​ |  2   | Macchina virtuale Vmware ​   | 1        |  SL5    | User Interface |
 +| emi-ce ​  ​| ​ 1   | Macchina virtuale Vmware ​   | 1        |  SL5     | Job manager |
 +||||  Calcolo Seriale ​ ||||||
 +| c64-wn01 |  2   | AMD Opteron 248 2.20 GHz    | 3        |          | down |
 +| c64-wn02 |  2   | AMD Opteron 248 2.20 GHz    | 3        |          | down |
 +| c64-wn03 |  2   | AMD Opteron 248 2.20 GHz    | 3        |          | down |
 +| c64-wn04 |  2   | AMD Opteron 248 2.20 GHz    | 3        |          | down |
 +| c64-wn05 |  4   | AMD Opteron 2212 2.00 GHz   | 4        | SL5      | x86_64 matlab |
 +| c64-wn06 |  8   | Intel Xeon E5335 2.00 GHz   | 8        | SL5      | x86_64 matlab |
 +| c64-wn07 |  8   | Intel Xeon E5335 2.00 GHz   | 8        | SL5      | x86_64 matlab |
 +| c64-wn08 |  6   | Intel Xeon E5650 2.80 GHz   | 12       | SL5      | x86_64 matlab |
 +| c64-wn09 |  12  | Intel Xeon E5650 2.80 GHz   | 24       | SL5      | x86_64 matlab |
 +||||  Calcolo parallelo ​ ||||||
 +| grid-wn81 |  8 (+HT)  | Intel Xeon E5520 2.27 GHz   | 12       | SL 6   | GRID   |
 +| grid-wn82 |  8 (+HT)  | Intel Xeon E5520 2.27 GHz   | 12       | SL 6   | GRID   |
 +| grid-wn83 |  8 (+HT)  | Intel Xeon E5520 2.27 GHz   | 12       | SL 6   | GRID   |
 +| grid-wn84 |  8 (+HT)  | Intel Xeon E5520 2.27 GHz   | 12       | SL 6   | GRID   |
 +| grid-wn85 |  8 (+HT)   | Intel Xeon E5520 2.27 GHz   | 12       | SL 6   | INFN  |
 +| grid-wn86 |  8 (+HT)   | Intel Xeon E5520 2.27 GHz   | 12       | SL 6   | INFN  |
 +| grid-wn87 |  8 (+HT)   | Intel Xeon E5520 2.27 GHz   | 12       | SL 6   | INFN  |
 +| grid-wn88 |  8 (+HT)   | Intel Xeon E5530 2.40 GHz   | 12       | SL 6  |  INFN (Proliant HP, ex Alba)  |
 +
 +===== Software =====
 +
 +==== Benchmark ====
 +[[http://​www.fis.unipr.it/​lca/​bench/​|Benchmark Locali]]
 +
 +==== OpenMosix ====
 +Un software specifico, OpenMosix, si preoccupa di suddividere ed ottimizzare il carico di lavoro su tutti in nodi con architettura 32 bit.
 +
 +==== Monitor dell'​attività del cluster ====
 +Ganglia 3.0.2 [[http://​www.fis.unipr.it/​ganglia/?​c=Calcolo|Report grafico]]
 +
 +==== Programmi di calcolo ====
 +Matlab R14 (Service Pack 3)\\
 +Mathematica 5.2 [[http://​c32-ce.fis.unipr.it/​cgi-bin/​monitorlm|Licenze in uso]]\\
 +
 +==== Compilatori GNU C/​C++/​Fortran (versione 3.2.2) ====
 +gcc\\
 +g++\\
 +g77
 +
 +==== Compilatori GNU C/​C++/​Fortran (versione 4.1.0) ====
 +i686-unknown-linux-gnu-gcc\\
 +i686-unknown-linux-gnu-g++\\
 +i686-unknown-linux-gnu-g77\\
 +i686-unknown-linux-gnu-gfortran
 +
 +==== Compilatori GNU C/​C++/​Fortran per creare programmi a 64 bit (versione 4.1.0) ====
 +x86_64-unknown-linux-gnu-gcc\\
 +x86_64-unknown-linux-gnu-g++\\
 +x86_64-unknown-linux-gnu-g77\\
 +x86_64-unknown-linux-gnu-gfortran
 +
 +==== Compilatori Intel C/​C++/​Fortran (versione 9.0) ====
 +icc\\
 +ifort
 +
 +===== Utilizzo del cluster =====
 +L'​accesso è riservato allo staff del Dipartimento di Fisica ed agli studenti in tirocinio presso il Dipartimento di Fisica dopo esplicita richiesta al [[lca@fis.unipr.it|Laboratorio di Calcolo Avanzato]].
 +
 +Compilatori per creare programmi a 64 bit e code dedicate consentono un utilizzo non interattivo del nodo con architettura a 64 bit.
 +
 +
 +
 +==== Statistiche utilizzo del cluster ====
 +[[http://​www.fis.unipr.it/​lca/​calcolo/​usage/​2005.html|Attività 2005]]\\
 +[[http://​www.fis.unipr.it/​lca/​calcolo/​usage/​2006.html|Attività 2006]]\\
 +[[http://​www.fis.unipr.it/​lca/​calcolo/​usage/​2007.html|Attività 2007]]\\
 +[[http://​www.fis.unipr.it/​lca/​calcolo/​usage/​2008.html|Attività 2008]]\\
 +[[http://​www.fis.unipr.it/​lca/​calcolo/​usage/​2009.html|Attività 2009]]\\
 +[[http://​www.fis.unipr.it/​lca/​calcolo/​usage/​2010.html|Attività 2010]]
 +
 +
 +
 +
 +==== Spazio disco ====
 +
 +^ percorso ​      ​^ ​ accessile da                           ​^^^^ ​ quota  ^  mirror ​ ^  backup ​ ^
 +| /​home/​staff ​   | calcolo ​ | archimede |          |          |  SI     ​| ​ SI      |  SI      |
 +| /​work/​staff ​   | calcolo ​ | archimede |          |          |  NO     ​| ​ SI      |  NO      |
 +| /​space/​staff ​  | calcolo ​ | archimede |          |          |  SI     ​| ​ SI      |  NO      |
 +| /​home/​studenti |          |           | c32-ui03 | c32-ui04 |  SI     ​| ​ SI      |  SI      |
 +| /​work/​studenti |          |           | c32-ui03 | c32-ui04 |  NO     ​| ​ SI      |  NO      |
 +
 +==== Nodi di calcolo ====
 +
 +^ nodo     ​^ ​ 32 bit  ^  64 bit  ^  OpenMosix ​ ^  limite job in run  ^
 +| c32-ce ​  ​| ​ SI      |  NO      |  SI         ​| ​ 10                 |
 +| c64-wn01 |  SI      |  SI      |  NO         ​| ​ 2                  |
 +| c64-wn02 |  SI      |  SI      |  NO         ​| ​ 2                  |
 +| c64-wn03 |  SI      |  SI      |  NO         ​| ​ 2                  |
 +| c64-wn04 |  SI      |  SI      |  NO         ​| ​ 2                  |
 +| c64-wn05 |  SI      |  SI      |  NO         ​| ​ 4                  |
 +| c64-wn06 |  SI      |  SI      |  NO         ​| ​ 8                  |
 +| c64-wn07 |  SI      |  SI      |  NO         ​| ​ 8                  |
 +
 +
 +==== Code ====
 +Sul cluster è attivo un server PBS (Portable Batch System) che gestisce la sottomissione dei job. L'​utente ha a disposizione sette code con differenti caratteristiche. La coda //fast// è indicata per job che richiedono la massima velocità di esecuzione. Solo alcuni utenti sono autorizzati ad utilizzarla. La coda //long// è la coda più adatta ai job di lunga durata. È la coda di default attiva sul server PBS. La coda //​didattica//​ è riservata agli studenti. La coda //matlab// consente di lanciare script o comandi Matlab. La coda //long64// è indicata per job a 64 bit. La coda //fast64// è indicata per job a 64 bit. Solo alcuni utenti sono autorizzati ad utilizzarla. La coda //stat64// è indicata per job a 64 bit. Solo alcuni utenti sono autorizzati ad utilizzarla.
 +
 +^ coda      ^  nodi                 ​^^ ​ limite job in run  ^  limite job in run per utente ​ ^  riservata ​ ^
 +| fast      | c32-ce |               ​| ​ 2                  |  2                             ​| ​ SI         |
 +| long      | c32-ce |               ​| ​ 10                 ​| ​ 4                             ​| ​ NO         |
 +| didattica | c32-ce |               ​| ​ 6                  |  6                             ​| ​ SI         |
 +| matlab ​   | c32-ce | c64-wn[01-07] |  2                  |  1                             ​| ​ NO         |
 +| long64 ​   |        | c64-wn[01-07] |  28                 ​| ​ 4                             ​| ​ NO         |
 +| fast64 ​   |        | c64-wn[01-07] |  12                 ​| ​ 12                            |  SI         |
 +| stat64 ​   |        | c64-wn[01-07] |  16                 ​| ​ 16                            |  SI         |
 +
 +==== Restrizioni globali ====
 +
 +^  massimo numero job in run per utente ​ ^
 +|  20                                    |
 +
 +
 +
 +
 +
 +
 +==== Sottomissione dei job con creazione automatica dello script PBS ====
 +
 +Il comando ''​lca-job-submit''​ permette la sottomissione di job sulle code sgravando l'​utente dalla necessita di creare uno script PBS per ogni job.
 +
 +Per informazioni aggiornate su ''​lca-job-submit'':​
 +
 +<​file>​
 +lca-job-submit --help
 +</​file>​
 +
 +Per conoscere la versione di ''​lca-job-submit'':​
 +
 +<​file>​
 +lca-job-submit --version
 +</​file>​
 +
 +Per sottomettere un programma a 32 bit:
 +
 +<​file>​
 +lca-job-submit job
 +lca-job-submit --queue=long job
 +</​file>​
 +
 +Nei due casi il risultato è lo stesso perché è la ''​long''​ la coda di default.
 +
 +Per sottomettere un programma a 32 bit che accetta opzioni ed argomenti:
 +
 +<​file>​
 +lca-job-submit job --size=100x100 job.conf
 +</​file>​
 +
 +Per sottomettere un programma a 64 bit:
 +
 +<​file>​
 +lca-job-submit --queue=long64 job
 +</​file>​
 +
 +Per sottomettere un programma a 64 bit ottimizzato per processori AMD Opteron:
 +
 +<​file>​
 +lca-job-submit --queue=long64 --nodes=1:​opteron job
 +</​file>​
 +
 +Per sottomettere un programma a 64 bit ottimizzato per processori Intel Core 2:
 +
 +<​file>​
 +lca-job-submit --queue=long64 --nodes=1:​core2 job
 +</​file>​
 +
 +Per sottomettere un programma a 64 bit ottimizzato per processori westmere:
 +
 +<​file>​
 +lca-job-submit --queue=long64 --nodes=1:​westmere job
 +</​file>​
 +
 +Per sottomettere uno script Matlab:
 +
 +<​file>​
 +lca-job-submit --queue=matlab job
 +</​file>​
 +
 +All'​avvio del job, alla conclusione o all'​interruzione del job, PBS invia all'​utente una e-mail di notifica.
 +
 +Attenzione! Non spostare o cancellare il programma mandato in coda prima dell'​avvio del job.
 +
 +Un programma a 32 bit, lanciato con ''​lca-job-submit''​ sulla coda //long64//, verrà eseguito correttamente.
 +
 +Un programma a 64 bit, lanciato con ''​lca-job-submit''​ sulle code //fast// e //long//, verrà automaticamente sottomesso sulla coda //long64//.
 +
 +Esempio di sottomissione del programma ''​hostname'':​
 +
 +<​file>​
 +[fabio.spataro@calcolo ~]$ lca-job-submit hostname
 +lca-job-submit:​ PBS JOB 21.c32-ce.fis.unipr.it
 +lca-job-submit:​ PBS script written to ~/​.lca/​pbs/​21.c32-ce.sh
 +</​file>​
 +
 +Al termine del programma, lo standard error verrà scritto in ''​hostname.e21'',​ lo standard output in ''​hostname.o21''​. I due file verranno creati nella directory corrente al momento del lancio di ''​lca-job-submit''​.
 +
 +
 +==== Creazione automatica dello script PBS senza sottomissione del job ====
 +
 +Esempio:
 +
 +<​file>​
 +[fabio.spataro@calcolo ~]$ lca-job-submit --queue=long64 --dry-run hostname
 +lca-job-submit:​ PBS JOB not submitted
 +lca-job-submit:​ PBS script written to ~/​.lca/​pbs/​hostname
 +</​file>​
 +
 +
 +==== Sottomissione di uno script PBS ====
 +
 +Esempio:
 +
 +<​file>​
 +qsub hostname
 +</​file>​
 +
 +Consultare la pagina man di ''​qsub''​ per informazioni sul formato dello script PBS.
 +
 +All'​avvio del job, alla conclusione o all'​interruzione del job, PBS invia all'​utente una e-mail di notifica.
 +
 +Al termine del programma, lo standard error verrà scritto in ''​hostname.e21'',​ lo standard output in ''​hostname.o21''​. I due file verranno creati nella directory corrente al momento del lancio di ''​qsub''​.
 +
 +Un programma a 32 bit, lanciato sulla coda //long64// dallo script PBS, verrà eseguito correttamente.
 +
 +Un programma a 64 bit, lanciato sulle code //fast// e //long// dallo script PBS, non verrà eseguito e terminerà con errore.
 +
 +==== Controllo dello stato delle code e dei job ====
 +
 +Esempi:
 +
 +<​file>​
 +qstat
 +qstat -f 21
 +qstat -u $USER
 +qstat -u $USER -n
 +qstat -Q
 +</​file>​
 +
 +Consultare la pagina man di ''​qstat''​ per ulteriori informazioni.
 +
 +==== Cancellazione di un job ====
 +
 +Esempio:
 +
 +<​file>​
 +qdel 21
 +</​file>​
 +
 +Consultare la pagina man di ''​qdel''​ per ulteriori informazioni.
 +
 +
 +==== Scambio dell'​ordine d'​esecuzione di due job in coda ====
 +
 +Esempio:
 +
 +<​file>​
 +qorder 21 22
 +</​file>​
 +
 +Consultare la pagina man di ''​qorder''​ per ulteriori informazioni.
 +
 +==== Spostamento di un job da una coda all'​altra ====
 +
 +Esempio:
 +
 +<​file>​
 +qmove long 21
 +</​file>​
 +
 +Consultare la pagina man di ''​qmove''​ per ulteriori informazioni.
 +
 +===== Crystal =====
 +
 +Per l'​utilizzo del software crystal e' necessario collegarsi in SSH su emi-ui.pr.infn.it ​
 +
 +Per eseguire la sottomissione di job paralleli deve essere utilizzata la coda ''​parallel''​
 +
 + 
 +
  
lca/servizi/calcolo.txt · Ultima modifica: 29/09/2014 15:26 da roberto.alfieri