Différences entre les versions de « Simulations »
Ligne 1 : | Ligne 1 : | ||
<!-- Simulations, simulations, Simulations Numériques, simulations numériques, Simulation, simulation, Numérique, numérique, Numerical Simulation, numerical simulation, Numerical Simulations, numerical simulations, Machines Disponibles, machines disponibles, Available Machines, available machines, Procédure, procédure, règles à respecter, Règles, Consignes, consignes, Calculs, calculs, Parallèle, parallèle, Parallèles, parallèles, Parallel, parallel, Computation, computation, Computations, computations, Procedure, procedure --> | <!-- Simulations, simulations, Simulations Numériques, simulations numériques, Simulation, simulation, Numérique, numérique, Numerical Simulation, numerical simulation, Numerical Simulations, numerical simulations, Machines Disponibles, machines disponibles, Available Machines, available machines, Procédure, procédure, règles à respecter, Règles, Consignes, consignes, Calculs, calculs, Parallèle, parallèle, Parallèles, parallèles, Parallel, parallel, Computation, computation, Computations, computations, Procedure, procedure --> | ||
− | Sur cette page, vous trouverez la procédure générale vous permettant de [[Simulations#Démarrer_une_simulation|démarrer des simulations numériques]] ainsi les [[Simulations#Consignes_à_respecter|consignes à respecter]]. | + | Sur cette page, vous trouverez la procédure générale vous permettant de [[Simulations#Démarrer_une_simulation|démarrer des simulations numériques]] ainsi que les [[Simulations#Consignes_à_respecter|consignes à respecter]]. |
Les instructions qui suivent font appel à des [[Commandes_élémentaires|commandes UNIX]] : consultez la section [[Commandes_élémentaires#Commandes_de_base|Commandes de bases]] de la page [[Commandes_élémentaires|Commandes élémentaires]] pour les commandes nécessaires. | Les instructions qui suivent font appel à des [[Commandes_élémentaires|commandes UNIX]] : consultez la section [[Commandes_élémentaires#Commandes_de_base|Commandes de bases]] de la page [[Commandes_élémentaires|Commandes élémentaires]] pour les commandes nécessaires. |
Version du 9 juillet 2013 à 11:47
Sur cette page, vous trouverez la procédure générale vous permettant de démarrer des simulations numériques ainsi que les 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 ) :
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> &
où <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
Windows
Si votre ordinateur personnel utilise Windows, vous devrez d'abord télécharger PuTTY et FileZilla. 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 des fichiers de 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 pour les instructions de téléchargement, de configuration et d'utilisation.
Une fois branché au réseau, vous êtes prêt à démarrer une simulation.
Mac OS ou Linux
Si votre ordinateur personnel fonctionne sous Mac OS ou Linux, vous pouvez vous brancher au réseau grâce à la commande ssh :
ssh -X usager@ssh.dms.umontreal.ca
où usager est votre identifiant au DMS. Pour télécharger vos fichiers, vous pouvez employer une version Mac ou Linux de FileZilla ou encore utiliser la commande scp.
Une fois branché au réseau, vous êtes prêt à démarrer une simulation.