LRMSinfo
E’ stato sviluppato per fornire informazioni inerenti all’ambiente GRID.
Lo scopo era fornire un aggregato delle informazioni relative all’utilizzo di una farm.
Le informazioni relative all’utilizzo delle risorse sono raccolte tramite il batch system.
Lo script può recuperare le informazioni considerando le code utilizzabili da grid da “/opt/glite/etc/gip/ldif/static-file-CE.ldif”. Questo significa che in tal caso fornisce informazioni solo sui WN associati alle code usabili da Grid.
Utilizzando l’opzione “—all” saranno raccolte le informazioni su tutte le code (e tutti i nodi di conseguenza).
In questo modo si recuperano informazioni sugli slot logici totali, liberi e occupati.
Viene recuperato anche il “load” delle macchine (Calcolato come “Load 1Min”).
L’unica informazione che non può essere reperita direttamente sul CE è relativa ai core fisici delle CPU dei WN. Per
recuperarli nel caso di pbs viene eseguita
una connessione ssh sui WN attivi che effettua un
cat /proc/cpuinfo
che permette di avere tutti i dettagli sui processori. La stessa operazione viene effettuata sui WN in LSF ma non usando una connessione ssh, bensì un comando interno (lsgrun).
L’informazione sui processori fisici viene aggiornata solo una volta al giorno in modo da permettere alla sonda di girare in modo rapido per fornire le informazioni sugli slot disponibili e usati ad una frequenza elevata.
Per PBS quindi, è necessario che la farm sia configurata in modo tale che sia possibile l’accesso ssh senza password dal CE ai WN per gli utenti (non root) ed in particolare viene usato l’utente opssgm.
Per far ciò sono necessari i seguenti passi:
- Configurare i WN inserendo il nome del CE su cui gira la sonda in
/etc/ssh/shosts.equiv
- Configurare i WN inserendo le chiavi ssh del CE in
/etc/ssh/ssh_known_hosts
Tramite questi dati riusciamo a fornire il dettaglio sul numero di core fisici nonchè a discriminare eventuali CPU hyperthreaded.
Non sono richieste particolari librerie oltre a quelle standard installate.
L’eseguibile è reperibile qui
Bisogna eseguire come root nel seguente modo
PBS: perl LRMSinfo.pl —lrms=pbs [—all]
LSF: perl LRMSinfo.pl —lrms=lsf [—lsfdir=<lsf ‘etc’ directory path>] [—all]
l’opzione ‘—lsfdir’ è necessaria in casi in cui l’environment non sia recuperabile da file di configurazione di Grid.
Il valore corrisponde alla directory ‘etc’ di LSF che solitamente è contenuto nella variabile di environment “LSF_SERVERDIR”.
Es.
perl LRMSinfo.pl —lrms=lsf —lsfdir=/opt/lsf_6.0/6.0/linux2.6-glibc2.3-x86/etc —all
L’output finale dà il dettaglio sia per macchina che aggregato.
Inoltre viene fornita una lista delle tipologie di CPU trovate nei nodi attivi e il rispettivo numero di core fisici.
Esempio
…
preprod07.ba.infn.it
model: ‘Intel(R) Xeon(TM) CPU 3.06GHz’
Physical CPUs: 2
cores: 2 slot: 2 HT: 0
Free slots: 0 CPU load: 1.85
Total memory(RAM): 2026.19MB
preprod08.ba.infn.it
Physical CPUs: 2
model: ‘Intel(R) Xeon(TM) CPU 3.06GHz’
cores: 2 slot: 2 HT: 4
Free slots: 0 CPU load: 2.01
Total memory(RAM): 2026.19MB
preprod09.ba.infn.it
Physical CPUs: 2
model: ‘Intel(R) Xeon(TM) CPU 3.06GHz’
cores: 2 slot: 2 HT: 0
Free slots: 0 CPU load: 2.01
Total memory(RAM): 2026.19MB
8 ‘Intel(R) Xeon(TM) CPU 2.40GHz’
6 ‘Intel(R) Xeon(TM) CPU 2.80GHz’
112 ‘Quad-Core AMD Opteron™ Processor 2352′
12 ‘Dual-Core AMD Opteron™ Processor 2218′
144 ‘Intel(R) Xeon(R) CPU E5405 @ 2.00GHz’
4 ‘Intel(R) Xeon(TM) CPU 3.00GHz’
40 ‘Intel(R) Xeon(TM) CPU 3.06GHz’
96 ‘Intel(R) Xeon(R) CPU E5335 @ 2.00GHz’
4 ‘Dual Core AMD Opteron™ Processor 275′
8 ‘Dual Core AMD Opteron™ Processor 270′
2 ‘Intel(R) Xeon(TM) CPU 3.20GHz’
################################ TOTAL ################################
Declared worker nodes: 83( -> total number of worker nodes)
( -> total number of active worker nodes)
( -> total number of down worker nodes)
Declared slots: 446( -> total number of batch system slots)
( -> total number of usable batch system slots)
( -> total number of batch system busy slots)
( -> total number of free batch system slots)
( -> total number of unusable batch system slots)
Physical CPUs: 148( -> total number of physical CPUs on active worker nodes)
Logical CPUs: 476( -> total number of logical CPUs on active worker nodes)
Usable cores: 436( -> total number of cores on active worker nodes)
( -> total number of cores on active WNs with hyperthreading enabled)
( -> total number of cores on active WNs with hyperthreading enabled)
Calcolo OFFLINE+ONLINE
Nel caso ci siano problemi di configurazione o si vogliano recuperare le informazioni anche dei worker nodes offline, visto che lo scopo principale dello LRMSinfo è di recuperare lo stato attuale, bisogna che nella directory di spool sul CE (/var/spool/gridice/cpuinfo/) vengano copiati tutti i file di cpuinfo dei nodi rinominandoli ad esempio con l’ hostname della macchina:
root@WN_NAME: scp /proc/cpuinfo CE_NAME:/var/spool/gridice/cpuinfo/WN_NAME
Se ad esempio avete 10 worker nodes uguali potreste semplicemente copiare nella directory /var/spool/gridice/cpuinfo/ un file cpuinfo da uno dei WN e poi replicarlo altre 9 volte.
Una volta copiati tutti i file basterà eseguire con
perl LRMSinfo.pl —lrms=<lrms> —off-only
o se si vogliono anche i risultati relativi ai nodi attivi
perl LRMSinfo.pl —lrms=<lrms> —all —off
Per eventuali chiarimenti o problemi contattare Guido Cuscela
