Vous êtes sur la page 1sur 19

Abrg Condor

Abrg Condor

Instal l ati on, Confi gurati on, Uti l i sati on Instal l ati on, Confi gurati on, Uti l i sati on






























1. 1. Prsentati on de Prsentati on de Condor Condor



1. Prsentation de Condor

Condor est un projet de luniversit du Wisconsin, Madison. ondor
est un systme de traitement par lots spcialis pour des applications de
calcul intensif. Toutes les fonctionnalits de Condor sont ralises au
niveau utilisateur. Comme la plupart des "batch" systmes, Condor prvoit
un mcanisme de file d'attente, un schma de priorit, une politique de
rgulation des tches et une classification des ressources. Condor envoie
les calculs effectuer sur la (ou les) machine(s) ddie(s), mais la
diffrence des systmes traditionnels, Condor peut aussi se servir des
machines dont l'utilisation n'a pas t spcifie mais dont l'activit (au
moment du lancement du calcul) est nulle.

2. Composants de Condor

Condor est organis en pool de machines. On peut distinguer trois groupes de
machine.

2.1 machine soumettrice (Submit Machine)

L'utilisateur qui veut lancer un calcul va le soumettre au pool Condor.

2.2 Le manager central (Central Manager)

Cette machine va "rcuprer" le job qui a t soumis et va l'aiguiller vers
une machine disponible.

2.3 La machine excutrice (Excution Machine)

Cette machine va rcuprer le job du manager central et va l'excuter. Elle
va rcuprer tous les paramtres ncessaires l'excution du job de la
machine mettrice.

3. Architecture Condor




















4. Spcifications de Condor

Systme de traitement par lot
Granularit dfinie comme un processus

Gre la proprit dune machine prive
Le propritaire reste matre de sa machine

Checkpoint et Migration
Assure une fiabilit certaine du systme

Les machines fonctionnant avec condor peuvent
Avoir ou non des espaces partags
Avoir ou non des espaces utilisateur en commun

Environnement de calcul local ou global

Pas de modification ncessaires des codes sources des utilisateurs
Gestion et migration transparente des jobs

Possibilit de configuration chaud
Modification a chaud des politiques de scheduling
On peut rordonner un job
Modification a chaud des priorits (job et utilisateur)

5. Anatomie des jobs

Les jobs peuvent

- fonctionner en environnement libre (Vanilla), standard, Java, mpi, globus
- dfinir une liste de ressources spcifiques
- dfinir une priorit
- envoyer un mail (au dbut, la fin, ou labandon dun job)
- dterminer les dpendances
- se synchroniser avec dautres jobs

7. Principales ressources configurables

- Architecture du CPU
- OS
- Quantit de Mmoire
- Condition de dmarrage du job
- Etat du systme
- Activit du systme
- Utilisateur
- Machine
- Taille disque
- Mpis
- Kflops
- UID du domain
- File system
- Etat de la console
-


8. Limitations de Condor

- Seule la version de MPICH 1.2.4 est supporte par Condor

- Les jobs multi-processus ne sont pas permis, cest--dire quon ne peut
faire dappels systmes tels que fork(), exec(), et system().

- Les communications inter-process ne sont pas permises (tubes,
smaphores, mmoire partage).

- Les communications rseaux se doivent dtre brves. Un job peut utiliser
des appels tels que socket() mais une connection ouverte pour une longue
priode engendre un ralentissement des sauvegardes et migrations des
jobs.

- Lenvoi et la rception des signaux SIGUSR2 et SIGTSTP ne sont pas
permis (Condor les rserve pour son usage personnel) ; lutilisation de tous
les autres signaux est tout--fait possible.

- Les appels systmes du style alarm(), getitimer() ou sleep() ne sont pas
autoriss.

- Pas de mmap() ou de munmap() non plus.

- Les serrures sur les fichiers (file locks) sont permises mais pas
retenues aprs un checkpoint.

- Tous les fichiers doivent tre ouverts en lecture-seulement ou criture-
seulement.


2. 2. Instal l ati on de Condor Instal l ati on de Condor

2.1 Rcupration du Package

Tout d'abord il est ncessaire de rcuprer une distribution de Condor.
Celle que nous installerons est une version estampille Condor 6.7.0

Condor est disponible pour les systmes suivants :

Windows (x86)
Mac Os X (Power PC)
Aix 5.2 (Power PC)
Digital Unix 4 (Alpha)
Irix 6.5 (SGI)
Tru64 5.1(Alpha)
HP-UX 10.20 (PA RISC)
Red Hat 7.1/7.2/7.3 (glibc 2.2 Itanium x86 Alpha)
Red Hat 8 (glibc 2.2 x86)
Red Hat 9 (glibc 2.3 x86)
Suse Serveur 8.1(glibc 2.3 Itanium)
Solaris 2.7 (Sparc)
Solaris 8 (Sparc)
Solaris 9 (Sparc)

! Librairies Statiques ou Dynamiques ?

Les binaires de Condor sont disponibles en versions librairies statiques
et/ou dynamiques. Si vous installez Condor sur un Linux nous conseillons
l'usage de la version librairies dynamique. Cependant pour les systmes
base dUnix la version en librairies statiques sera prfrable.

Attention

La glibc influant sur la distribution de Condor si vous souhaiter rcuprer
une version Linux de Condor, veillez vrifier que la distribution choisie
corresponde votre glibc.

2.2 Cration d'un utilisateur condor

En mode super utilisateur (root)

Linux

adduser condor
chmod a+rx ~condor/

Solaris

echo condor:x:34397:34397::/home/condor:/bin/bash/etc/passwd


Windows

Inutile de crer un utilisateur condor !


2.3 Installation

Linux

tar -zxvf condor.6.7.0.tar.gz

Solaris

gzip -d condor.6.7.0.tar.Z
tar -xvf condor.6.0.7.tar

Il existe trois procdures d'installation de Condor, un RPM, un script,
et en ligne de commande. La plus simple aussi bine pour le dploiement
que pour limiter toutes erreurs de configuration est celle en ligne de
commande.

Linux & Solaris

cd condor.6.7.0
./condor_configure --install --install-dir=/tmp/condor/ \
--local-dir=/tmp/condor/var --owner=condor

2.3 Post installation

On fait un lien du fichier de configuration du logiciel avec son
oprateur. Et on lui complte ses variables d'environnement. Celles ci
pouvant tre renseignes au sein du fichier .profile, .bashrc, .kshrc, .cshrc
ou autre.

ln -s /tmp/condor/etc/condor_config ~condor/
PATH=$PATH: /tmp/condor/bin:/tmp/condor/sbin
2.4 Configuration
Configuration locale : Edition du fichier condor_config.local
Condor fournit chaque utilisateur un fichier de configuration gnrale
commun chaque machine connecte sous Condor ainsi qu'un fichier de
configuration locale propre chaque machine. Les diffrentes dfinitions
rdiger dans ce dernier sont:

Paramtre Description
START Permet de choisir les conditions de lancement d'un
calcul
SUSPEND Permet de choisir les conditions de suspension d'un
calcul
CONTINUE Permet de choisir les conditions de reprise d'un calcul
pralablement suspendu
PREEMPT Permet de choisir les conditions de fin d'un calcul
pralablement suspendu
KILL Permet de choisir les conditions de suppression sans
sauvegarde d'un calcul pralablement suspendu
WANT_SUSPEND Indique les conditions sous lesquelles on va prendre
en compte la macro SUSPEND
WANT_VACATE Indique les conditions sous lesquelles on va prendre
en compte la macro PREEMPT
CONDOR_HOST Nom du central Manager de Condor
CONDOR_ADMIN Adresse mail ou sont envoys les rapports de Condor.







Exemple de fichier condor_config.local


COLLECTOR = $(SBIN)/condor_collector
DAEMON_LIST = MASTER, COLLECTOR, NEGOTIATOR, STARTD, SCHEDD
COLLECTOR_NAME = DRIS
FILESYSTEM_DOMAIN = onera
PREEMPT = FALSE
SUSPEND = FALSE
LOCK = /tmp/condor-lock.$(HOSTNAME)0.485966142806323
UID_DOMAIN = onera
NEGOTIATOR = $(SBIN)/condor_negotiator
VACATE = FALSE
CONDOR_ADMIN = gallon@onera.fr
START = TRUE
MAIL = /bin/mail
CONDOR_IDS = 34397.34397
RELEASE_DIR = /tmp/condor
CONDOR_HOST = dris-grille.onera
LOCAL_DIR = /tmp/condor/var


3. 3. Dmarrage/Arrt des Servi ces Dmarrage/Arrt des Servi ces

3.1 Dmarrage

Le dmarrage des services condor se ralise soit en tant que root,
soit en tant quoprateur du logiciel condor (ce qui correspond loption
owner passe lors de linstallation via la commande condor_configure). En
loccurrence, ici, les services peuvent galement tre lancs par lutilisateur
condor.

Linux & Solaris: Central Manager

condor_master

Nb : ou bien /tmp/condor/sbin/condor_master si votre PATH est mal
configur.

Linux & Solaris: Machine d execution

condor_on

Nb : ou bien /tmp/condor/sbin/condor_on si votre PATH est mal configur.

Windows

net start condor






3.2 Vrification

Linux & Solaris

ps edf | grep condor_

Vous devriez alors observer ceci :

condor 3086 1 0 Apr28 ? 00:04:48 [condor_master]
condor 3087 3086 0 Apr28 ? 00:00:00 [condor_collecto]
condor 3088 3086 0 Apr28 ? 00:00:31 [condor_negotiat]
condor 3089 3086 0 Apr28 ? 00:01:52 [condor_startd]
condor 3090 3086 0 Apr28 ? 00:00:06 [condor_schedd]


Windows

Sous Windows (NT/2000/XP) le plus simple consiste appeler le
gestionnaire des tches via un Ctrl+Alt+Suppr et daller observer
longlet processus.



3.3 Arrt

Pour stopper les services il faut comme pour le dmarrage soit tre
Administrateur soit tre oprateur.

Linux & Solaris : Central Manager

condor_off master (anciennement condor_master_off)

Nb : ou bien /tmp/condor/sbin/condor_master_off si votre PATH est mal
configur.

Linux & Solaris: Machine d execution

condor_off

Nb : ou bien /tmp/condor/sbin/condor_off si votre PATH est mal configur.


Windows

net stop condor


4. 4. Commandes Commandes


Commande Description
condor_compile Permet de compiler les programme en faisant des
liens propres pour condor sutilise principalement
dans lenvironnement standard.
condor_submit
Permet de Soumettre un job en batch lune des
queues du scheduler de condor
condor_q Permet lobservation de ltat dune queue
condor_status Permet lobservation de ltat de la grille condor
condor_rm Permet la suppression dun job dans une queue
condor_history Indique lhistorique des commandes passes sous
condor
condor_hold Modifie un job pour le maintenir en fonctionnement
condor_prio Modifie la priorit attribue un job dans une queue
condor_release Permet de relcher les priorits dexcution sur un
job, ou sur un ensemble de job soit dune mme
machine, soit dun mme utilisateur.
condor_userprio
Modifie la priorit attribue a un utilisateur

5. 5. Moni tori ng Moni tori ng

5.1 Monitoring du pool de machines

Etat du pool

condor_status

Vous obtenez alors un descriptif qui doit ressembler a ce qui suit :

Name OpSys Arch State Activity LoadAv Mem ActvtyTi

dris-globus01 LINUX INTEL Unclaimed Idle 0.000 123 0+00:22:
dris-grille.o LINUX INTEL Unclaimed Idle 0.000 186 0+00:22:
vm1@dris-expe LINUX INTEL Unclaimed Idle 0.000 186 0+00:22:

vm2@dris-expe LINUX INTEL Unclaimed Idle 0.000 186 0+00:22:


madame.onera SOLARIS29 SUN4u Unclaimed Idle 0.010 512 0+00:19:
dris-gallon WINNT50 INTEL Unclaimed Idle 0.000 256 14+00:03:

Machines Owner Claimed Unclaimed Matched Preempting

INTEL/LINUX 4 0 0 4 0 0
INTEL/WINNT50 1 0 0 1 0 0
SUN4u/SOLARIS29 1 0 0 1 0 0

Total 6 0 0 6 0 0

Nb : vm1@dris-expe et vm2@dris-expe correspondent aux deux
processeurs de la machine dris-expe.

Etat complet du pool

condor_status -l

On obtient alors une rponse de la sorte :

MyType = "Machine"
TargetType = "Job"
Name = "dris-globus01.onera"
Machine = "dris-globus01.onera"
Rank = 0.000000
CpuBusy = ((LoadAvg - CondorLoadAvg) >= 0.500000)
COLLECTOR_HOST_STRING = "dris-grille.onera"
CondorVersion = "$CondorVersion: 6.6.3 Mar 29 2004 $"
CondorPlatform = "$CondorPlatform: I386-LINUX-RH9 $"
VirtualMachineID = 1
VirtualMemory = 249572
Disk = 525260
CondorLoadAvg = 0.000000
LoadAvg = 0.000000
KeyboardIdle = 345
ConsoleIdle = 267862
Memory = 123
Cpus = 1
StartdIpAddr = "<125.1.17.96:2535>"
Arch = "INTEL"
FileSystemDomain = "onera"


Etat des machines en cours de fonctionnement

condor_status -run


5.2 Monitoring des jobs soumis

Pour visualiser les jobs soumis depuis une machine

Tout Plateforme

condor_q

Vous obtenez alors un descriptif qui doit ressembler a ce qui suit :

-- Submitter: dris-globus01.onera : <125.1.17.96:2536> : dris-globus01.onera
ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD
31.0 condor 4/30 14:36 0+00:00:00 R 0 0.3 pi
32.0 condor 5/3 15:27 0+00:00:00 I 0 0.3 pi
33.0 condor 5/3 15:27 0+00:00:00 I 0 0.3 pi

3 jobs; 3 idle, 0 running, 0 held







6. 6. Soumi ssi on de Travaux Soumi ssi on de Travaux

6.1 Commande de soumission

Pour soumettre un job, il suffit dinvoquer la commande suivante suivie du
fichier batch dtaillant les paramtres du job que lon dsire soumettre.

condor_submit monfichier_batch

6.2 Fichier batch

Le fichier batch est un simple fichier texte renseignant les travaux qui seront
soumis a Condor.

Exemple de fichier batch

##########################
# Mon Premier Job Condor
###########################

Executable = /bin/date
Log = condordate.log
Queue

On peut placer un certain nombre de paramtres dans les fichiers batch tels
que :

Requirements = Memory >= 32 && OpSys == "IRIX65" && Arch == "SGI"

Qui permet de spcifier les spcs. vis vis des architectures ou lon dsire
que le job sexcute.

Error = err.$(process)
Input = in.$(process)
Output = out.$(process)
Log = essai.log

Pour les fichiers dinput/output et de log. La variable $(process) permettant
de distinguer les jobs les uns des autres.

Beaucoup dautres paramtres sont configurables.

Paramtre Description
executable nom de lexcutable
input fichier dentre correspondant au flux stdin
output fichier de sortie (flux stdout)
error fichier derreur (flux stderr)
arguments liste des arguments passs au programme
initialdir rpertoire de travail (par dfaut, le rpertoire
depuis lequel condor_submit est appel)

transfer_input_files liste de fichiers (spars par des virgules) tre
transfrs dans le rpertoire
de travail avant le lancement de la tche (par
dfaut input)
transfer_output_files liste de fichiers transfrs sur la machine de travail
une fois la tche accomplie
(par dfaut tout fichier ayant t cr ou modifi)
transfer_files 3 valeurs possible (ONEXIT, ALWAYS, NEVER)
spcifie quel moment Condor transfre les fichiers
de sortie (par dfaut NEVER)
requirements expression boolenne dfinissant les specs de la
machine et ou de larchitecture systme sur laquelle
doit sexecuter le job
universe 7 valeurs possibles (vanilla, standard, pvm,
scheduler, globus, mpi, java) spcifie lunivers
Condor
rank expression boolenne (a creuser !)
periodic_remove expression boolenne vrifie toutes les 20
secondes : si vraie, le job est supprim
de la file dattente
priority priorit comprise entre -20 et +20 (dfaut = 0)
notification

4 valeurs possibles (Always, Complete, Error,
Never) spcifie pour quels vnements Condor doit
notifier le propritaire du job via mail (Always pour
checkpoints et compltion, Complete Dfaut -
terminaison, Error en cas de terminaison anormale)
notify-user adresse mail du destinataire des notifications
getenv 2 valeurs possible (True, False) si vrai,
condor_submit copiera les variables
denvironnement courantes du shell de lutilisateur
lors de la soumission (dfaut = False)
environment liste de variables denvironnement de la forme
<paramtre=valeur> spares par des
points-virgules, qui seront incluses dans
lenvironnement de la tche lors de son excution
log fichier de log Condor
image_size taille virtuelle maximale utilise par le job, en kilo-
octets
machine_count nombre de machines pour un excutable dans
lunivers MPI
queue <nb> place nb copies de la tche dans la file dattente
Condor.

6.3 Exemple Simple (Unix/Linux)

Pour tester condor nous pourrions tester ces premires manips ! Tout dabord
crons un fichier batch.

cat > myjob.submit
executable=myprog
universe=vanilla
arguments=Example.$(Cluster).$(Process) 100
output=results.output.$(Process)
error=results.error.$(Process)
log=results.log
notification=never
should_transfer_files=YES
when_to_transfer_output = ON_EXIT
queue
Ctrl-D

Puis crons notre programme myprog que nous alors faire assez parlant
afin de bien comprendre ce qui se passe lorsque Condor soumet un job.

cat > myprog
#! /bin/sh
echo "Je suis le process did $$ sur" `hostname`
echo "Envoie vers la sortie error" 1>&2
date
echo "Binaire en fonctionnement : $0" "$@"
echo "Mon nom (argument 1) est $1"
echo "Mon temps de repos (argument 2) est $2"
sleep $2
echo "Dodo durant $2 s termin. Sortie"
exit 42
Ctrl-D
chmod a+x myprog

Dans un premier temps soumettons notre job :

% condor_submit myjob.submit

Puis observons ltat de celui ci :

% condor_q

-- Submitter: dris-grille.onera : <125.1.17.41:33003> : dris-grille.onera
ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD
65.0 condor 5/3 16:24 0+00:00:58 R 0 0.0 myprog Example.65.

1 jobs; 0 idle, 1 running, 0 held

Une fois termine, regardons alors les sorties :

- le fichier de sortie standard

% more results.output.65

Process id 4822 sur dris-grille
Mon May 3 16:24:06 CEST 2004
lanc comme /tmp/condor/var/execute/dir_4820/condor_exec.exe Example.65.0 100
Mon nom est Example.65.0
dors pendnat 100


- le fichier de sortie erreur

% more results.error.65

Envoie vers la sortie error

- le fichier de log

% more result.log

...
000 (065.000.000) 05/03 16:24:02 Job submitted from host: <125.1.17.41:33003>
...
001 (065.000.000) 05/03 16:24:06 Job executing on host: <125.1.17.41:33002>
...
006 (065.000.000) 05/03 16:24:14 Image size of job updated: 4028
...
005 (065.000.000) 05/03 16:25:46 Job terminated.
(1) Normal termination (return value 42)
Usr 0 00:00:00, Sys 0 00:00:00 - Run Remote Usage
Usr 0 00:00:00, Sys 0 00:00:00 - Run Local Usage
Usr 0 00:00:00, Sys 0 00:00:00 - Total Remote Usage
Usr 0 00:00:00, Sys 0 00:00:00 - Total Local Usage
201 - Run Bytes Sent By Job
170 - Run Bytes Received By Job
201 - Total Bytes Sent By Job
170 - Total Bytes Received By Job


6.4 Soumission pour un job MPI

Soit le programme MPI : simple.c

#include <stdio.h>
#include "mpi.h"

int main(argc,argv)
int argc;
char *argv[];
{
int myid;
char line[128];

MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&myid);

fprintf ( stdout, "Printing to stdout...%d\n", myid );
fprintf ( stderr, "Printing to stderr...%d\n", myid );
fgets ( line, 128, stdin );
fprintf ( stdout, "From stdin: %s", line );

MPI_Finalize();
return 0;
}

Son Makefile

/* Indiquer la destination exact de mpicc */
CC = /usr/local/bin/mpicc
CLINKER = $(CC)

CFLAGS = -g
EXECS = simplempi

all: $(EXECS)

simplempi: simplempi.o
$(CLINKER) -o simplempi simplempi.o -lm

.c.o:
$(CC) $(CFLAGS) -c $*.c


Construction de lexcutable

make simplempi

Et son fichier de soumission dans Condor

universe = MPI
executable = simplempi
log = logfile
input = infile.$(NODE)
output = outfile.$(NODE)
error = errfile.$(NODE)
machine_count = 4
queue

7. 7. Debuggi ng Debuggi ng

7.1 Lanalyse standard

Si un job ne semble pas vouloir sexcuter il est possible dessayer de voir
ce qui ne vas pas en invoquant la commande condor_q.

condor_q analyze id_du_job

La rponse sera alors du type

---
033.000: Run analysis summary. Of 3 machines,
1 are rejected by your job's requirements
0 reject your job because of their own requirements
1 match, but are serving users with a better priority in the pool
1 match, but prefer another specific job despite its worse user-priority
0 match, but will not currently preempt their existing job
0 are available to run your job

Mais bon comme vous le constatez, lanalyse porte sourire et ne nous
renseigne gure. Il est prfrable dutiliser le plug-in condor_analyze.

7.2 Le plug-in condor_analyze

Il existe un plug-in du nom de condor_analyze qui permet un
examen plus complet de la commande condor_q analyze. Ce plug-in est
tlchargeable ladresse suivante. Pour installer le plug-in il suffit de
dzipper larchive rcupre. Puis la mettre dans /condor/bin avec les
autres binaires de Condor.

condor_analyze id_du_job

La rponse sera alors du type

-- Submitter: dris-globus01.onera : <125.1.17.96:2536> : dris-globus01.onera
ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD
---
033.000: Run analysis summary. Of 3 machines,
1 are rejected by your job's requirements
0 reject your job because of their own requirements
0 match, but are serving users with a better priority in the pool
2 match, but prefer another specific job despite its worse user-priority
0 match, but will not currently preempt their existing job
0 are available to run your job

The Requirements expression for your job is:

( target.Arch == "INTEL" ) && ( target.OpSys == "LINUX" ) &&
( target.Disk >= DiskUsage ) && ( ( target.Memory * 1024 ) >= ImageSize ) &&
( target.HasMPI ) && ( TARGET.FileSystemDomain == MY.FileSystemDomain )

Condition Machines Matched Suggestion
--------- ---------------- ----------
1 ( target.Arch == "INTEL" ) 2
2 ( target.OpSys == "LINUX" ) 2
3 ( target.Disk >= 334 ) 3
4 ( ( 1024 * target.Memory ) >= 334 )3
5 ( target.HasMPI ) 3
6 ( TARGET.FileSystemDomain == "onera" )3



7.3 Shadow exception

Parmi les problmes les plus classiques, on trouve les shadow
exception lies aux transferts de fichiers ou au accs la machine qui a
lanc le calcul de la part de la machine qui excute le calcul.

Le fichier de log, ShadowLog, permet d'avoir des informations mais
ce n'est pas toujours suffisant. Dans ce cas il peut tre utile d'ajouter la
commande suivant dans son fichier de configuration locale :
SHADOW_DEBUG = $(SHADOW_DEBUG) D_FULLDEBUG.

Il est noter quune option trs intressante permet dobserver
ltat des Starter log des machines ce qui permettra alors dentrevoir
certainement au problme qui se pose.

/tmp/condor/sbin/condor_fetchlog nomdemachine.nodedomain STARTER

NB : Comme vous le constaterez trs souvent le message derreru
sera du type

Problme 1

couldnt create dir /tmp/condor/var/execute/dir_5532:
Permission denied.

La solution alors de donner les droits au rpertoire :

Solution pour le Problme 1

chmod a+w /tmp/condor/var/execute/
condor_reschedule

7.3 Erreur au lancement de l'excutable par Condor

En regardant dans le log NegociatorLog du matre, on trouve la
machine qui a reu le job. Sur cette machine on a le log StartLog qui
indique sur quel processeur a t excut le job et dans le fichier de log
correspondant, StarterLog.vm1 on peut avoir :

2/10 22:53:54 About to exec /var/condor/execute/dir_23359/condor_exec.exe
2/10 22:53:54 Create_Process: child failed with errno 2 (No such file or
directory) before exec()
2/10 22:53:54 ERROR
"Create_Process(/var/condor/execute/dir_23359/condor_exec.exe,condor_exec.exe,
...) failed" at line 497 in file os_proc.C

Cela arrive lorsque l'excutable n'est pas prsent sur la machine
d'arrive, parce qu'il n'a pas t copi (transfer_executable = False dans le
fichier de soumission par exemple) et/ou que le chemin est mauvais (voire
qu'on a oubli de mettre le chemin absolu i.e. toto au lieu de
/usr/bin/toto).

8. 8. Les Uni vers de Condor Les Uni vers de Condor

Vanilla
L'univers Vanilla permet d'excuter un programme sous l'environnement
Condor sans l'avoir compil pour Condor. C'est le plus pratique, surtout
lorsqu'on ne dispose pas des sources...
Les inconvnients de l'univers Vanilla sont :
" pas de points d'arrt (checkpoints)
" le job ne pas pas faire de remote system calls
" pas de migration possible d'une machine une autre durant
l'excution,
" demande d'avoir un systme de fichier partags (e.g. NFS).

Standard

Pour palier l'inconvnient prcdemment cit, il suffit de travailler
sous l'univers standard, qui est aussi l'univers par dfaut lorsque l'on n'en
dfinit pas dans le fichier de soumission. En effet cet univers "sauvegarde"
intervalles rguliers l'avance d'un calcul en plaant des checkpoints.
Outre la scurit que cela apporte, ceci a l'avantage, en cas de
changement de machine durant le calcul de reprendre le job l o il s'est
arrt. Cependant, pour utiliser l'univers standard, il est ncessaire de
possder le fichier source du programme et de le compiler l'aide de la
commande condor_compile, avant de soumettre le fichier de soumission.

MPI

CF soumission de job MPI

Globus

Cf Condor-G















9. 9. Prsentati on de Condor Prsentati on de Condor- -G G


Condor-G 6.5.1 est un programme qui gre tant les files d'attente
d'emplois que les ressources d'un ou plusieurs sites. Il communique avec
ces ressources et procde ses transferts de fichiers en utilisant les
mcanismes de Globus. Plus prcisment Condor-G utilise le protocole
GRAM pour la soumission de travaux et utilise un serveur GAAS pour le
transfert de fichiers.

Si Condor-G peut ressembler un simple remplacement de la
commande globusrun du Toolkit Globus. Cependant, Condor-G permet
bien plus, notamment en matire de soumission multiple mais aussi de
part un monitoring des tches. En plus de cela, Condor-G est un systme
robuste aux pannes, vous pouvez donc toujours excuter toutes les
fonctions en cours quand votre machine retrouve vie.

Condor-G est issu du systme Condor et tout add-on dvelopp autour de
Condor fonctionnera galement avec Condor-G. Pour exemple, Condor
DAGMan peut grer l'interdpendance de travaux et fournir la tolrance
aux pannes un niveau plus haut, et ce module est galement utilisable.

Interfaage Condor et Globus

Afin dexcuter une application sur un ensemble de machines o
Globus est disponible, il faut disposer d'un excutable par type de
systme/architecture. Le choix des machines est pour l'instant la charge
de l'utilisateur : il n'existe pas encore dans Globus de mcanisme de choix
des ressources (ordonnancement). La machine effectuant la soumission
n'est pas ncessairement utilise pour l'excution des travaux : on parle
alors de machine cliente Globus. Par contre, elle peut disposer de tous les
excutables et Globus sait les tlcharger en dbut d'excution sur les
machines destination, vitant cette tche fastidieuse l'utilisateur. Globus
s'interface parfaitement avec Condor, ce qui permet d'intgrer les travaux
grille dans le flux habituel des applications excutes dans un centre de
calcul.

Utilisation de Condor G sur la Grille :

Condor G
Scheduler
Condor G
Grid Manager
( GASS )
Globus
Gatekeeper
Globus
Job Manager
Job Scheduler
( LSF, Condor )

Vous aimerez peut-être aussi