Simulations

Sur cette page, vous trouverez la procédure générale vous permettant de démarrer des simulations numériques ainsi que certaines consignes à respecter.

Les instructions qui suivent font appel à des commandes UNIX : consultez la section Commandes de bases de la page Commandes élémentaires pour les commandes nécessaires.

Si vous travaillez à partir d'une machine qui ne fait pas partie des machines du Département (ordinateur portable, ordinateur de la maison, etc.), lisez d'abord la section Travail à distance.


Démarrer une simulation

Choix des machines

Avant de démarrer vos simulations, vous devez d'abord choisir des machines du Département sur lesquelles les exécuter. Pour ce faire, la façon la plus simple est d'utiliser la commande simulation, qu'il suffit d'entrer dans un terminal (icône TerminalIcone.png) :

simulation

Cette commande renvoie l'utilisation des machines disponibles : plus le rapport associé à une machine est grand, plus celle-ci est occupée. (Consultez la page dédiée à simulation pour plus d'informations.) Évidemment, les machines les moins utilisées devraient être priorisées pour vos simulations.

Exécution en arrière-plan

Une fois que vous avez établi une liste de machines à utiliser, vous devrez vous brancher sur ces machines à tour de rôle afin de démarrer vos simulations. La commande permettant de se connecter à une machine est ssh. Par exemple, pour vous connecter à loup, entrez

ssh loup

Une fois branché à une machine de votre liste, vous pouvez démarrer une simulation sur celle-ci en arrière-plan (batch) : de cette façon, votre programme continuera de fonctionner même lorsque vous serez débranché de la machine ou lorsque vous aurez quitté votre session de travail (Log out). Pour lancer votre simulation <script> en arrière-plan, entrez

<programme> [options] <script> &

<programme> est le programme exécutant votre script (R, MATLAB, etc.) et [options] sont les paramètres à passer au programme. À la toute fin, l'esperluette (« & ») indique à Linux d'exécuter le tout en arrière-plan. Lorsque la commande est entrée, un numéro d'identification correspondant à votre simulation est retourné : il s'agit du PID. Si vous souhaitez stopper votre simulation, c'est ce numéro que vous devez passer à la commande kill.

Par exemple, pour démarrer le script R nommé prog.R, il suffit de taper

R CMD BATCH prog.R &

Le système vous retourne ensuite un PID :

[1] 10369

Pour arrêter cette simulation, vous n'avez qu'à entrer

kill 10369

Une fois que votre simulation est lancée, vous pouvez :

  • Continuer d'utiliser la même machine pour démarrer une nouvelle simulation (ou pour d'autres activités);
  • Vous débrancher de la machine (commande exit).

Si vos simulations sont toutes démarrées, vous pouvez même quitter votre session de travail (Log out) sans risquer d'interrompre vos simulations.

Remarques importantes

  • Après vous être déconnecté d'une machine où vous venez de démarrer une simulation, les messages que cette dernière pourrait afficher à l'écran sont perdus : vous devez donc prendre soin d'enregistrer les résultats de votre simulation dans un fichier, sur votre compte. De plus, si vous lancez plusieurs simulations à la fois, assurez-vous que chacune utilise un ensemble distinct de fichiers : ceci évitera de potentiels problèmes d'accès et de perte de données. Par exemple, la simulation script1 pourrait utiliser res_1.csv et dat_1.csv pour enregistrer ses résultats, alors que simul2 pourrait utiliser res_2.csv et dat_2.csv.
  • Si vos calculs font appel à des nombres aléatoires, assurez-vous que chacune de vos simulations utilise des graines (seeds) différentes pour le générateur de nombre aléatoires, sinon vous obtiendrez des résultats identiques pour toutes vos simulations.

Consignes à respecter

Par courtoisie pour les autres usagers, un maximum de 3 simulations (processus) par machine par usager est autorisé. De plus, l'utilisation moyenne d'une machine ne devrait jamais dépasser sa « capacité moins 1 ». Autrement dit, la machine devrait pouvoir exécuter au moins 1 nouveau processus indépendant.

Par exemple, supposons que vous ayez choisi, pour lancer vos simulations, les machines uranus, jupiter et cougar. Supposons également que leur utilisation moyenne, telle que renvoyée par la commande simulation, soit donnée par

Machine        Utilisation
--------------------------
uranus         5.05 / 8.00
jupiter        2.04 / 8.00
cougar         0.51 / 2.00

Dans le respect des consignes, vous pouvez démarrer un maximum de 2 simulations sur uranus, 3 sur jupiter et 1 seule sur cougar.

Calculs en parallèle

Lorsque vos calculs s'y prêtent (opérations sur matrices et vecteurs, boucle avec itérations indépendantes, etc.), l'exécution de votre script en parallèle peut être très avantageuse.

Plusieurs des logiciels les plus utilisés au Département pour les simulations comportent des extensions qui permettent la parallélisation, notamment R et MATLAB. Consultez les pages dédiées à ces logiciels pour plus de détails.

Arrêter une simulation

Pour arrêter une simulation, vous devez utiliser la commande kill suivie du numéro de processus (PID) de votre simulation :

kill 452

Si vous ne connaissez pas le PID de votre simulation, entrez la commande top dans un terminal :

                                                                                                         
top - 10:00:02 up 14 days, 11:22,  4 users,  load average: 0.37, 0.24, 0.18
Tasks: 239 total,   2 running, 237 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us,  0.2%sy,  0.0%ni, 99.3%id,  0.2%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2036352k total,  1959528k used,    76824k free,    51480k buffers
Swap:  3071992k total,    21940k used,  3050052k free,  1202944k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
10558 fedora    20   0  172m  29m 2960 R 24.2  1.5   0:00.29 R
10567 fedora    20   0 19380 1340  928 R  3.5  0.1   0:00.07 top
 1880 root      20   0  272m 1008  804 S  1.7  0.0   0:07.39 ypbind
    1 root      20   0 23556  848  636 S  0.0  0.0   0:14.94 init
    2 root      20   0     0    0    0 S  0.0  0.0   0:01.63 kthreadd
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.14 migration/0

Appuyez sur « q » pour quitter. Pour arrêter la simulation R de PID 10558 qui s'exécute, il suffit d'entrer

kill 10558

N.B. : Seul l'usager ayant démarré le processus peut le terminer. Dans l'exemple précédent, seul fedora peut tuer 10558.

Travail à distance

Si vous souhaitez démarrer vos simulations depuis votre ordinateur personnel, vous devrez d'abord télécharger PuTTY et FileZilla, dans le cas où votre machine utilise Windows. Le logiciel PuTTY sert à vous connecter au réseau du DMS et à émuler le terminal de commandes Linux. Le logiciel FileZilla vous permet de transférer vos fichiers depuis votre ordinateur personnel vers votre compte au DMS, et vice-versa.

En combinant ces deux programmes, vous pouvez ainsi travailler à distance sur votre script de simulation, télécharger celui-ci sur votre compte au DMS, le démarrer sur une (ou plusieurs) machine(s) du Département et ensuite télécharger les résultats de la simulation sur votre machine.

Consultez les pages PuTTY et FileZilla du wiki pour les instructions de téléchargement, de configuration et d'utilisation.

Une fois branché au réseau du DMS, vous êtes prêt à démarrer une simulation.

Voir aussi

Articles connexes


La dernière modification de cette page a été faite le 3 décembre 2020 à 20:57.