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 revisioneRevisione precedente
Prossima revisione
Revisione precedente
lca:servizi:calcolo [20/05/2013 11:14] roberto.alfierilca: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''
 +
 + 
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki