Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Condor est un programme disponible dans les dépots Debian permettant la mise en cluster d'ordinateur. Il permet, moyennant la création d'un fichier de description, de distribuer des taches à travers divers ordinateurs de manière automatique.
Il faut installer Condor sur touteles machines concernées :
apt-get -y install htcondor
Ne pas effectuer de configuration automatique! Je n'ai rien obtenu de valable avec.
Si vous avez effectué une configuration automatique :
apt-get -y purge htcondor && apt-get -y install htcondor
Extrême, mais cela a le mérite d'être clair!
Ici, nous allons paramètrer les ordinateurs du cluster de telle manière qu'un d'entre eux soumette du travail et que les autres executent. Celui qui soumet est appelé serveur de batch, les autres sont des noeud de travail (work node).
Avant de modifier les fichiers de configuration :
service condor stop
Une fois les modifications terminées :
service condor start
commencer par redémarrer le serveur de batch!
Il faut modifier le fichier condor_config des noeuds de travail pour qu'ils disposent tous de ces lignes :
nano /etc/condor/condor_config
# daemon d'une work_node DAEMON_LIST = STARTD, MASTER # quantité de mémoire que condor ne devra pas utiliser RESERVED_MEMORY = # IP du serveur de batch CONDOR_HOST = 192.168.XX.XX # Permettre à toute les machines du réseau local de soumettre des taches : 192.* ALLOW_WRITE = $(CONDOR_HOST) $(IP_ADDRESS) 192.* # Permettre à toute les machines du réseau locale d'être gestionnaire : 192.* ALLOW_NEGOTIATOR = $(CONDOR_HOST) $(IP_ADDRESS) 192.*
De la même manière, il faut modifier les même lignes du condor_config du serveur de batch :
nano /etc/condor/condor_config
# daemon du serveur de batch DAEMON_LIST = COLLECTOR, NEGOTIATOR, SCHEDD, MASTER # pas indispensable dans un réseau domestique # peut etre davantage si vous avez beaucoup de machine RESERVED_MEMORY = # IP du serveur de batch (cette machine) CONDOR_HOST = 192.168.XX.XX # Permettre à toute les machines du réseau local de soumettre des taches : 192.* ALLOW_WRITE = $(CONDOR_HOST) $(IP_ADDRESS) 192.* # Etant donnéque cette machine est le gestionnaire central : 127.* ALLOW_NEGOTIATOR = $(CONDOR_HOST) $(IP_ADDRESS) 127.*
exécuter une tache :
condor_submit /mon/fichier/description.des
afficher la fil d'attente :
condor_q
Retirer de la queue toute les taches lancées par un utilisateur :
condor_rm utilisateur
Permet de voir les work_node du cluster avec détails(arch, OpSys) :
condor_status
Permet de voir tout les daemons actifs sur les machines du cluster :
condor_status -any
affiche les work_node disponibles (celles qui ne taf pas) :
condor_status -avail
Les fichiers de description sont destiné à etre utilisé avec la commande condor_submit.
Cet exemple permet d'executer un script bash “tache_1.exe”(rien a voir avec windaube, exe en réference à la ligne executable du fichier) 5 fois en utilisant toute les machines disponible sous linux d'architecture X86_64, armv6l et armv7l en faisant usage d'un fichier 'fichier.nécéssaire. output, error, et log fournissent des informations utiles concernant l'execution de votre tache. Si vous êtes débutant, commencer par l'univers vanilla (le plus simple).
universe = vanilla initialdir = /home/$USER/Documents/Informatique/Condor/ executable = /home/$USER/Documents/Informatique/Condor/tache_1.exe input = /home/$USER/Documents/Informatique/Condor/fichier.nécéssaire requirements = (Arch == "X86_64" && OpSys == "LINUX") || (Arch == "armv6l" && OpSys == "LINUX") || (Arch == "armv7l" && OpSys == "LINUX") output = /home/$USER/Documents/Informatique/Condor/tache_1.out error = /home/$USER/Documents/Informatique/Condor/tache_1.err log = /home/$USER/Documents/Informatique/Condor/tache_1.log Queue 5
Voici une tache ultra basique. Elle execute 1 fois dans l'univers vanilla le script tache_2.exe situé dans votre repertoire personnel en utilisant une machine disponible d'architecture et system d'exploitation identique à votre serveur de batch. pas de log, ni de message d'erreur : juste la tache.
executable = tache_2.exe queue