Articles Tagués ‘FPGA’

numalis2

Vous vous souvenez sans doute de cette nouvelle, qui date un peu, mais qui avait fait grand bruit lors de la première guerre du Golfe : le 25 février 1991, un missile SCUD irakien avait frappé la base de Dhahran, en Arabie saoudite, tuant 28 soldats américains. Après analyse, l’enquête avait montré qu’un missile MIM-104C (PAC-2) PATRIOT avait bien été lancé pour intercepter le missile, mais qu’il avait manqué sa cible en raison… d’une erreur logicielle.

La batterie de missiles Patriot de Dharan se trouvait en effet en fonction depuis plus de 100 heures, et des erreurs d’arrondi avaient progressivement amené un décalage proche d’une seconde, soit 600m, entre la position perçue de la cible, et sa position réelle. Pas d’erreur mathématique ici, mais simplement la constatation que si les maths sont justes, ce n’est pas pour cela qu’un ordinateur est capable de bien calculer.

numalis8

Ce n’est d’ailleurs pas le seul exemple d’une erreur logicielle minime ayant des conséquences dévastatrices : citons pêle-mêle l’explosion d’Ariane V en raison d’une erreur dans la gestion de l’accélération, ou encore effondrement de la plateforme Sleipner A le 23 août 1991 (décidément une annus horribilis pour les systèmes critiques) à la suite d’une erreur logicielle résultant en un défaut de conception dans la résistance des ballasts – ci-dessus. Le résultat : une plate-forme gazière reposant à plus de 200m de fond. Pour les personnes intéressées, une liste des catastrophes dues à des erreurs de ce type est accessible ici.

Le logiciel, ce n’est donc pas que du virtuel. Et c’est pour s’attaquer à ce type de problèmes qu’une start-up de Montpellier, la société NUMALIS, soutenue par le programme GENERATE du GICAT, a développé une technologie assez révolutionnaire.

numalis7

On peut la voir comme l’équivalent du correcteur orthographique de Word, mais appliqué aux codes et calculs critiques. Car plus un défaut est détecté en amont, plus on est en mesure d’en éviter les conséquences critiques. La manière classique de procéder, c’est de développer le logiciel de calcul, puis de tester le résultat en conditions réelles, ce qui est long, coûteux, mais surtout risqué ; on peut en effet passer à côté d’un défaut numérique, qui n’apparaîtra que dans certaines conditions. Numalis a développé des outils pour éviter cet écueil.

Il est impossible, pour un ordinateur, de calculer juste (oui, je sais, c’est paradoxal). Pour faire simple, du fait des contraintes matérielles, les représentations de nombres dans un microprocesseur sont bornées, alors que les mathématiciens calculent avec des nombres qui possèdent bien souvent une infinité de chiffres après la virgule. Et cela a deux conséquences : les erreurs de représentation, et les erreurs d’arrondi. Par exemple, un ordinateur ne connait pas le nombre 0,1. Il est obligé d’en réaliser une représentation binaire, ce qui pourra par exemple amener le nombre à une valeur réelle de 0.100000001490116119384765625… avec un petit souci : plus on additionne ou multiplie, plus l’écart entre le nombre envisagé et sa représentation réelle est important.

La représentation d’un nombre en virgule flottante (par exemple) est encadrée par une norme, la norme IEEE 754, qui fixe la représentation des nombres, les formats des données, les valeurs spéciales, les modes d’arrondi les règles de conversion et le comportement des opérations élémentaires pour l’arithmétique à virgule flottante. Pourtant, il est impossible de représenter exactement tous les nombres avec la norme IEEE 754. Car même si la norme définit des règles, le problème majeur du calcul flottant reste les erreurs d’arrondi dont les principales sources sont l’annulation catastrophique, l’absorption et l’accumulation des erreurs (un exemple ci-dessous).

numalis1

C’est là que Numalis intervient. La société fondée par Arnault Ioualalen (ci-dessous) se veut le correcteur orthographique du code critique. Elle s’est spécialisée dans l’analyse et l’optimisation de la fiabilité et des performances des calculs numériques, avec des produits permettant de réaliser de manière automatique un audit numérique de codes critiques ainsi qu’une correction également automatique et une optimisation de ces codes.

numalis5

Le but est d’anticiper les défauts numériques dès la phase de conception, avec un outil qui surligne, à la manière d’un correcteur, les lignes du programme présentant un risque, et qui les améliore d’un simple clic.

Les solutions de Numalis (baptisées Spoat et Wizoat) sont capables d’analyser le code C, C++ et bientôt Ada2012, et d’en détecter les erreurs comme la division par zéro, la dérive catastrophique d’un code numérique, le dépassement (overflow), etc…  La gamme Spoat détecte les vulnérabilités numériques par une technique appelée analyse multispectrale de code, et met en avant les axes d’amélioration. La gamme Wizoat propose des patchs du code source pour améliorer sa qualité et/ou sa performance de calculs.

Outre le fait de pouvoir détecter, avant les phases de tests, la fiabilité des systèmes critiques, les outils de Numalis permettent d’augmenter la fiabilité des calculs, d’améliorer leurs performances (rapidité de traitement, par exemple dans le traitement sol d’images satellites) et de réaliser un arbitrage entre précision et performance au niveau matériel comme logiciel, par exemple pour des systèmes embarqués utilisant des FPGA (« field programmable gate arrays », des processeurs reprogrammables).

Dans le domaine de la défense, les applications sont évidemment nombreuses, qu’il s’agisse de garantir la fiabilité des systèmes critiques (par exemple pour des commandes de vol, des autodirecteurs, etc.), d’améliorer la performance des systèmes de traitement temps réel (image, ROEM,…)

numalis6

Fondée en novembre 2015, Numalis a été labellisée dans le cadre du dispositif GENERATE du GICAT, et vient d’obtenir le prix innovation du public lors du challenge « start-ups » de l’université d’été du MEDEF – ci-dessus. Une société à suivre…

 

sc26

Encore un projet (de plus) porté par la (désormais trop) récurrente DARPA. Le Colosseum (Colisée en anglais) porte bien son nom : implanté dans le Maryland au sein du Johns Hopkins University Applied Physics Laboratory (APL), il s’agit d’un nouvel équipement qui vient d’être mis en service. Et effectivement, il est impressionnant.

Son objectif : constituer un environnement expérimental permettant de créer et d’étudier de nouveaux concepts pour la gestion de l’accès au spectre électromagnétique civil et militaire. Très concrètement, il s’agit d’une pièce de 6mx10m, remplie de racks de serveurs. Pas vraiment impressionnant, du moins sur le plan physique. Dans le monde virtuel, c’est autre chose.

sc23

Car le Colosseum est capable d’émuler plusieurs dizaines de milliers d’interactions possibles entre des centaines de terminaux sans fils : radios civiles et militaires, objets communicants, téléphones portables… C’est comme si l’on se trouvait dans un environnement d’un km2, empli d’objets communiquant simultanément et interagissant. Pour être encore plus clair, le Colosseum fait « croire » à ces radios qu’elles sont immergées dans un environnement donné, fixé par l’utilisateur : centre urbain, théâtre d’opérations, centre commercial, forêt vierge ou désert… Et il peut simuler plus de 65000 interactions entre 256 terminaux connectés, chaque terminal opérant comme s’il disposait de 100MHz de bande passante. En tout, le Colosseum manipule donc 25GHz de bande passante. Chaque seconde (oui, seconde), le Colosseum gère 52 Teraoctets de données. Pas mal…

Le Colosseum est une pièce centrale d’un projet baptisé SC2 pour Spectrum Collaboration Challenge, une compétition visant à changer radicalement la manière dont les futurs systèmes de communication sont conçus.

sc21

En l’occurrence, au lieu de pré-programmer ces futurs systèmes (comme cela est réalisé aujourd’hui dans la totalité des cas), le projet SC2 vise à développer des nouveaux systèmes de communication adaptatifs, capables d’apprendre en temps réel en fonction de l’environnement, de leur historique d’emploi, et des interactions avec les autres systèmes de communication.

sc27

L’idée est d’utiliser des technologies d’intelligence artificielle pour optimiser la stratégie de communication en temps réel : exploiter les failles dans le spectre électromagnétique, établir des partages de spectre, mettre en place des stratégies collaboratives permettant d’assurer la continuité et l’efficacité des communications entre plusieurs radios ou objets connectés. Les critères pour ce réseau radio « intelligent » de nouvelle génération (donc les règles du challenge SC2) sont de développer :

  • Un réseau radio reconfigurable
  • Un réseau capable d’observer, d’analyser et de « comprendre » son environnement (en termes de spectre électromagnétique)
  • Un réseau capable de raisonnement : quelle action entreprendre pour garantir une bonne communication dans un environnement donné
  • Un réseau capable de contextualiser : utiliser de l’apprentissage pour surmonter des aléas et exploiter au mieux le spectre électromagnétique
  • Un réseau capable de collaborer en travaillant avec d’autres systèmes, même nouveaux.

sc22

Pour émuler un environnement permettant de tester et d’entraîner cette intelligence artificielle, le Colosseum utilise 128 SDR (software defined radios ou radios logicielles). Ces radios sont couplées à 64 FPGAs (on va simplifier : des processeurs reconfigurables – image ci-dessous) permettant de moduler le comportement des radios logicielles pour reproduire les environnements électromagnétiques ciblés. Et tout cela dans un environnement de type cloud, permettant à plus de 30 équipes de recherche d’accéder au Colosseum (5 équipes en simultané), pour la compétition SC2.

sc24

Dotée d’un prix de 2 millions de dollars pour l’équipe gagnante, la compétition durera 3 ans, et s’achèvera donc début 2020 après trois phases, la dernière devant départager les deux meilleures équipes. Il s’agit une fois de plus de l’illustration de la créativité de l’agence, qui a souvent recours à ce type de « grand challenge » pour trouver des solutions originales et efficaces à des défis capacitaires. Pour plus d’informations, le site SC2 est ouvert et accessible en ligne: http://spectrumcollaborationchallenge.com/

lotus1

De retour de Floride, je peux maintenant achever cette série sur le forum Innovation de la DGA, avec une dernière volée d’innovation (et évidemment, ce n’est pas parce que j’en parle maintenant qu’elles sont moins intéressantes). Bien entendu, je n’ai aucune prétention à l’exhaustivité, et je ne rends compte ici que des innovations que j’ai pu voir ou des équipes de recherche avec qui j’ai pu converser. Vous trouverez sur Internet nombre d’autres articles sur l’événement, mais voici donc la fin de ma sélection toute personnelle.

La feuille de Lotus et l’aéronautique

Encore une innovation parrainée par une personnalité de la DGA, en l’occurrence le pétillant et incisif Ingénieur général de classe exceptionnelle Christian Chabbert: FATAA. L’acronyme (oui, parce qu’à la DGA, on aime bien les acronymes) signifie Film Alternative (sic) au Tedlar (re-sic) ; amélioration d’aéronefs. Et il s’agit d’un sujet qui me parle particulièrement : le biomimétisme (voir cet article pour ceux qui sont intéressés au domaine).

lotus7

L’innovation s’inspire de la feuille de Lotus, et en particulier des capacités superhydrophobes de sa surface. Ce n’est pas un thème nouveau : depuis longtemps, les propriétés de la feuille de lotus sont connues et observées, et plusieurs travaux s’en inspirent. La feuille de ce végétal a en effet la capacité de repousser les gouttes d’eau qui glissent sur sa surface – le résultat étant que la feuille reste toujours propre ce qui permet à la fois de maximiser sa capacité de photosynthèse, et d’éviter toute colonisation microbienne. Cette propriété superhydrophobe est due à une rugosité nanométrique : la surface de la feuille est hérissée de nano-pics eux-même revêtus d’une cire hydrophobe (voir la représentation ci-dessus).

La capacité de la feuille de lotus à s’auto-nettoyer est connue depuis longtemps et inspire de nombreuses innovations (la NASA a elle-même utilisé cette propriété pour développer des textiles autonettoyants pour l’exploration lunaire – voir image ci-dessous, regardez le poster en arrière-plan).

nasabiom

Le projet FATAA quant à lui s’intéresse aux propriétés de cette surface afin de développer une application pour les composites thermodurcissables en aéronautique. Il associe quatre partenaires : les sociétés EXPIRIS et Fluorotechnique, ainsi que l’Université Pierre et Marie Curie et le Collège de France.

L’objectif est de remplacer le Tedlar®, un matériau (polyfluorure de Vinyle) développé par DuPont, et permettant de protéger des surfaces exposées à un environnement hostile. L’objectif de ce projet RAPID de 39 mois était de développer une alternative au Tedlar® (qui fait l’objet d’un arrêt de production pour son utilisation aéronautique) en améliorant la performance de la protection, l’étanchéité, la facilité de mise en œuvre, et de répondre au défi de l’obsolescence, tout ceci dans une perspective de développement durable.

lotus2

Le résultat ? Un revêtement en spray, éco-neutre et inerte chimiquement, que l’on peut appliquer sur une structure composite (on peut même le peindre après coup). En mimant, à l’échelle nanométrique, les propriétés de la feuille de lotus, on obtient un résultat d’autant plus impressionnant que le film est appliqué en spray. Sur l’image ci-dessous, on voit les gouttes glisser sur la surface traitée (contour rouge) alors que sur le lettrage, non traité, elles s’étalent (contour bleu).

20161123_140146_resized

Un projet novateur, et dual, avec des applications hors domaine de la défense, en photovoltaïque ou en aéronautique civile. En tout cas une innovation impressionnante à la fois en termes de capacité et de facilité de mise en oeuvre.

Les capteurs abandonnés et neurones à spikes

Un petit ajout à mon article sur AXONE, après avoir rebouclé vers le directeur de l’ISL, Christian de Villemagne : j’ai écrit à tort que le FPGA était uniquement conçu par la société Global Sensing Technologies. En réalité, le classifieur est un produit ISL, GST ayant intégré la technologie SpikeNet dans AXONE. Le projet SmartCam utilise d’ailleurs cette architecture (les cartes étant celles utilisée dans le projet AXONE).

lotus3

Au passage, cette technologie de classifieur par FPGA capable de faire de la reconnaissance de forme et développée par l’ISL a été récompensée par le prix 2016 de l’Ingénieur Général Chanson (un prix décerné chaque année par l’Association de l’Armement Terrestre (AAT), récompense des travaux permettant des progrès importants dans le domaine).

lotus4

En l’occurrence, il s’agissait de mettre en œuvre cette approche au sein d’un capteur autonome intelligent abandonné dénommé B-SAVED, doté d’une autonomie de 4 jours, et possédant, outre l’IA embarquée, un GPS et un module de communication. La version actuelle a été développée pour le 13e RDP.

lotus5

Voila, ce petit rectificatif méritait d’être mentionné. Outre les innovations décrites, de nombreux autres projets étaient présentés lors du forum (citons ainsi les projets de détection et de classification de cibles multispectrales dans l’infrarouge, de vision au-delà d’un obstacle par utilisation des multi-réflexions de photons, de la pile à combustible du fantassin, d’un réservoir capable de résister à l’impact d’une balle de 12,7 mm ou encore de la surveillance automatique des ondes cérébrales (projet MEEGAPERF) pour repérer les signes dans l’activité cérébrale qui permettent d’anticiper des ruptures de performances). Mais ce sera pour une autre fois…

20161123_115905_resized

Vous êtes quelques-uns à reprocher (gentiment) à ce blog une certaine orientation vers la recherche américaine. Ce n’est pas une volonté, mais une conséquence (1) des conséquents budgets américains en termes de R&D de défense et (2) d’une maîtrise certaine de la communication par nos voisins outre-Atlantique (les amenant d’ailleurs parfois à communiquer avec un certain talent des programmes politiques n’ayant pas grand-chose à voir avec la réalité, je dis ça comme ça….).

Une fois par an, la DGA organise son Forum Innovation. C’était hier et aujourd’hui, sur le site de Palaiseau, et pour le coup, cela amène une réelle volonté active de communication de la part à la fois de institutionnels, mais aussi des laboratoires et des petites entreprises. J’ai donc fait mon marché de l’innovation, en voici un premier résultat.

20161123_115841_resized

Le projet s’appelle AXONE. Il s’agit d’un système neuronal artificiel capable de réaliser des tâches d’analyse de scène en temps réel. Il s’agit du résultat d’un projet RAPID (Régime d’Appui pour l’Innovation Duale – voir la page de référence ici ) associant l’Institut Saint-Louis, la société Spikenet Technologies et la société GlobalSensing Technologies.

L’idée est d’utiliser un certain type de réseaux de neurones artificiels, les neurones à Spike, pour procéder à l’analyse en temps réel d’une scène visuelle, et de les embarquer sur des composants dédiés (SoC ou Systems on Chips). Je vais essayer d’expliquer simplement le concept – et ce, d’autant plus que j’avais travaillé il y a plus de vingt ans avec le Pr Simon Thorpe, créateur de la technologie SpikeNet (il me semble que j’ai même commis un article sur le sujet…).

20161123_115838_resized

Pour faire simple : en neurobiologie, on se pose depuis longtemps la question de la nature du codage de l’information par les neurones. La théorie générale est fondée sur un codage fréquentiel de l’information (fréquence des décharges électriques). Mais il existe une autre théorie reposant sur un codage temporel de l’information : le codage serait fait par des impulsions (spikes) ou plus précisément par les instants d’émission des impulsions. On prend donc en compte l’aspect temporel. Un réseau artificiel de neurones à spike est conçu pour simuler des réseaux qui contiennent un nombre très grand de neurones à décharge asynchrone et qui apprennent par codage des séquences de décharge. On appelle cela le codage par rangs (évidemment, je simplifie). Cette technologie est très utilisée pour la reconnaissance de formes, et en particulier le traitement d’images.

L’intérêt de cette technologie est que le temps d’apprentissage est très rapide, et très tolérant (aux conditions d’illumination, au bruit, aux contrastes…). Dans le projet AXONE, les participants ont ainsi pu implanter un réseau de neurones à spike sur une carte dédiée (ce que l’on appelle un processeur FPGA). En gros, il s’agit d’un processeur reconfigurable, comportant 1024 neurones artificiels, et conçue par la société GlobalSensing Technologies. Avec SpikeNet et l’ISL, et en 24 mois, les acteurs du projet AXONE ont réalisé une caméra reconfigurable générant des Spikes en lieu et place des images. Le travail a ainsi consisté (outre évidemment l’algorithmique sous-jacente) à intégrer ce réseau de neurones artificiel avec un capteur, au sein d’une caméra autonome, et de développer la librairie logicielle pour la mise en œuvre de ces composants.

20161123_115903_resized

Et le résultat est impressionnant. Lors de la présentation au Forum DGA, on a pu ainsi visualiser la reconnaissance de visages en temps réel (chaque visage est reconnu, en temps réel, avec sa signature unique). Les applications sont nombreuses : sécurité et surveillance de sites sensibles avec levée de doute par la caméra elle-même, capteurs abandonnés capables de réaliser une analyse in situ (voir mon article sur l’IA embarquée), et évidemment, augmentation de la capacité de reconnaissance de forme en robotique et en particulier pour les drones.

20161123_115855_resized

J’ajoute que la DGA a pris une initiative originale : celle de faire parrainer certaines innovations par des personnalités de l’institution. En l’occurrence, AXONE est parrainée par l’excellent Lionel MORIN, directeur du CATOD (Centre d’Analyse Technico-Opérationnelle de Défense) – ci-dessous.

20161123_123107_hdr_resized

Une technologie à suivre, et une excellente illustration des capacités d’innovation de l’écosystème français de la Défense – je publierai d’ailleurs bientôt d’autres articles suite à ma visite sur le forum Innovation.