Contenu Systèmes de test parallèles Multithreading Synchronisation

Slides:



Advertisements
Présentations similaires
Le débogage Semaine 12 Version A15. Plan de leçon - Débogage  Commentaire javadoc  Définition  Fonctionnement  Point d’arrêt  Exécution  Contrôler.
Advertisements

1 Mes premiers pas avec la Numériclé Sommaire.
Le DOM Le Document Object Model (DOM) est une interface de programmation pour les documents HTML et XML Il fournit une représentation structurée du document.
- Université Kasdi Merbah -Ouargla Faculté des Sciences de la technologie et Sciences de la matière Département de génie électrique Réalisation du banc.
Master ESEEC Rédaction de documents (longs) structurés Patrice Séébold Bureau 109, Bât B.
Système d’annotation et de détection de modèle de véhicule Université de Sfax *** Institut Supérieur d’Informatique et de Multimédia de Sfax Réalisé par.
Module S41 Chapitre 11  Configuration de Windows XP Professionnel pour l'informatique mobile.
Module S41 Chapitre 6 Résolution des problèmes liés au processus d'amorçage et au système.
Mise en place d’un système de partage de fichiers
Mettre à jour les données
Threads et Lightweight Processes
Hot Standby Router Protocol (HSRP) - Partage de charge
6GEN720 Réseaux d’ordinateurs
DOC MYCK : Programmation
Utiliser le dossier Mon EBSCOhost
Qu'est-ce que POSIX? Une librairie en langage C
Spip / Joomla...en 1h ! Mercredi 30 Avril 2008.
Javadoc et débogueur Semaine 03 Version A17.
La suite logicielle au service des Cumas
UNIVERSITE HASSIBA BENBOUALI CHLEF
L'approche asynchrone.
Principes de programmation (suite)
Les fonctions.
Les fonctions.
Chapitre 12 Surveillance des ressources et des performances
Module S41 Chapitre 9  Configuration de Microsoft Windows 7 pour fonctionner sur des réseaux Microsoft.
fonctionnalités iiS iis
Produire, collaborer, partager avec un blog d’école
Classification des archtecutres paralleles
Difficultés de programmation
Développement Mobile : Android
Module 5 : Gestion des disques.
Réalisation d’une application web sous le thème: «Mon vétérinaire » par : Benzineb Asmaa et Meftahi Oualid Présentation à Université Saad Dahlab Blida.
Système flexible de Workflow pour la plate-forme Motu
Windows Server 2012 Objectifs
Programmation Android Debugger ses applications
Formules de calculs et Fonctions. Structure des formules de calcul Commencez toujours votre calcul par le signe =, ensuite sans laisser d’espaces, placez.
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Tutoriel MATLAB-SIMULINK Projet UNIT 2009 Partenariat : Ecole des Mines d’Alès Ecole des Mines de Saint Etienne Université de Nice Sophia-Antipolis.
Système d’exploitation
Calcul Scientifique Initiation à SCILB
ACP Analyse en Composantes Principales
Bases de données sous Access. Initiation aux bases de données  Structure d’une base de données.
Chapitre2: SGBD et Datawarehouse. On pourrait se demander pourquoi ne pas utiliser un SGBD pour réaliser cette structure d'informatique décisionnelle.
En savoir plus Microsoft Actualités SharePoint
Vous avez dit OCES? 1 Objectifs
Programmation Android Les listes
Introdution  Le test appartient à l'activité de Vérification et de Validation d'une application, qui consiste à déterminer si cette dernière a été développée.
DESIGN PATTERN BUILDER KADRI LOUBNA CHARMATI SEWSEN.
BIOS- OS Environnement logiciel PC / Traitement numérique / Contrôle.
Nom du produit.
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
La collecte d’informations Présenté par: Boudries. S.
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Principes de programmation (suite)
1. Organiser le système d’information commerciale 1.1. Le contenu
Threads et Lightweight Processes
Encadré par : M. Mohammad EL GHABZOURI Elaboré par : - AZEGAMOUT Mohamed - ABOULKACEM abdelouahed - GOUN Ayoub EXPOSÉ Sous le thème : SER 2018 Parallélisme.
Notions d'architecture client-serveur. Présentation de l'architecture d'un système client/serveur Des machines clientes contactent un serveur qui leur.
Tableau de bord d’un système de recommandation
Présenter une méthode d’apprentissage - Intervenir in situ
Test de performances. Test de performances:  Un test de performance est un test dont l'objectif est de déterminer la performance d'un système informatique.
Formation Dragon NaturallySpeaking
POUQUOI AVOIR UTILISE LE VIRTUEL POUR NOS T.P.
YII Yes It Is !.
Boulain Joris, Handouz Yassine, Regnier Fabien, Giraud Antoine
Comment aller plus loin avec Zotero? Comité d’Aide à la Publication, FMT Zotero worshop Hand’s on session Zotero worshop Hand’s on session 12h-12h30.
L’apprentissage par la robotique Mr. Zouari Lazhar
La programmation dynamique
Transcription de la présentation:

Créer des systèmes de test parallèles avec TestStand pour optimiser les performances

Contenu Systèmes de test parallèles Multithreading Synchronisation Partage des ressources Cette présentation traite des différents aspects de la construction d’un système de test parallèle avec TestStand. Nous verrons dans un premier temps les avantages des systèmes de test parallèles et comment ces systèmes peuvent benéficier du multithreading. Nous étudierons ensuite le multithreading et sa mise en œuvre avec TestStand. Puis, nous verrons les différentes précautions à prendre lors de création d’applications multithread. Enfin, nous aborderons le partage des ressources dans une application multithread (fichiers, base de données, instruments…)

Le moteur TestStand Multithreading Facilite la programmation des tâches parallèles Systèmes de test distribués Testeurs parallèles Le cœur de TestStand est le moteur TestStand. Ce moteur est multithread, ce qui offre de nombreux avantages. Nous allons nous concentrer sur l’un de ces avantages : les systèmes de test parallèles.

Systèmes de test parallèles Pourquoi des systèmes de test parallèles ? Meilleures performances de test Réduction du temps de test Réduction du coût Partage des instruments entre les unités de test Gain de place Afin de réduire les coûts et d’augmenter les performances de test, de plus en plus d’entreprises s’intéressent aux systèmes de test parallèles. En partageant des instruments coûteux entre plusieurs systèmes de test, le coût de test et l’espace utilisé sont réduits. Les systèmes de test parallèles vous permettent donc d’utiliser plus de systèmes de tests et d’optimiser ainsi les performances de test.

Multithreading TestStand Lance des exécutions séparées pour chaque unité de test Passage de différents paramètres pour chaque exécution Pour utiliser le multithread avec TestStand, il suffit de lancer des exécutions séparées pour chaque unité de test. Chaque exécution lance la séquence de test associée au produit Vous avez la possibilité de passer des paramètres lors du lancement de chaque exécution.

Multithreading Test Sequence Exécution Séquence Exécution Step 1 Step 2 . Step x Test Sequence Exécution Séquence Step 1 Step 2 . Step x Test Sequence Exécution

Méthodes de l’API TestStand Engine.GetSequenceFile (sequenceFilePath, getSeqFileFlags) Engine.NewExecution( sequenceFileParam, sequenceName, processModelParam, breakAtFirstStep, executionTypeMaskParam [, sequenceArgsParam] [, editArgsParam] [, InteractiveArgsParam]) Deux méthodes de l’API TestStand sont très importantes pour la création de système de test parallèle : Engine.GetSequenceFile (sequenceFilePath, getSeqFileFlags) sequenceFilePath : une chaîne de caractère qui contient le chemin du fichier séquence. getSeqFileFlags : cette constante permet de modifier le comportement de la méthode Engine.GetSequenceFile. Engine.NewExecution( sequenceFileParam, sequenceName, processModelParam, breakAtFirstStep, executionTypeMaskParam [, sequenceArgsParam] [,editArgsParam] [, InteractiveArgsParam]) sequenceFileParam : objet “fichier séquence” associé à la séquence à exécuter. sequenceName : nom de la séquence ou du point d’entrée du process model à exécuter. processModelParam : objet associé au fichier séquence du process model (utilisé si vous voulez exécuter un point d’entrée du process model).

Méthodes de l’API TestStand – Suite breakAtFirstStep : permet de suspendre l’exécution dès le premier step. executionTypeMaskParam : ExecTypeMask_Normal ou ExecTypeMask_InitiallyHidden sequenceArgsParam : objet “PropertyObject” qui contient les arguments de la séquence que vous voulez exécuter. editArgsParam : objet “EditArgs” indiquant les éléments sélectionnés dans l’interface opérateur. InteractiveArgsParam : objet “InteractiveArgs” indiquant quels steps sont sélectionnés dans l’interface opérateur et possédant les informations de bouclage nécessaire à l’exécution.

Démo : Multithreading Exemple d’exécution parallèle Comparaison entre une ou quatre exécutions lancées en parallèle

Multithreading Précautions d’utilisation Synchronisation des modules de test Dépendance des steps Partage des ressources : fichiers base de données instruments La synchronisation des steps est l’un des aspects très importants du multithreading. Elle va permettre de partager des ressources. Imaginons un système de test où deux exécutions parallèles ont besoin d’accéder au même instrument. La ressource, dans ce cas l’instrument, doit être vérouillée pour qu’une seule exécution à la fois puisse y accéder. Nous détaillerons cela plus loin dans la présentation.

Scenarii de test Differents scenarii possibles Test de PCB Plusieurs unités sur un PCB Test de produits finis Unités indépendantes Il est possible de diviser les systèmes de test parallèles en deux catégories. Considérons premièrement un PCB (Printed Circuit Board) avec plusieurs unités. Le PCB est chargé dans le testeur. Puis les exécutions des séquences de test de chaque unité du PCB sont lancées simultanément et toutes se terminent avant le chargement d’un nouveau PCB. L’autre solution est plus courante dans le test de produits finis. Dans cette configuration, chaque unité est indépendante. L’exécution démarre dès que le produit est chargé dans le système de test même si un autre produit est en cours de test.

Scenarii de test PCB avec plusieurs unités à tester Début du test Exécution de la séquence de test Exécution de la séquence de test Attente de la fin des séquences autre PCB? Oui

Démo - Scenarii de test Test d’un PCB : plusieurs unités à tester

Scenarii de test Unités à tester indépendantes (ex : test de produits finis) Début du test Exécution de la séquence de test Exécution de la séquence de test Attente de la fin de la séquence Attente de la fin de la séquence Autre unité ? Autre Unité ? Oui Oui Non Non Fin

Demo : Scenarii de test Test de produits finis : unités indépendantes

Synchronisation des tests Pourquoi synchroniser les tests ? Possibilité de créer des steps dépendants (l’exécution d’un step depend de l’exécution d’un autre step) Partage d’instruments, base de données, fichiers...

Synchronisation des tests LabVIEW™ Queues Sémaphores Rendezvous LabWindows/CVI™, C/C++ fonctions du Win32 SDK sections critiques sémaphores etc. Pour les programmeurs LabVIEW, la synchronisation se fait à l’aide des VIs dédiés à la synchronisation (queues, sémaphore ou rendez-vous). Pour les compilateurs C/C++, vous devez utiliser les fonctionalités du Win32 SDK. LabWindows/CVI fournit en plus une bibliothèque simplifiant la programmation multithread.

Partage des ressources Instruments IVI (Interchangeable Virtual Instruments) Multithread safe Cache d’état Les drivers IVI sont multithread safe, ce qui signifie que vous pouvez développer des applications multithread avancées utilisant les drivers IVI sans aucune adaptation. Les drivers IVI possèdent un moteur cache d’état qui conserve la configuration de l’instrument. Grâce à cela, les drivers IVI se comportent intelligemment et ne modifient les paramètres d’un instrument que lorsque cela est nécessaire. Les performances sont ainsi augmantées.

Démo : Partage de Ressources Partage d’instruments

Q & A Questions ?