SGE - Surcharge des noeuds

Parfois les clusters de calcul subissent de fortes charges, dûes à des résidus de calculs terminés qui peuvent toujours apparaître dans la liste des processus, SGE est censé
pourvoir gérer ce type de problème grâce au fichier prolog et/ou epilog, situés dans <$SGE_ROOT>/site/ mais les problèmes peuvent persister.

Load Average

Le load_avg est une valeur fournie par la commande uptime ou celles du type top, htop, etc. et indique la charge processeur moyenne. La commande qstat affiche également
cette moyenne pour chaque noeud :

# qstat -f

queuename qtype resv/used/tot. load_avg arch states
[...]
---------------------------------------------------------------------------------
linux64_deb@myNode24 BIP 0/5/20 21.00 lx26-amd64 a
410729 0.55500 Pi_infin rick r 11/21/2022 14:04:46 1
410773 0.55500 HyperCub morty r 11/23/2022 17:01:01 1
410774 0.55500 HyperCub morty r 11/23/2022 17:01:46 3

On voit que ce noeud a seulement 5 proceseurs d’utilisés sur 20, avec un load_avg assez haut, ce noeud est d’ailleurs en statut “a”.
Pour avoir plus de précision sur cette erreur on utilise le paramètre -explain de qstat :

# qstat -explain a -q *@myNode24

queuename qtype resv/used/tot. load_avg arch states
---------------------------------------------------------------------------------
linux64_deb@myNode24 BIP 0/5/20 21.00 lx26-amd64 a
alarm hl:np_load_avg=1.000000 load-threshold=0.95
410729 0.55500 Pi_infin rick r 11/21/2022 14:04:46 1
410773 0.55500 HyperCub morty r 11/23/2022 17:01:01 1
410774 0.55500 HyperCub morty r 11/23/2022 17:01:46 3

Ceci nous indique que le noeud a déplacé le plafond.

Processus zombies

Pour alléger la charge du noeud, une solution est de voir les processus lancés par les utilisateurs, il est possible que certains n’aient pas été tués.
Ici nous avons 2 utilisateurs qui ont des jobs en cours : rick et morty, et nous devrions trouver des processus leurs appartenant sur le noeud myNode24 mais pas ceux d’autre
utilisateur.

ps aux | grep -v root
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
rick 833 0.0 0.0 106992 1476 ? R 08:41 0:00 [...]
rick 868 0.0 0.0 106100 1320 ? R 08:41 0:00 [...]
621 20392 0.0 0.0 106100 1512 ? Ss 10:04 0:00 [...]
621 20474 0.0 0.0 12168 1144 ? S 10:04 0:00 [...]
621 20475 0.0 0.0 9232 1212 ? S 10:04 0:00 [...]

On voit l’utilisateur “621” (identifiable dans le /etc/passwd) qui possède encore des processus qui tournent sur le noeud. Il faut les tuer (et/ou demander à l’utilisateur si c’est normal)

Documentation

Doc SGE

> Partager <