Table of Contents
Les architectes des systèmes de test doivent appréhender des technologies en perpétuelle évolution, comme les processeurs multicœurs et les bus de données haute vitesse, au fur et à mesure qu'ils les conçoivent, les développent et les mettent en œuvre.
Frank Lloyd Wright, architecte influent du 20ème siècle, a dit : “Tout grand architecte... doit être interprète de son temps, de son jour, de son âge.” La même chose s'applique aux architectes de systèmes de test. Ils doivent appréhender des technologies en perpétuelle évolution, comme les processeurs multicœurs et les bus de données haute vitesse comme lePCI Express, au fur et à mesure qu'ils conçoivent, développent et mettent en œuvre les systèmes qu'on leur a demandé de construire. En combinant ces technologies au logiciel NI LabVIEW et au logiciel de gestion de test NI TestStand, les ingénieurs de test peuvent créer des systèmes de test performants, capables de traitement et de mesures parallèles, et même d'un test complètement parallèle pour la production.
Traitement parallèle
Dans les conceptions traditionnelles à base de CPU, les performances sont limitées par des défis pratiques comme la dissipation de la chaleur dues aux vitesses d'horloge élevées. Pour garantir que la plate-forme PC suive le rythme des besoins croissants en matière de traitement, les fabricants de circuits sont en train de développer de nouveaux processeurs dotés de plusieurs cœurs de traitement. Pour que les applications de test automatisé tirent parti des performances et du débit de la technologie multicœur, les applications logicielles doivent pouvoir cibler les nombreux cœurs de traitement en créant plusieurs threads qui s'exécutent sur chaque cœur.

[+] Enlarge Image
Figure n°1. Le compilateur LabVIEW crée des threads d'exécution séparés pour des portions parallèles de code,
sans nécessiter une configuration utilisateur.
Cependant, écrire des applications multithread dans un langage de programmation textuel, comme le C, n'est pas évident pour la plupart des ingénieurs en conception et en test et nécessite une connaissance de la sémantique de création et de gestion des threads, et l'acheminement les données entre eux de manière "thread-safe". En utilisant des environnements de programmation graphique, comme NI LabVIEW, les ingénieurs peuvent exploiter pleinement la puissance de traitement multicœur. Comme le montre la Figure n°1, deux boucles dans LabVIEW qui ne partagent pas une dépendance de données, s'exécutent automatiquement dans des threads séparés tout en faisant abstraction des détails de la gestion de ces threads au développeur.
Mesures parallèles
Des mesures parallèles nécessitent bien d'autres sous-composantes dans un système de test, et non pas juste la composante de traitement, pour supporter un modèle parallèle. Cela inclut l'acquisition et le transfert de données.
Figure n°2. Le PCI Express offre une bande passante dédiée au lieu d'un transfert de données partagé, augmentant de façon significative la quantité de données que vous pouvez acquérir et transférer en continu sur disque.
Les bus de transfert de données les plus courants pour l'instrumentation modulaire actuelle, comme le PCI, USB, Ethernet et le GPIB, ne supportent pas un modèle de transfert de données vraiment parallèle parce que les périphériques présents sur le bus partagent la bande passante. Si la vitesse cumulée d'acquisition ou de génération des périphériques d'E/S est supérieure à celle du bus, alors les données risquent d'être perdues. Une solution courante à ce problème est d'effectuer des mesures de façon séquentielle et d'intégrer des buffers importants de mémoire embarquée sur le périphérique d'E/S de sorte que les données ne soient pas perdues en attendant une disponibilité sur le bus de communication.
À l'inverse, le PCI Express, le tout dernier né des bus de transfert de données haute performance, offre une bande passante dédiée pour chaque périphérique tout en offrant un débit plus élevé que n'importe quel autre bus de communication précédemment mentionné. Disponible en versions x1, x4, x8 et x16 lignes (prononcer "fois 1", "fois 4", etc.), le PCI Express offre 250 Mo/s de débit utilisable par ligne. Les options x1 et x4 sont les plus courantes pour le matériel de la classe instrument et offre, respectivement, 250 Mo/s et 1 Go/s (quatre canaux à 250 Mo/s) de débit dédié.

[+] Enlarge Image
Figure n°3. Le PCI Express et l'instrumentation modulaire offrent un modèle évolutif pour les mesures parallèles.
Au fur et à mesure qu'une carte PCI Express acquiert des données, ces dernières sont transférées de la mémoire embarquée sur un canal PCI Express dédié et transmises en continu sur disque ou vers la mémoire du système. Une fois dans la mémoire du système, l'application LabVIEW peut accéder aux données, et si elle est utilisée avec un processeur multicœur, la mesure parallèle est accomplie du signal à la mesure finale.
Test parallèle
Avec le traitement par multicœur, le PCI Express et LabVIEW, les architectes de test peuvent au minimum créer des systèmes de mesures parallèles capables de tester une unité sous test à la fois. Pourtant, la définition du test parallèle stipule que plusieurs unités sous test différentes doivent supporter des tests de façon simultanée. Une alternative est de tester des unités sous test de façon séquentielle, l'une après l'autre. Bien que le test en parallèle réduit clairement le temps global de test dans son ensemble, augmente le débit des tests et optimise l'utilisation des instruments (voir Figure n°4), la complexité de développer un système de test parallèle peut se révéler beaucoup plus difficile. Le développement de logiciels de gestion de test qui mettent en œuvre le test de plusieurs unités sous test de manière transparente nécessite, cependant, une compréhension bas niveau de la façon dont le système d'exploitation fonctionne avec ces opérations parallèles, comme les sections critiques sous Windows, et un intérêt particulier sur la façon de mettre en œuvre le partage d'instruments sur un grand nombre d'unités sous tests sans engendrer de conflit.

[+] Enlarge Image
Figure n°4. Tester plusieurs unités sous test en parallèle réduit le temps global de test tout en optimisant l'utilisation des instruments.
Une autre façon de développer un système de test parallèle personnalisé en partant de rien consiste à utiliser un logiciel de gestion de test standard, comme NI TestStand. NI TestStand analyse et gère la complexité bas niveau dans le cas d'un développement de systèmes de test parallèle en utilisant des fonctionnalités intégrées. Par exemple, exécuter des séquences de test dans plusieurs threads et gérer à la fois le système d'exploitation et les ressources des instruments.
Compléter l'architecture de test parallèle
Les processeurs multicœurs et le PCI Express sont en passe de changer le paysage des PC modernes et aident la programmation graphique LabVIEW à offrir un traitement vraiment parallèle et des mesures parallèles basées sur les flux de données et la logique d'un ingénieur. Si NI TestStand est aussi employé, l'architecture de test parallèle est complète. Il en résulte des systèmes de test au débit de données accru, via le PCI Express ; à la puissance de traitement accrue, via LabVIEW et un traitement multicœur, et au coût réduit des tests par unité sous test, via NI TestStand.
– S. Craig Anderson
S. Craig Anderson est Responsable Marketing logiciels de test. Il est diplômé en ingénierie électrique de l'Université Brigham Young.
Apprenez à créer des architectures de test parallèle avec LabVIEW.
Cet article a fait l'objet d'une parution dans l'exemplaire du 3ème trimestre 2007 de l'Instrumentation Newsletter.
Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).
