Forum Linux.général avancée des jobs avec qsub

Posté par . Licence CC by-sa
Tags : aucun
0
1
sept.
2017

Bonjour à tous!

Je vous explique mon problème : j'ai créer un shell pour une analyse bio-informatique que je lance sur un cluster de calcul avec qsub. Cette analyse dure entre 8 et 12h selon mon échantillon, et je lance en parallèle plusieurs jobs (de 10 à 25).
J'aimerai en un coup d'oeil, savoir à quelle étape en sont chacun de mes jobs. J'ai pensé rajouter des lignes dans mon scripts pour écrire un pourcentage d'avancée dans un fichier que je pourrai consulter, mais avec 25 jobs en même temps, ça va vite devenir un sacré bordel… J'aimerai donc ne garder qu'une ligne par job, la dernière en date, qui m'indiquerait où en est l'analyse. Mais je ne vois pas comment faire… Est ce que vous auriez une idée ou une piste ?

J'avais pensé aussi changé le nom de mon job qui apparait lorsque je fais un qstat, au fur et a mesure de l'analyse. Ce serait l'idéal. Mais je n'ai rien trouvé qui m'indique que ce soit possible… vous confirmez ?

Merci d'avance !!

  • # Suggestion

    Posté par . Évalué à 2.

    De la même façon que tu as écrit un script de soumission, écrit un script de reporting d'avancement. Ce dernier pourrait par exemple interroger qstat, de là identifier les jobs en cours et leurs emplacements, de façon à pouvoir ensuite aller interroger chacun. Par exemple en lisant la dernière ligne d'un fichier qu'écrit ton job.

  • # qstat -xml

    Posté par . Évalué à 2. Dernière modification le 01/09/17 à 20:34.

    Ça dépend du job scheduler (non précisé) pour l'option et le détail de la sortie, mais la commande qstat possède en général une option pour retourner les jobs soumis en xml (voire peut être d'autres formats pour les versions modernes ?) et les infos idoines (état, nom du job, id etc)

    A partir de cela, il est simple de développer un truc pour faire du reporting ou essayer d'utiliser des solutions toutes prêtes : https://www.google.fr/search?q=qstat+xml

    Une solution pour le suivi est de découper le pipeline d'analyse de sorte qu'une étape == un job avec le nom kivabien (ex: sample1_etape1 -> sample1_etape2 -> etc)
    Dans ce cas, c'est plus simple de savoir où on en est.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.