Visual Information Solutions Multithreading. Visual Information Solutions Qu’est-ce que le multithreading ? Un thread est une partie des instructions.

Slides:



Advertisements
Présentations similaires
Produit Gammes Nomenclatures Modules Techniques Prix de Revient Prix de Vente Modules Techniques Client Marges Mise en route Temps Unitaire Prix (Ex:
Advertisements

GEF 435 Principes des systèmes d’exploitation
Types des systèmes d’exploitation
Threads et Capsules Optionnels
GEF 435 Principes des systèmes dexploitation Structure des systèmes dexploitation (Tanenbaum 1.7)
PLAN du COURS Introduction Structure des Systèmes Informatiques
Objectif de l’exposé.
Exercices Algorithmiques
2.Les différentes architectures (Louis)
Informatique parallèle hautes performances
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Structures de données et algorithmes – TP2
Les méthodes en java Une méthode est un regroupement d’instructions ayant pour but de faire un traitement bien précis. Une méthode pour être utilisée.
Optimisation et parallélisation de code pour processeur à instructions SIMD multimedia François Ferrand.
5.1 URDL22005 Systèmes dexploitation Threads Vue dEnsemble Modèles de Multithreading Problèmes des Threads Pthreads Threads Windows XP Threads Linux Threads.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Procédures stockées CPI-SQLServer.
Gei 431 Architecture des ordinateurs II – Frédéric Mailhot Et maintenant, où allons-nous? Après toutes les techniques vues jusquici: Que peut-on faire.
Points importants de la semaine Les tableaux. Rappel : les tableaux Quest-ce quun tableau ? Réponse : Un tableau est une série déléments de même type.
Points importants de la semaine Les constantes de compilation. Les fonctions.
Programmation concurrente
1 Module 3 - Fils (Threads) Lecture: Chapitre 4 Objectif: Comprendre le concept de fils et sa relation avec le processus Comprendre le concept de fils.
Module 3 : Analyse des performances du serveur
Parallel Programming in C with MPI and OpenMP
Chapitre 9 Les sous-programmes.
Introduction à Linda Béat Hirsbrunner References Nicholas Carriero, David Gelernter : "Linda in context", Communications of ACM, vol. 32 (n° 4, April 1989)
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Les transactions.
Procédures et fonctions
Plan cours La notion de pointeur et d’adresse mémoire.
Fichiers de données Fichiers de contrôles Fichiers de journalisations Fichiers de paramètres d’initialisation.
Gérer la sécurité des mots de passe et les ressources
Similarité Belkhir Abdelkader Laboratoire LSI USTHB
Module 8 : Surveillance des performances de SQL Server
Présentation rapide d’
Créer des packages.
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs.
(Ou groupes d ’utilisateurs)
PARALLÉLISATION AUTOMATIQUE D’ALGORITHMES
Programmation Système et Réseau
Module 13 : Implémentation de déclencheurs. Vue d'ensemble Présentation des déclencheurs Définition de déclencheurs Exemples de déclencheurs Performances.
(ref : Bray section pages 259 à 266)
1 Programmation en C++ Marianne Morris. 2 Intro générale à la programmation On a déjà étudié le langage assembleur Langage de bas niveau Meilleur que.
RETRO v2 « Analyse Fonctionnelle » Octobre 2007 JYR.
WALT: GIVE OPINIONS ABOUT MY TOWN
Citrix ® Presentation Server 4.0 : Administration Module 5 : Gestion des paramètres de serveur et de batterie de serveurs.
3 Copyright © Oracle Corporation, Tous droits réservés. Créer des fonctions.
La récursivité Mireille Goud HEG Vd AlgSD - Résurisivité.
Les vues Une vue: c’est une relation virtuelle. Définie par:
22 Passez à la vitesse supérieure avec Visual Studio 2010 et le framework 4.0 en utilisant la Task Parallel Library 08/02/2010 Vincent Lainé MVP C# Refresh.
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
Les bases de données Séance 8 Jointures.
Module 3 : Gestion des fichiers de base de données
Gestion des documents internes avec SQL Server 2005 Date de publication : janvier 2006.
Dialogue Homme/Machine Terminal Magelis XBT
Les cartes graphiques Leur partie software.
Vous présente en quelques réalisations un réel savoir-faire, le fruit de longues années d’expériences, aujourd’hui à votre service. Toutes les fonctionnalités.
EXTRACTION D’ÉLÉMENTS CURVILIGNES GUIDÉE PAR DES MÉCANISMES ATTENTIONNELS POUR DES IMAGES DE TÉLÉDÉTECTION : APPROCHE PAR FUSION DE DONNÉES EXTRACTION.
Plan… -Introduction et motivations : -Qu'est-ce que le traitement de fichiers ? -Terminologie et définitions fondamentales des structures de fichiers :
Tous droits réservés © Promaintech Novaxa Analyse des tailles de lots Formation Green Belt Lean Six Sigma.
Formation Green Belt Lean Six Sigma Analyse des tailles de lots
Visual Information Solutions IDL 7.0 Pour une utilisation optimale d’IDL.
1 Tableur Excel. 2 Introduction Un tableur est un logiciel permettant de manipuler des données numériques et d'effectuer automatiquement des calculs sur.
Système local d’accounting de l’IPHC 31/05/2011 Eric Kieffer.
Visual Information Solutions FastDL. Visual Information Solutions IDL pour le traitement parallèle ? -Beaucoup d’expériences/simulations génèrent de «
Calcul réfléchi 4 Diviser par 5. :10 53 X 2 5,310,6 Pour diviser un nombre par 5, on le divise par 10 puis on multiplie par 2.
Visual Information Solutions IDL Connectivity Bridges.
Transcription de la présentation:

Visual Information Solutions Multithreading

Visual Information Solutions Qu’est-ce que le multithreading ? Un thread est une partie des instructions du processus en cours d'exécution Un processus peut contenir un ou plusieurs threads (applications dites multi-threadées) s'exécutant en quasi-simultanéité sur des systèmes mono-processeur ou simultanément sur les processeurs multi-coeurs. Mono-processeurMulti-processeur

Visual Information Solutions Le thread pool d’IDL -Le thread pool d’IDL est un mécanisme permettant l’utilisation automatique de routines « multi-threadées » en fonction d’un certains nombre de paramètres : *Le nombre d’éléments concernés par les calculs. *La disponibilité de plusieurs processeurs. *La disponibilité de versions “multithreadées” des routines utilisées. - Voir dans l’aide en ligne « Routines that use the thread pool »

Visual Information Solutions Avantages/inconvenients du thread pool Avantages Accélération des temps de calculs. Inconvénients Calculs sur un “petit” nombre d’éléments L’utilisation d’un seul thread peut s’avérer plus rapide. Calculs sur un “grand” nombre d’éléments Si le calcul est trop important pour tenir en mémoire physique, l’utilisation concurrentielle de la mémoire virtuelle par les différents threads peut s’avérer problématique. Utilisateurs multiples Sur des systèmes multi-utlisateurs, une application IDL utilisant le thread pool risque d’utiliser tous les CPUs disponibles, et donc de gêner d’autres utilisateurs.

Visual Information Solutions Les routines IDL utilisant le thread pool (1)

Visual Information Solutions Les routines IDL utilisant le thread pool (2)

Visual Information Solutions Les routines IDL utilisant le thread pool (3)

Visual Information Solutions Contrôle du thread pool Visualisation de l’état courant (lecture seule) IDL> HELP, /STRUCTURE, !CPU Utilisation des paramètres par défaut du thread pool Lorsque plus d’un processeur est disponible, que le code utilise des routines “multithreadées”, et que le nombre d’éléments se trouve dans la gamme des valeurs autorisées, IDL utilise automatiquement le thread pool. Modification des paramètres du thread pool avec la routine CPU TPOOL_MAX_ELTS : nombre maximal d’éléments dans le calcul TPOOL_MIN_ELTS : nombre minimal d’éléments dans le calcul TPOOL_NTHREADS : nombre de threads à utiliser pour le calcul 0 : utilisation du nombre de threads par défaut défini dans !CPU 1 : un seul thread (désactivation du thread pool) RESET : utilisation des paramètres par défaut de !CPU

Visual Information Solutions Exemple ; Retrieve the current thread pool settings threadpool = !CPU ; Modify the thread pool settings CPU, TPOOL_MAX_ELTS = , $ TPOOL_MIN_ELTS = 50000, $ TPOOL_NTHREADS = 2 ; Create 65,341 elements of floating point data theta = FINDGEN(361, 181) ; Perform computations, using 2 threads sineSquared = 1. - (COS(!DTOR*theta))^2 next computation etc. ; Modify thread pool settings for new data type CPU, TPOOL_MAX_ELTS = 50000, TPOOL_MIN_ELTS = ; Create 65,341 elements of double precision data theta = DINDGEN(361, 181) ; Perform computation sineSquared = 1. - (COS(!DTOR*theta))^2 next computation etc. ;Return thread pool settings to their initial values CPU, TPOOL_MAX_ELTS = threadpool.TPOOL_MAX_ELTS, $ TPOOL_MIN_ELTS = threadpool.TPOOL_MIN_ELTS, $ TPOOL_NTHREADS = threadpool.HW_NCPU