Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMatthieu Gauvin Modifié depuis plus de 8 années
1
Visual Information Solutions FastDL
2
Visual Information Solutions IDL pour le traitement parallèle ? -Beaucoup d’expériences/simulations génèrent de « gros » jeux de données qui doivent être traités rapidement (dynamique des particules/fluides, biophysique, imagerie médicale, …). -Pour ces cas particuliers, le traitement parallèle et l’utilisation de clusters s’avèrent bien souvent nécessaires. -Cependant, IDL « ne sait pas » tirer naturellement profit de ce type d’architecture parallèle …
3
Visual Information Solutions -Pour rendre possible l’utilisation d’IDL sur des architectures de type “cluster”, la société TechX a développé FastDL. -FastDL permet d’exécuter des applications de visualisation et d’analyse en parallèle sur des clusters, réduisant de façon significative les temps de calculs. Utilisation parallèle d’IDL avec FastDL
4
Visual Information Solutions -FastDL se compose de 2 parties : -TaskDL : une solution de type “task farming” conçue pour des applications dans lesquelles la communication entre les noeuds du cluster n’est pas requise. -mpiDL : une solution de type “Message Passing Interface” conçue pour des applications nécessitant une communication entre les noeuds du cluster. Description de FastDL
5
Visual Information Solutions Architecture de TaskDL -“Task” : brique de base de TaskDL correspondant à une commande IDL (routine système ou utilisateur). -“tdl” : TaskDL Server. -“Worker” : correspond à une session IDL connectée au serveur tdl. Un worker attend que le serveur tdl lui fournisse une tâche, l’exécute, et attend la prochaine. -“Private queue” : file d’attente de tâche s sur le serveur tdl spécifique a chaque worker. -“Default queue” : file d’attente générale sur le serveur tdl pour tous les workers. Lorsque la file d’attente spécifique à un worker est vide, le serveur tdl fournit à ce worker une tâche de la file d’attente générale.
6
Visual Information Solutions Communication avec TaskDL -Il n’est pas nécessaire d’installer TaskDL sur tous les nœuds du cluster. -Cependant, chaque nœud doit être équipé d’une licence IDL développement ou runtime. -Les différents workers sont exécutés à partir d’un nœud principal en utilisant SSH (Secure Shell) ou RSH (Remote Shell).
7
Visual Information Solutions Workflow TaskDL 1. Lancement d’IDL sur le nœud principal (master node). 2. Le nœud principal instancie un objet TaskDL et ouvre une session. 3. Le nœud principal « recrute » un ou plusieurs workers. 4. Les tâche s sont ajoutées dans la liste d’attente générale, ou celle spécifique à un worker. 5. Le serveur tdl distribue les tâches aux workers. Des qu’ils ont fini leurs tâche s, ils en reçoivent de nouvelles. 6. Une fois toutes les tâches achevées, la session TaskDL est fermée.
8
Visual Information Solutions Utilisation basique de TaskDL - Création d’un objet TaskDL IDL> oFarm = OBJ_NEW(’taskdl’) - Ouverture d’une session oFarm->open_session -Recrutement d’un worker myTaskDL->spawn worker [, HOST=host] - Ajout d’une tâche oFarm->add_task, ’print, "Hello Taskfarm"’ -Terminer une session oFarm->close_session -Fermer TaskDL oFarm->close_session
9
Visual Information Solutions Utilisation avancée de TaskDL -File d’attente privée oFarm->spawn_worker, QUEUEID=queueid oFarm->add_task, ’print, "hello from a specific worker"’, QUEUEID=queueid -Task stages Les « task stages » permettent à l’utilisateur de créer des dépendances entre les tâches, et d’indiquer quelles tâches peuvent ou ne peuvent pas être exécutées en parallèle. - Exemple for i = 0, nframes-1 do $ oFarm->add_task, ’render_image,’+string(i), STAGE = 1 oFarm->add_task, ’encode_movie’, stage=2 oFarm->advance_stage, 2 oFarm->set_stage, 1
10
Visual Information Solutions Utilisation de mpiDL -Lancement : Mpirun -np n [other mpirun flags] $MPIDL_DIR/bin/mpidlstart [-quiet –verbose – i] myfile.sav n : nombre de processus à exécuter en parallèle. myfile.sav : fichier IDL runtime à exécuter sur le cluster. Autres flags : -quiet : suppression des messages -verbose : définition du niveau de verbosité
11
Visual Information Solutions Fichiers runtime IDL -Comprendre le fonctionnement des fichiers IDL runtime permet de comprendre le fonctionnement des nœuds du cluster. -Au démarrage, le fichier runtime IDL spécifié est chargé dans chaque processus. -IDL cherche dans le fichier.sav une procédure nommée « MAIN » et l’exécute si elle existe. -Si « MAIN » n’est pas trouvée, IDL cherche une procédure dans le fichier.sav possédant le même nom que le fichier (« myfile » dans l’exemple ci-dessus) et tente de l’exécuter. -Si aucune de ces 2 procédures n’existe, une erreur se produit. -Des fichiers.sav doivent être utilisés car les fichiers.pro ne peuvent pas être compilés en mode runtime.
12
Visual Information Solutions FastDL Exemples
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.