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)

-Usable worker nodes: 80( -> total number of active worker nodes)
-Down worker nodes: 3( -> total number of down worker nodes)

Declared slots: 446( -> total number of batch system slots)

-Usable slots: 436( -> total number of usable batch system slots)
* Busy slots: 433( -> total number of batch system busy slots)
* Free slots: 3( -> total number of free batch system slots)
-Down slots: 10( -> 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)

-Cores with no HT: 396( -> total number of cores on active WNs with hyperthreading enabled)
-Cores with HT enabled: 40( -> 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


Page last modified on May 05, 2009, at 03:26 PM