La programmation graphique s'adapte aux multicoeurs
- La dernière version de LabView de National Instruments exploite au mieux les caractéristiques des microprocesseurs multicoeurs.
La course de vitesse des microprocesseurs marque le pas. L'augmentation de la puissance découle dorénavant de la multiplication des coeurs. Ce faisant, on améliore la performance sans augmenter la cadence d'horloge et donc la consommation du processeur. Pour l'instant, les microprocesseurs les plus courants comportent deux ou quatre coeurs. Mais Intel vise les 80 coeurs dans cinq ans ! Évidemment cela fait beaucoup. Nous n'en sommes pas encore là, mais il faut s'y préparer car même la présence de deux ou quatre coeurs change déjà la façon de programmer si l'on veut doper les performances d'exécution d'une application en distribuant les tâches entre les différents coeurs.
Pour exploiter pleinement la puissance des processeurs tournant en parallèle, les nouveaux logiciels doivent notamment gérer les problèmes de simultanéité. Le logiciel d'exploitation doit équilibrer la charge à travers les processeurs multiples. En fait, « disposer de plusieurs processeurs, c'est comme si un jongleur avait davantage de bras », observe John Pasquarette, directeur marketing logiciel chez National Instruments. Forcément, le jongleur serait plus rapide, mais à condition de savoir utiliser ses appendices surnuméraires !
Le temps d'exécution d'une application se raccourcit
C'est justement l'un des points forts de la nouvelle version de LabView, le logiciel de programmation graphique d'applications de test, d'acquisition de données et d'automatismes de National Instruments. LabView 8.5 divise automatiquement chaque application en plusieurs flots d'instructions et adapte l'application selon le nombre de coeurs disponibles. La programmation graphique par diagrammes et l'architecture parallèle de LabView facilitent cette distribution des tâches et le traitement de plusieurs flots d'instructions en parallèle. Mais pour assurer le déterminisme d'une fonction particulière, le programmateur peut assigner un code à un coeur de processeur spécifique afin d'assurer son traitement en temps réel.
Contrairement aux autres outils, les développeurs n'ont pas à mettre en oeuvre de nouvelles astuces de programmation pour assurer l'exécution parallèle de différents flots d'instructions. Au final, le temps d'exécution d'une application se raccourcit. Ainsi, une démonstration présentant la détection par traitement d'images d'une pièce parmi divers objets défilant sur un convoyeur est 1,8 fois plus rapide avec LabView 8.5 tournant sur un microprocesseur à double coeur.
Autre exemple, en combinant l'architecture multicoeur d'Intel et LabView, le fabricant de transmissions pour camion Eaton réalise, pour le test de ses produits, des analyses temps réels sur des PC qui peuvent être embarqués dans des véhicules et non plus sur des stations de travail.