Question

J'essaie d'exécuter des tâches qsub sur un cluster SGE (Sun Grid Engine) prenant en charge un maximum de 688 tâches.Je voudrais savoir s'il existe un moyen de connaître le nombre total de tâches actuellement en cours d'exécution sur le cluster afin de pouvoir soumettre des tâches en fonction de la charge actuelle du cluster.

J'ai l'intention de faire quelque chose comme :dormez pendant 1 minute et vérifiez à nouveau si le nombre de tâches dans le cluster est <688, puis soumettez davantage les tâches.

Et juste pour clarifier, ma question concerne la connaissance du nombre total d'emplois soumis sur le cluster et pas seulement les emplois que j'ai soumis actuellement.

Merci d'avance.

Était-ce utile?

La solution

Vous pouvez utiliser qstat pour lister les tâches de tous les utilisateurs ;ceci avec awk et wc peut être utilisé pour connaître le nombre total de jobs sur le cluster :

qstat -u "*" | awk '{if ($5 == "r" || $5 == "qw") print $0;}' | wc -l

La commande ci-dessus prend également en compte les tâches en file d'attente et en attente d'être planifiées sur un nœud de calcul.

Cependant, les administrateurs système du cluster pourraient interdire aux utilisateurs de vérifier les tâches qui ne leur appartiennent pas.Vous pouvez vérifier si vous pouvez voir les tâches des autres utilisateurs en exécutant :

qstat -u "*"

Si vous savez avec certitude qu'un autre utilisateur exécute une tâche et que vous ne pouvez pourtant pas la voir lors de l'exécution de la commande ci-dessus, il est fort probable que les administrateurs système aient désactivé cette option.

Après réflexion :d'après ce que j'ai compris, vous n'êtes qu'un utilisateur régulier du cluster - pourquoi prenez-vous même la peine de soumettre des travaux de cette façon.Pourquoi ne soumettez-vous pas simplement toutes les tâches que vous souhaitez et si le cluster ne peut pas planifier vos tâches, il les placera simplement dans un qw les indiquer et les programmer chaque fois que SGE le juge le moment le plus approprié.

Autres conseils

Selon la façon dont le cluster est configuré, à l'aide du tableau de tâches (-t option pour qsub) contournerait cette limite.

J'ai des limites similaires définies pour le nombre maximum de tâches qu'un seul utilisateur peut soumettre.Cette limite concerne les instances individuelles de qsub et pas de soumission d'un tableau de tâches unique, potentiellement de nombreuses tâches (cette limite est définie via une autre variable de configuration, max_aj_tasks).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top