Dans ce guide, nous allons vous montrer quelques sources d'erreurs courantes rencontrées par les utilisateurs exécutant des tâches par lots sur la plateforme Rescale. Nous allons essayer de vous montrer comment diagnostiquer certaines de ces erreurs. Nous discuterons également des moyens de les éviter et de les corriger.
Page État de la tâche
Examiner la sortie sur le travail Statut page
Examiner l'historique des tâches sur le diagramme de Gantt
La commande transmet-elle correctement le validationLa validation est l'acte de garantir qu'un produit, un système ou... Autres étape (Validation de l'entrée) avec un chèque vert ? Y a-t-il des messages d'erreur présents dans le Journaux de travaux section?
Y a-t-il des messages d'erreur présents dans le Journaux de travaux section?
Page de résultats
processus_output.log
La première étape que nous suggérerions toujours pour chaque travail, réussi ou non est de revoir le process_output.log déposer. Ce fichier enregistre la sortie standard de la méthode d'analyse logicielle que vous exécutez. Il enregistrera également tous les messages d'erreur potentiels.
Pour trouver le process_output.log fichier aller au Job Résultats page
Rechercher le fichier dans la barre de recherche
Habituellement log or process est un terme de recherche suffisant
Voir le process_output.log fichier à l'aide de l'icône d'écran dans le Action colonne
Si le fichier est trop volumineux, vous devrez peut-être d'abord le télécharger avant de l'afficher dans un éditeur de texte.
Examinez attentivement ce fichier journal et recherchez les messages d'avertissement ou d'erreur.
La plupart du temps, l'erreur peut être identifiée ici
Codes de sortie
Un champ clé à rechercher est le « code de sortie » à la fin du process_output.log déposer. Si une méthode d'analyse fonctionne correctement et se termine proprement sans afficher de message d'erreur, elle devrait produire :
Sortir avec le code 0
Même si un travail peut se terminer avec code 0, cela signifie simplement que le processus s'est exécuté sans produire d'erreurs. Bien sûr, cela fait garantie pas que le travail s'est déroulé comme prévu. Lorsque le programme rencontre une erreur système explicite (c'est-à-dire manque de mémoire, coreune unité de traitement individuelle au sein d'un processeur multicœur o... Autres dump, espace disque insuffisant, etc), le processus produira un code de sortie non nul. Codes de sortie courants que vous pouvez rencontrer :
Code de sortie
Sens
1
Fourre-tout pour les erreurs générales
2
Utilisation abusive des éléments intégrés au shell
126
La commande invoquée ne peut pas s'exécuter
127
Commande non trouvée
128
Argument invalide pour quitter
128 + n
Signal d'erreur fatale « n »
130
Script terminé par Ctrl-C
137
Mode de sortie indéterminé, y compris l'arrêt explicite du processus ou une mémoire insuffisante
255 *
Statut de sortie hors de portée
Bien entendu, ces codes d’erreur ne sont pas les plus instructifs, mais ils constituent un point de départ pour le débogage.
Étapes de débogage de base
Bien qu'il existe une grande variété de mécanismes de défaillance, certains des problèmes les plus courants ainsi que les étapes permettant de les diagnostiquer et de les éviter sont répertoriés ci-dessous.
Fichiers d'entrée manquants
Assurez-vous que tous les fichiers requis ont été inclus dans le travail, soit individuellement, soit dans un ensemble de fichiers d'entrée compressés (zip, tarball, etc.).
Chemins de fichiers incorrects
Assurez-vous que le paquet de fichiers d'entrée compressés se développera vers les chemins de répertoire appropriés.
Utiliser des chemins de fichiers relatifs dans les scripts, les fichiers d'entrée et autres définitions de tâches
Rescale exécutera le logiciel Command(s) indiqué(s) sur le Paramètres du logiciel page dans le même répertoire de travail où les fichiers compressés seront décompressés
La plateforme Rescale supposera que les fichiers d'entrée préparés sont regroupés au niveau du répertoire supérieur.
zip/tar/etc les fichiers d'entrée au niveau du répertoire où la commande sera exécutée
Ou, si un sous-répertoire case est utilisé (c'est-à-dire run01_configB), assurez-vous de faire précéder la commande du logiciel d'analyse avec le changement de répertoire approprié, tel que : cd run01_configB && run_analysis
Notez qu'il ne s'agit pas du workflow préféré sur la plateforme Rescale
Travaux multi-nœuds nécessitant l'accès à un système de fichiers commun
Pour la plupart des méthodes d'analyse dans lesquelles le processus principal gère les E/S des fichiers et la communication avec le processus de travail, Rescale place par défaut les fichiers d'entrée spécifiés par l'utilisateur dans ~/work. Toutefois, certaines méthodes lancent des processus de travail sur des nœuds qui nécessitent également l'accès à un système de fichiers partagé.
Sur la plateforme Rescale, le ~/work/shared le répertoire est monté NFS sur tous les nœuds de calcul de votre travail
Rescale a identifié la plupart de ces méthodes d'analyse et démarre par défaut les tâches dans le ~/work/shared annuaire
Cependant, il arrive parfois, en raison d'une personnalisation ou d'une option d'exécution, que les processus de travail exécutés sur les nœuds nécessitent l'accès aux fichiers d'entrée, le chargement des bibliothèques d'exécution ou l'écriture de fichiers de sortie.
Le Command sur le Paramètres du logiciel la page doit être précédée de Bougez et changer de répertoire commandes:
mv * a partagé la publication de
cd a partagé la publication de
<run_analysis>
Erreur lors de la lecture des fichiers d'entrée
Assurez-vous que les fichiers d'entrée sont correctement construits comme prévu par votre logiciel d'analyse
Assurez-vous que le logiciel approprié Version est sélectionné sur la page déroulante « Paramètres du logiciel »
Assurez-vous que les fichiers de saisie de texte sont au format approprié
Les nœuds de calcul par lots sont généralement des machines Linux. Selon le type d'éditeur de texte que vous utilisez, les caractères de fin de ligne/fin de fichier sont parfois codés différemment.
Souvent, les éditeurs de texte Windows génèrent des fichiers avec le ^M caractère de nouvelle ligne que Linux n'utilise pas
Pour remplacer cela à l'aide d'un éditeur de texte tel que VI/VIM, vous pouvez remplacer ces caractères par la commande suivante : :%s/^M$//
À noter: ^M est inscrit comme ctrl-V et ctrl-M
Examinez d'autres fichiers journaux de votre méthode d'analyse
Alors que la plateforme Rescale génère des messages de sortie standard vers process_output.log, certaines méthodes d'analyse imprimeront des informations critiques dans d'autres fichiers journaux
Ces fichiers de sortie auront généralement les extensions de fichier « log », « out », « live » ou « dat », mais peuvent varier en fonction de la méthode d'analyse. Veuillez vous référer à la documentation du fournisseur du logiciel
Ces fichiers journaux seront également généralement des fichiers texte ASCII, vous pouvez donc les visualiser à l'aide de la petite icône d'écran dans la colonne de droite à côté du nom du fichier.
Comme avec la process_output.log fichier, s'il est trop volumineux, téléchargez-le sur votre site local poste de travailUn poste de travail est un système informatique puissant conçu pour les pro... Autres et visualisez-les à l'aide d'un éditeur de texte
Fichiers de bibliothèque manquants
Assurez-vous que le processus dispose de définitions d'accès et de chemin appropriées pour tous les fichiers de bibliothèque personnalisés utilisés dans le travail.
Le support Rescale devra peut-être installer des bibliothèques supplémentaires pour votre application.
Vérifiez que votre simulationLa simulation, c'est expérimenter, tester des scénarios et créer... Autres le processus dispose de suffisamment de mémoire physique et de stockage pendant l'exécution
Certains codes changeront la taille de leur empreinte mémoire pendant l'exécution en fonction de l'analyse, donc une mémoire suffisante au démarrage peut ne pas persister
Certains codes généreront également une grande quantité de fichiers de données de travail qui pourraient gonfler l'empreinte de stockage au-delà de celle des fichiers de sortie finaux.
Reportez-vous à « Statut du cluster » au bas du Job Statut page pour les moniteurs de mémoire libre et d'espace disque
Réduisez la taille de votre maillage/simulation pour voir si le travail peut s'exécuter avec succès
Exécuter sur plus de cœurs et/ou de nœuds
Sélectionnez des types de cœurs spécialisés avec plus de mémoire physique ou de stockage
Accès approprié à la licence
Assurez-vous que vos paramètres de licence sur le Paramètres du logiciel la page est correctement définie. Généralement, ceux-ci sont au format port@hostname.
Assurez-vous que vous vérifiez les fonctionnalités de votre fichier de licence, comme le montre le process_output.log
Vérifiez si les bonnes options pour vérifier les fonctionnalités sont utilisées avec la commande que vous essayez d'exécuter.
Si vous êtes la personne responsable de votre permis serveurun serveur est un programme informatique qui fournit des services à d'autres... Autres:
Vérifiez que votre licence n'a pas expiré
Vérifiez que votre serveur de licences est opérationnel et dispose d'un accès au réseau
Veuillez vous référer à notre guide sur Tunnel SSH et Transfert IP pour plus de détails.
Débogage de votre flux de travail
Avant de vous lancer dans une exécution de taille production, configurez un petit scénario de test qui met en pratique votre flux de travail.
Vérifiez que vos étapes de pré- et post-traitement sont correctement intégrées dans votre Options d'analyse > Command
Exécuter une tâche de test de manière interactive
Remplacer l'existant Command au sleep 3600
ssh dans le calcul nœudEn informatique traditionnelle, un nœud est un objet sur un réseau. ... Autres une fois que ça commence
Accédez au répertoire approprié pour votre méthode d'analyse (~/work or ~/work/shared)
Tentative de lancement du travail de manière interactive
Enregistrez toutes les commandes qui produisent un résultat positif
Modifiez votre Command(s) en conséquence
Le Command la fenêtre de saisie acceptera les sauts de ligne, ; or && marques pour séparer les commandes
Remarque : commandes séparées par && ne s'exécutera que si le précédent se termine par un code 0, tandis que ceux qui suivent ; s'exécutera toujours après le précédent
Si ces étapes de débogage courantes ne résolvent toujours pas vos problèmes, veuillez contacter et partager votre travail avec Prise en charge du redimensionnement.