Retour à la liste des commandes
La commande SIMULATION
Lecture obligatoire: - ssh
- ps et kill
Grosso modo, la commande simulation est un script maison qui vous retourne un ordinateur de
libre pour lancer vos simulations.
Nous allons voir dans ce document la manière de lancer une simulation en Splus, en Matlab,
en Mathematica et en R qui nécessite un temps de calcul de plusieurs heures voire même de
plusieurs jours.
Tout d'abord, une simulation doit toujours être lancée en arrière-plan. Le lancement d'une
simulation en arrière-plan permet de garder un ordinateur disponible à un autre usager tout
en effectuant la simulation demandée. Le nombre d'ordinateurs n'étant pas illimité au DMS,
il ne faut pas bloquer un ordinateur s'il peut être disponible à un autre usager. Dans la
plupart des cas, le temps de calcul et les résultats d'une simulation ne sont pas influencés
par le fait qu'ils sont envoyés en arrière-plan; donc il ne faudrait pas avoir d'inquiétude à
ce sujet. Pour lancer une simulation en arrière-plan, il suffit d'utiliser le caractère & à la
fin de la commande à écrire. Par exemple, si j'ai un programme "toto" que je veux le lancer en
arrière-plan, je n'ai qu'à écrire:
./toto &
Pour utiliser les stations des laboratoires à leur pleine capacité, la commande "simulation" a été
créée pour le DMS uniquement (ce n'est donc pas une commande Linux standard que l'on peut retrouver
sur un autre réseau). Cette commande vous indique sur quelle station envoyer une simulation.
Il vous suffit de taper "simulation" dans un terminal pour l'utiliser. Cette commande vous retourne
le nom de la station la plus performante (et libre) pour une simulation.
Étant donné que le script "simulation" tient compte des caractéristiques des ordinateurs,
le travail des usagers ne sera donc pas ralenti.
ATTENTION...
- Cette commande NE RESERVE PAS DE STATION pour votre simulation : elle vous renvoie le nom de la
meilleure machine disponible AU MOMENT OU VOUS L'ÉXÉCUTEZ ! Par conséquent, pour éviter des
intercations avec d'autres usagers, utilisez-la JUSTE AVANT de lancer votre programme !
- Nous vous rappelons enfin que les ressources informatiques du laboratoire doivent rester disponibles
et performantes pour tous. Par respect pour les autres usagers, nous vous demandons donc de ne pas
"monopoliser" les stations en lancant un grand nombre de simulations simultanées. Si vous avez des
besoins plus gourmands, n'hésitez pas à nous consulter !
Exemple : Lorsque vous tapez dans un teminal : simulation
Ceci peut vous retourner:
"La station disponible est : paris"
Il faut ensuite se connecter à la station disponible par SSH, en tapant dans un terminal :
ssh "station disponible" (sans les guillemets).
De l'exemple précédent, il s'agit de :
ssh paris
Une fois connecté sur la station disponible par SSH, il suffit :
Pour Splus
----------
Dans un terminal tapez :
Splus BATCH fichier_d'entrée fichier_de_sortie &
Pour Matlab
-----------
Dans un terminal, tapez :
matlab -nojvm -nosplash < fichier_d'entrée.m > fichier_de_sortie &
(merci à Éric Brunelle )
Pour Mathematica
----------------
Dans un terminal, tapez :
nohup nice math -noprompt -run "<<fichier_dentrée.m" > fichier_de_sortie &
Note: les guillemets sont nécessaires pour le fichier d'entrée et pour plus de détails,
consultez le site :
http://darkwing.uoregon.edu/~noeckel/Mathematica.html
Pour R
------
Dans un terminal, tapez :
R CMD BATCH options fichier_d'entrée.m fichier_de_sortie &
Vous pouvez maintenant vous déconnecter de l'ordinateur où la simulation est lancée. Tous les
résultats seront sauvegardés automatiquement dans fichier_de_sortie.
Il arrive à vouloir annuler une simulation pour diverses raisons. Par exemple :
- la simulation boucle à l'infini;
- une erreur dans le code de la simulation;
- etc ...
Voici les étapes:
En premier lieu, il faut se connecter par SSH sur l'ordinateur qui s'occupe de votre simulation.
ssh "nom de l'ordinateur" (sans les guillemets)
En second lieu, nous devons connaître le PID (Processus ID ) de la simulation:
ps -ef | grep login (où login est votre nom d'usager)
En utilisant la dernière colonne du tableau retourné, localisez la ligne qui correspond à votre simulation.
Typiquement, pour Splus, le nom de la simulation débute par " Spqe " alors que pour Matlab, Mathematica,
Maple, R, le nom de la simulation porte le nom du programme lui-même.
ASSUREZ-VOUS QU'IL S'AGIT BIEN DE VOTRE SIMULATION!!! Si vous n'êtes pas sûr, consultez votre co-administrateur.
Prenez en note le PID de la simulation qui est donné par la deuxième colonne.
Finalement, dans un terminal, tapez : kill -9 PID
Pour des question supplémentaires, n'hésitez pas à consulter les co-administrateurs ou administrateurs.