2017-05-26 7 views
0

J'utilise la fonctionnalité de tableau de tâches SGE pour terminer mon travail: d'abord lire un prototype et lire différentes données à calculer. Cependant, parfois, lors de la lecture du prototype, le travail échoue. L'erreur montre que le prototype n'existe pas ou n'est pas complet. Mais je suis sûr que le fichier prototype existe et est completSun GridEngine tableau de travail lecture aléatoire fichier échouer

qsub -q HTS_QUEUE -R y -r y -S /usr/bin/perl -cwd -t 1-$nphonemes Training.pl ./Config/Config.pm.2 

Ce qui précède est ma commande.

Veuillez me donner quelques conseils. Je vous remercie.

Répondre

0

Je suppose que le prototype est un fichier sur un système de fichiers partagé?

  1. Si tel est le cas il est possible que le système de fichiers correspondant n'est pas monté sur le nœud où le travail est exécuté.

  2. Une autre possibilité est que le fichier se trouve sur un système de fichiers réseau qui génère parfois des erreurs transitoires, par exemple NFS monté en mode doux. Si tel est le cas, et vous ne pouvez pas ou ne voulez pas modifier votre code pour traiter les erreurs, vous pouvez mettre le code réel entre parenthèses avec des routines qui copient vos prototypes et le résultat vers et depuis le stockage local de nœud en vérifiant et traitant des erreurs transitoires. Ensuite, travaillez sur cette copie.

+0

oui, il sur le système de fichiers partagé. – OmniKing

+0

Dans ce cas, je vous conseille de vérifier le noeud sur lequel le travail a été exécuté pour vérifier qu'il est monté et de vérifier quel type de système de fichiers avec quelles options de montage pour voir s'il peut générer des erreurs transitoires. –

+0

Je me tourne pour utiliser le multitraitement. Merci quand même. – OmniKing