lca:servizi:calcolo
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione 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 | ||
| + | |||
| + | ===== Architettura ===== | ||
| + | |||
| + | {{lca: | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Hardware ===== | ||
| + | |||
| + | ^ nome ^ CPU ^ modello | ||
| + | | emi-ui | ||
| + | | grid-ui | ||
| + | | emi-ce | ||
| + | |||| 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:// | ||
| + | |||
| + | ==== 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' | ||
| + | Ganglia 3.0.2 [[http:// | ||
| + | |||
| + | ==== Programmi di calcolo ==== | ||
| + | Matlab R14 (Service Pack 3)\\ | ||
| + | Mathematica 5.2 [[http:// | ||
| + | |||
| + | ==== Compilatori GNU C/ | ||
| + | gcc\\ | ||
| + | g++\\ | ||
| + | g77 | ||
| + | |||
| + | ==== Compilatori GNU C/ | ||
| + | i686-unknown-linux-gnu-gcc\\ | ||
| + | i686-unknown-linux-gnu-g++\\ | ||
| + | i686-unknown-linux-gnu-g77\\ | ||
| + | i686-unknown-linux-gnu-gfortran | ||
| + | |||
| + | ==== Compilatori GNU C/ | ||
| + | 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/ | ||
| + | icc\\ | ||
| + | ifort | ||
| + | |||
| + | ===== Utilizzo del cluster ===== | ||
| + | L' | ||
| + | |||
| + | 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:// | ||
| + | [[http:// | ||
| + | [[http:// | ||
| + | [[http:// | ||
| + | [[http:// | ||
| + | [[http:// | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== Spazio disco ==== | ||
| + | |||
| + | ^ percorso | ||
| + | | / | ||
| + | | / | ||
| + | | / | ||
| + | | / | ||
| + | | / | ||
| + | |||
| + | ==== Nodi di calcolo ==== | ||
| + | |||
| + | ^ nodo | ||
| + | | c32-ce | ||
| + | | c64-wn01 | SI | SI | NO | ||
| + | | c64-wn02 | SI | SI | NO | ||
| + | | c64-wn03 | SI | SI | NO | ||
| + | | c64-wn04 | SI | SI | NO | ||
| + | | c64-wn05 | SI | SI | NO | ||
| + | | c64-wn06 | SI | SI | NO | ||
| + | | c64-wn07 | SI | SI | NO | ||
| + | |||
| + | |||
| + | ==== Code ==== | ||
| + | Sul cluster è attivo un server PBS (Portable Batch System) che gestisce la sottomissione dei job. L' | ||
| + | |||
| + | ^ coda ^ nodi | ||
| + | | fast | c32-ce | | ||
| + | | long | c32-ce | | ||
| + | | didattica | c32-ce | | ||
| + | | matlab | ||
| + | | long64 | ||
| + | | fast64 | ||
| + | | stat64 | ||
| + | |||
| + | ==== Restrizioni globali ==== | ||
| + | |||
| + | ^ massimo numero job in run per utente | ||
| + | | 20 | | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ==== Sottomissione dei job con creazione automatica dello script PBS ==== | ||
| + | |||
| + | Il comando '' | ||
| + | |||
| + | Per informazioni aggiornate su '' | ||
| + | |||
| + | < | ||
| + | lca-job-submit --help | ||
| + | </ | ||
| + | |||
| + | Per conoscere la versione di '' | ||
| + | |||
| + | < | ||
| + | lca-job-submit --version | ||
| + | </ | ||
| + | |||
| + | Per sottomettere un programma a 32 bit: | ||
| + | |||
| + | < | ||
| + | lca-job-submit job | ||
| + | lca-job-submit --queue=long job | ||
| + | </ | ||
| + | |||
| + | Nei due casi il risultato è lo stesso perché è la '' | ||
| + | |||
| + | Per sottomettere un programma a 32 bit che accetta opzioni ed argomenti: | ||
| + | |||
| + | < | ||
| + | lca-job-submit job --size=100x100 job.conf | ||
| + | </ | ||
| + | |||
| + | Per sottomettere un programma a 64 bit: | ||
| + | |||
| + | < | ||
| + | lca-job-submit --queue=long64 job | ||
| + | </ | ||
| + | |||
| + | Per sottomettere un programma a 64 bit ottimizzato per processori AMD Opteron: | ||
| + | |||
| + | < | ||
| + | lca-job-submit --queue=long64 --nodes=1: | ||
| + | </ | ||
| + | |||
| + | Per sottomettere un programma a 64 bit ottimizzato per processori Intel Core 2: | ||
| + | |||
| + | < | ||
| + | lca-job-submit --queue=long64 --nodes=1: | ||
| + | </ | ||
| + | |||
| + | Per sottomettere un programma a 64 bit ottimizzato per processori westmere: | ||
| + | |||
| + | < | ||
| + | lca-job-submit --queue=long64 --nodes=1: | ||
| + | </ | ||
| + | |||
| + | Per sottomettere uno script Matlab: | ||
| + | |||
| + | < | ||
| + | lca-job-submit --queue=matlab job | ||
| + | </ | ||
| + | |||
| + | All' | ||
| + | |||
| + | Attenzione! Non spostare o cancellare il programma mandato in coda prima dell' | ||
| + | |||
| + | Un programma a 32 bit, lanciato con '' | ||
| + | |||
| + | Un programma a 64 bit, lanciato con '' | ||
| + | |||
| + | Esempio di sottomissione del programma '' | ||
| + | |||
| + | < | ||
| + | [fabio.spataro@calcolo ~]$ lca-job-submit hostname | ||
| + | lca-job-submit: | ||
| + | lca-job-submit: | ||
| + | </ | ||
| + | |||
| + | Al termine del programma, lo standard error verrà scritto in '' | ||
| + | |||
| + | |||
| + | ==== Creazione automatica dello script PBS senza sottomissione del job ==== | ||
| + | |||
| + | Esempio: | ||
| + | |||
| + | < | ||
| + | [fabio.spataro@calcolo ~]$ lca-job-submit --queue=long64 --dry-run hostname | ||
| + | lca-job-submit: | ||
| + | lca-job-submit: | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Sottomissione di uno script PBS ==== | ||
| + | |||
| + | Esempio: | ||
| + | |||
| + | < | ||
| + | qsub hostname | ||
| + | </ | ||
| + | |||
| + | Consultare la pagina man di '' | ||
| + | |||
| + | All' | ||
| + | |||
| + | Al termine del programma, lo standard error verrà scritto in '' | ||
| + | |||
| + | 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: | ||
| + | |||
| + | < | ||
| + | qstat | ||
| + | qstat -f 21 | ||
| + | qstat -u $USER | ||
| + | qstat -u $USER -n | ||
| + | qstat -Q | ||
| + | </ | ||
| + | |||
| + | Consultare la pagina man di '' | ||
| + | |||
| + | ==== Cancellazione di un job ==== | ||
| + | |||
| + | Esempio: | ||
| + | |||
| + | < | ||
| + | qdel 21 | ||
| + | </ | ||
| + | |||
| + | Consultare la pagina man di '' | ||
| + | |||
| + | |||
| + | ==== Scambio dell' | ||
| + | |||
| + | Esempio: | ||
| + | |||
| + | < | ||
| + | qorder 21 22 | ||
| + | </ | ||
| + | |||
| + | Consultare la pagina man di '' | ||
| + | |||
| + | ==== Spostamento di un job da una coda all' | ||
| + | |||
| + | Esempio: | ||
| + | |||
| + | < | ||
| + | qmove long 21 | ||
| + | </ | ||
| + | |||
| + | Consultare la pagina man di '' | ||
| + | |||
| + | ===== Crystal ===== | ||
| + | |||
| + | Per l' | ||
| + | |||
| + | Per eseguire la sottomissione di job paralleli deve essere utilizzata la coda '' | ||
| + | |||
| + | |||
| + | |||
lca/servizi/calcolo.txt · Ultima modifica: 29/09/2014 15:26 da roberto.alfieri
