CPU hours monitoring/increase per project

Bonjour,

J'ai récemment ouvert un compte sur l'IFB Core Cluster, ainsi qu'un projet dans ce compte, comptant 10000 heures CPU.

J'ai lancé de "petits" jobs pour effectuer quelque tests de scripts sur mon compte demo, afin d'évaluer des temps de calcul et des scripts avant de passer sur mon projet. Cependant, le premier de ces jobs a été interrompu pour cause de time out. Considérant que j'avais spécifié 6 heures de temps et que le job s'est interrompu au bout de 14 minutes, je pense que j'ai épuisé les 6 heures CPU du compte demo pendant ces 14 minutes.

J'ai 3 questions à ce sujet :

  • Pourriez vous m'indiquer une manière de voir le temps CPU restant par projet ? Je souhaiterais vérifier que mon compte demo est bien "vide" (malheureusement je n'arrive pas à utiliser la commande "quota", si c'est bien la bonne commande)

  • Est-il possible de demander une augmentation du temps CPU alloué à un projet après sa création? Il semblerait que je l'ai sous-estimé.

  • Avez vous une manière non-empirique d'évaluer le temps CPU d'un calcul?

Merci beaucoup pour votre aide!

Emilie

Bonjour,

La commande quota rapporte des informations sur les quotas d'espace disque et non de temps cpu.
Pour voir le temps CPU autorisé sur un compte, vous pouvez utiliser :
sacctmgr list Associations user=erousseau
Vous verrez que dans la ligne demo le champ GrpTRESMins vaut 360 (minutes)
Ensuite, vous pouvez voir le temps utilisé avec :
sshare -U
qui vous donnera le temps consommé, cette fois en secondes (colonne RawUsage)

Je ne sais pas précisément comment faire une demande d'augmentation (dans My ?) mais c'est techniquement possible

Pour estimer le temps d'un calcul sans faire de tests, il faut connaître l'algorithme exécuté. Dans les cas simples, cela dépend de la taille des données : O(n) - proportionnel , O(n^2) - proportionnel au carré de la taille, O(log n), etc. Si l'algorithme dépend du contenu (données plus ou moins complexes) cela peut également varier. tout cela s'applique également à la consommation mémoire et est même plus problématique car la mémoire allouée ne peut être réallouée à un autre job. Si un job se termine plus tôt que prévu, un autre pourrait être démarré immédiatement.

Si des tests d'évaluation ne sont pas suffisants (variations trop grandes et donc demande en ressources imprévisibles) il faudrait pouvoir se tourner vers l'auteur du programme et lui demander comment écrire des outils de pré-analyse des données afin d'évaluer les besoins en temps et en RAM

Bonne journée,
J.C. Haessig

Merci beaucoup pour cette réponse détaillée!

Emilie