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.