Les tâches de l’utilisateur peuvent demander des ressources, mais pendant l’exécution, les processeurs entièrement demandés ne sont pas utilisés par les JOBS. Il peut y avoir de nombreuses raisons pour expliquer ce comportement :

(a) Des erreurs dans les fichiers de lot SLURM.

(b) Le code/l’application n’est pas bien parallélisé.

(c) Des besoins locaux en mémoire supplémentaire par processeur.

(d) L’utilisateur souhaite exécuter un code séquentiel.

   Pour tous ces événements, l’utilisateur devrait vérifier les performances de ses JOBS en utilisant une fonction système appelée « jobcpuload ». Cette fonction rapporte l’utilisation moyenne du processeur (CPULoad) et la capacité du processeur disponible (CPUTot) des nœuds par JOB. Si CPULoad atteint la valeur de CPUTot, le JOB utilise presque tous les processeurs du nœud ; cependant, pour une raison quelconque, si CPULoad est inférieur à CPUTot, le JOB est déséquilibré et les JOBS de l’utilisateur font perdre du temps CPU et des ressources dans Explor.

   Par conséquent, les utilisateurs devraient maximiser le CPULoad de leurs exécutions afin d’éviter d’exécuter de nombreux JOBS déséquilibrés qui n’utilisent pas toutes les ressources allouées. Dans les cas où le code présente de mauvaises performances parallèles, l’utilisateur doit regrouper plusieurs tâches en une seule exécution de lot SLURM plutôt que de soumettre de nombreux JOBS qui allouent peu de processeurs.

 


    The user tasks’ may request some resources, but during the execution time, the fully demanded CPUs are not being used by the JOBS. There could be many reasons to explain this behavior:

(a) Mistakes in the SLURM batch files.

(b) The code/application is not well parallelized.

(c) Local needs for more memory per CPU.

(d) The user wants to run a serial code.

   For all these events, the user should check the performance of their JOBS using a system function called « jobcpuload ». This function reports the averaged CPU usage (CPULoad) and the available CPU capability (CPUTot) of the nodes per JOB. If CPULoad reaches the CPUTot value the JOB is using almost all the CPUs in the node; however, for any reason the CPULoad is less than the CPUTot the JOB is unbalanced and the user JOBs are wasting CPU time and resources in Explor.

     Hence, the users should maximize the CPULoad of their executions to avoid running many unbalanced JOBs that don’t use all the allocated resources. In cases when the code has poor parallel performance, the user must combine multiple tasks into one SLURM batch execution rather than submitting many JOBS that allocate few processors.